新型出租车计价器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。
随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。
出租车计价器的功能从能够简单的自主计费,到按时间自主变动单价等功能。
随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。
现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展十分迅速。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
随着社会的发展,出租车成为人们生活中非常方便且较普遍的交通工具,但出租车计价器却相对较为落后。
在过去,出租车采用机械式计价器,用齿轮比的方式来计算出租车所跑的里程数,并由里程数来换算车费。
但是机械齿轮体积较大,计算不是很准确,而且容易磨损。
后来又采用了传感器方式,利用传感器接收车的跑动信息,从而计算里程数和车费。
随着我国交通事业的发展以及道路的不断改进,出租车作为与人民生活密切相关的行业正在飞速发展壮大。
而出租车计价器的市场也不断扩大.本课题正是在现有计价器的基础上进行改进。
现在普通的出租车计价器通常只能够计算出里程数和车费,本课题在原有的基础上进行扩展,使它能够在显示里程和车费的同时,还能够显示时钟,车的速度和加速度。
由于出租车计价器是一项技术含量高的产品,因此在设计的过程中由于经验不足,难免会有缺点存在。
由于时间关系,还有一些问题尚待改进。
关键字定时器;计数器;传感器
Abstract
In the 1970s, I began to taxi, but then the billing system are mostly imported not only inaccurate, the prices are very expensive. With the increasing depth of reform and opening up, the taxi industry momentum of development has been very prominent, and all domestic machinery manufacturers have introduced domestic meter. Taximeter functions independently from the billing, according to the time change in price, and other functions independently With the development of tourism cities, the taxi industry has become the city's window, a symbol of a city's level of civilization.
Now all major cities in the taxi industry have universal automatic meter, meter and technological development is a foregone conclusion. And some small cities have not yet universal, but with increasing speed up urban construction, a symbol of urban landscape of the taxi industry will also accelerate the development of the popularity meter is no doubt, therefore, the future of the automobile market still accounted for a very promising .
With the development of society, the taxi in which to live in a very convenient and more common means of transport, but the taxi meter is relatively backward. In the past, the use of mechanical taxi meter, and gear than the way by taxi to calculate the mileage run by Miles to convert fare. However, mechanical gear larger, the calculation is not very accurate and easy to wear. Then use the sensor, using sensors to receive the cars running, so as to calculate mileage and fares.
As China's transport development and road improvements, taxi and the people's living standard as the industry is closely related to the rapid development and expansion. The taxi meter market also continues to expand. This issue is the existing meter on the basis of improvements. Now ordinary taxi meter is usually only able to calculate the mileage and fares in this issue on the basis of the original expansion to enable it to display mileage and fares, it is also able to show the clock, the vehicle speed and acceleration . As a taxi meter is a high technological content of products, so we designed the course due to lack of experience, difficult There will be free shortcomings. Because of the time, there are still some issues to be improving.
Keyword timers counters sensors
目录
1 绪论 (1)
1.1 前言 (1)
1.2 单片机计价器的发展 (1)
1.3 单片机计价器设计的意义 (1)
2 任务要求及目标 (2)
3 总体设计方案 (3)
3.1 设计思路 (3)
3.2 设计总框图 (4)
4 检测传感器的设计 (5)
4.1 检测传感器的接口 (5)
4.2 汽车运行里程,速度,加速度,总价的关系计算 (7)
5 单片机定时器/计数器的应用设计 (9)
5.1 时钟设计 (9)
5.2 计数器功能单元的设计 (13)
6 数据的转换及数据显示单元设计 (15)
6.1 数据的转换 (15)
6.2 数据显示单元设计 (18)
7 单片机硬件电路及输入/输出接口设计 (23)
7.1 出租车计价器开关设计 (23)
7.2 8031单片机与8155的接口 (23)
7.3 地址译码器与8155和8031的连接 (25)
7.4 LED的动态扫描显示器接口电路 (26)
8 程序设计 (29)
8.1 主程序设计 (29)
8.2 定时中断服务程序 (30)
8.3 启动/清除计程中断服务程序 (30)
9 总流程图设计 (31)
10 单片机应用程序设计 (37)
结语 (38)
致谢 (39)
参考文献 (40)
附录 (41)
附录1 (41)
1 绪论
1.1 前言
毕业设计是学生综合运用所学理论战士的重要体现,是大学中必要的教学环节。
通过毕业设计,培养大学生具有一定的创新能力、实践能力和创业精神。
毕业设计在培养大学生探求真理、强化社会意识、进行科学研究基本训练、提高综合实践能力与素质等方面,具有不可替代的作用,也是教育与生产劳动和社会实践相结合的重要体现。
同时,毕业设计的质量也是衡量教学水平、学生毕业与学位资格认证的重要依据。
通过毕业设计,进一步巩固和加深对所学的基础理论、基本技能和专业知识的掌握,使之系统化、综合化。
其次,培养学生独立工作、独立思考和综合运用已学知识解决实际问题的能力,尤其注重培养学生开发创造能力和独立获取新知识的能力。
最后,使学生初步掌握科学研究的基本方法,获得从事系统科学研究的初步训练,注重科学能力和素质的培养。
在实际工程设计中,学生可以得到所学过的理论基础,技术基础,专业课全面的训练,为将来做好机械设计工程师的工作,提供全面的锻炼机会。
本论文主要论述了本次毕业设计的课题——新型出租车计价器的设计。
由于本人水平有限,文中难免有错误和不妥之处,恳请各位老师批评指正。
1.2 单片机计价器的发展
我国在70年代出现出租车,随着出租车行业的普遍和发展势头十分突出,国内各机械厂家纷纷推出国产计价器,计价器在国内也开始普及。
在过去,出租车采用机械式计价器,用齿轮比的方式来计算出租车所跑的里程数,并由里程数来换算车费。
但是机械齿轮体积较大,计算不是很准确,而且容易磨损。
后来又采用了传感器方式,利用传感器接收车的跑动信息,从而计算里程数和车费,计价器计价的准确度和耐磨损程度都得到了很大的提升,出租车计价器的功能从能够简单的自主计费,到按时间自主变动单价等功能。
随着我国交通事业的发展以及道路的不断改进,出租车作为与人民生活密切相关的行业正在飞速发展壮大,出租车计价器也在不断的提高和发展,出租车计价器的市场也将不断的扩大,出租车行业已成为城市的窗口,象征着一个城市的文明程度。
1.3 单片机计价器论文设计的意义
出租车计价器由里程传感器,单片机,显示器等部件组成。
现在普通的出租车计价器通常只能够计算出里程数和车费,本课题在原有的基础上进行扩展,使它能够在显示里程和车费的同时,还能够显示时钟,车的速度和加速度。
由于出租车计价器是一项技术含量高的产品,因此在设计的过程中由于经验不足,难免会有缺点存在。
由于时间关系,还有一些问题尚待改进。
2 任务要求及目标
要求和内容:
(1).新型出租车计价器设计总体方案设计
(2).汽车运行里程、速度、加速度检测传感器及接口电路设计,
(3).单片机硬件电路及输入/输出接口设计
(4).单片机应用程序设计
目标:
利用霍尔传感器及单片机设计出集汽车运行里程、速度、加速度显示和计价于一体的新型出租车计价器
3 总体设计方案
3.1 设计思路
出租车计价器是利用单片机计算总价并送至显示端显示的智能仪器。
众所周知,出租车是通过该仪器收费。
不过现在常见的出租车计价器只能够显示单价,总价等功能。
本设计想对这方面进行扩充,从而能够在显示单价和总价以外,还能够显示,速度,加速度等功能。
本电路是以8031单片机为中心,附加A44E霍尔传感器测量距离,来实现对出租车计价的统计,利用8155可编程I/O扩展接口与8031的连接来传输数据,输出采用八段LED 显示器,利用芯片8155和6位共阴极显示器的接口电路,实现对LED显示器的动态显示。
我们把4块小磁铁均匀的安装在汽车的车轮上面,我们利用测量工具,测量出汽车轮胎的直径,利用数学公式计算出汽车轮胎的周长,从而计算出每一个脉冲信号所表示的距离。
我们把计价器开关的一端接在电源上,另一端接在单片机的P1.0端口上,当我们开启开关的时候,单片机开始工作,开始显示。
当关闭开关的时候,计价器停止显示。
内部定时器的定时时间和计数器的位数,系统晶振频率和计数初值有关,我们根据公式t=(2N-x)*12/fosc来求出初值,并对定时器进行初始化,当定时器定时的时候,每0.01秒进行中断,当计满100次的时候(23H),向秒位进1(22H),同时把23H清0,当秒位计数满60次的时候,向分钟位进1(21H),同时把22H清0,当分钟位计满60次的时候,向小时位进1(20H),同时把21H清0,当小时位计数满24次的时候则把20H清0,各位重新开始计时,完成时钟设计。
我们利用安装在车轮上的霍尔传感器对单片机输入脉冲,车轮旋转的时候,当小磁铁靠近霍尔传感器的时候就会产生一个脉冲信号(计数器对外部输入信号进行采样,当一个机器周期的采样值为高电平,而下一个机器周期的采样值变为低电平,即输入脉冲有一个由1到0的负跳变时)计数器加1,当内部定时器秒位进1的时候,计数器读出所记录的脉冲数,将所得到的脉冲数和每个脉冲所代表的长度相乘,即可算出路程数,将路程的高位和低位分别存入R2,R3,当定时器下一个1秒到来时,计数器中断,将上一次所记录的路程的高位和低位由R2,R3分别存到30H和31H中去,然后读出这一次计数器所记录的脉冲数,将所得到的脉冲数和每个脉冲所代表的长度相乘,即可算出路程数,将路程的高位和低位分别存入R2,R3。
并根据时间,速度,加速度,位移之间的关系计算出速度和加速度。
由于在单片机内部的数据进行计算,通常都是采用二进制数,所以,所以我们要把路程,速度,加速度等数据由二进制数转化为压缩BCD码。
转化完成后,我们把这些数据拆送到显示缓冲区。
最后利用LED动态显示器进行显示。
对于路程,时钟,速度,加速度的显示,我们可以利用地址译码器,对与存储器和I/O 地址译码,产生片选信号,从而选种对应的芯片,从而在相应的接口进行显示。
最后利用八段LED显示器共阴极动态显示。
3.2 设计总框图
图3-2设计总框图
启动/清楚按扭:为1时启动计价器,为0时关闭计价器。
里程传感器:用来记录脉冲数。
单片机:在单片机中利用定时器设计出时钟,利用计数器对脉冲进行计数,并且在一定时间内读入脉冲数,进行里程,加速度和速度的计算。
地址译码器:当CE为0时,为低电平,选中该芯片,并在显示电路中,显示对应的内容。
并行口:将程序和数据传输到显示电路。
显示电路:八段LED显示器共阴极动态显示。
4 检测传感器的设计
4.1 检测传感器的接口
里程计算是通过安装在车轮上的霍尔传感器A44E检测到信号,送到单片机,经处理计算,送给显示单元的。
其原理如图4-1所示。
图中,当小磁铁靠近霍尔传感器时,产生脉冲信号,霍尔传感器将外部脉冲信号输入到单片机,图中P3.5是定时器/计数器1,计数器接收到脉冲信号就加1,当定时器秒位进1的时候,计数器就读出所记录的脉冲数。
路程=πR/4*脉冲数(R为车轮的直径,车轮上平均固定了4个小磁铁)霍尔传感器
小磁铁
8155
单片机
P3.5
车轮
图4-1 传感器测距示意图
我们采用A44E霍尔传感器,由于A44E属于开关型的霍尔传感器,其工作电压范围比较宽(4.5~18V),其输入的信号符合TTL电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到1MHZ。
图4-2霍尔传感器
A44E 集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D 和OC 门输出E 五个基本部分组成。
在输入端输入电压VCC ,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差Vh 输出,该Vh 信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC 门输出。
当施加的磁场达到 工作点 (即Bop )时,触发器输出高电压(相对于地电位),使三极管导通,此时OC 门输出端输出低电压,通常称这种状态为 开 。
当施加的磁场达到 释放点 (即Brp )时,触发器输出低电压,三极管截止,使OC 门输出高电压,这种状态为 关 。
这样两次电压变换,使霍耳开关完成了一次开关动作。
图4-3集成霍尔开关外行及接线
4.2 汽车运行里程,速度,加速度,总价的关系计算
汽车传动系统结构是由发动机,离合器,变速器等组成的。
将传感器定位在车轮附近,使其能够在接近小磁铁时,能够接受到脉冲信号,进行计数。
将4个小磁铁均匀的分布在车轮上,测量出车轮的直径。
设车轮的直径是D,车轮旋转1圈有4个脉冲。
车轮的周长为πD
每个脉冲信号所表示的距离为πD/4
路程=脉冲数×πD/4
设1次计数器所读入的脉冲数为N1,下1次计数器所读入的脉冲数为N2
S2-S1=(N2-N1)×πD/4=VT
T=1秒
所以v=S2-S1=(N2-N1)×πD/4
加速度S2-S1=(N2-N1)×πD/4=At×t
T=1秒
所以A=(N2-N1)×πR/4
设定出租车的起步价为3公里(5元),当超过起步价的时候每公里为10元。
所以总价格M为:
M=5元当S≤3公里
M=5+(S-3)×10 当S≥3公里
MOV 30H,50H ;将第1次计算所得到的距离的高位给30H
MOV 31H,51H ;将第1次计算所得到的距离的低位给31H
MOV 50H,TH1 ;输入第2次的脉冲数高位
MOV 51H, TL1 ;输入第2次的脉冲数的低位
MOV A,51H
MOV B,MCLCY ;高位和低位与每个脉冲所表示的距离相乘积
MUL AB
MOV 52H,B
MOV 53H,A
MOV A,50H
MOV B,MCLCY
MUL AB
MOV 50H,B
ADD A,53H
MOV 51H,A ;计算出距离的低位51H
MOV A,52H
ADDC A,50H
MOV 50H,A ;计算出距离的高位50H
MOV R2,50H
MOV R3,51H
MOV A,R3
MOV B,MCLCJ ; 距离的高位和低位与每公里的里程价相乘积
MUL AB
MOV R4,B
MOV R5,A
MOV A,R2
MOV B,MCLCJ
MUL AB
MOV R2,B
ADD A,R5
ADD A,#05H ;与起步价想加,计算出总价的低位R3 MOV R3,A
MOV A,R4
ADDC A,R2 ;计算出总价的高位R2
MOV R2,A
MOV 40H,R2
MOV 41H,R3
MOV A,30H
SUBB A,50H ;第2次的距离的高位减去第1次的距离高位MOV 42H,A
MOV A,31H
SUBB A,51H ;第2次距离的低位减去第1次距离的高位MOV 43H,A
5 单片机定时器/计数器的应用设计
我们采用8031单片机。
如下图:
XTAL1:接外部晶体的一端。
在单片机内部,它是反相放大器的输入端,该放大器构成了片内振荡器。
XTAL2:接外部晶体的另一端。
在单片机内部,接至上述振荡器的反相放大器端。
图5-1 8031单片机
5.1 时钟设计
设计使用一个定时/计数器每1/100 s向主机发一次中断请求信号,并利用并行接口电路完成对时钟的实时显示功能。
同时,利用动态扫描电路完成对出租车的起价和当前累计价的显示。
同时,当定时/计数器在1s中断的时候,用转移指令去执行T1,令传感器读
出所记录的脉冲数。
C/T:定时方式或计数方式选择位。
当C/T=1时。
定时器/计数器为计数方式,计数脉冲从外部引脚输入(T0为P3.4,T1为P3.5)。
当C/T=0时,定时器/计数器为定时方式,计数脉冲为内部脉冲,其计数脉冲的周期等于机器周期。
所以我们采用C/T=0
M1,M0:工作方式选择位。
定时器的工作方式由M1,M0两位的状态确定,其对应关系如表5-2所示。
定时器采用定时工作方式1,在方式1中,16位计数器由两个8位寄存器TH和TL组成。
其中TL计满溢出时,向TH进位,16位计数器计满溢出时,向定时溢出中断标志位进位,使TF0(TF1)置1。
方式1时的逻辑电路结构和控制方式计数位为16位计数器结构。
T0的定时方式,工作方式1,可知C/T=0,M1M0=01;为实现定时器的运行控制,取GATE=0
内部控制,其方式控制字TMOD应为01H,用指令MOV TMOD,#01H即可实现。
定时方式下的计数初值计算:
在定时器/计数器工作在定时方式,其定时时间t和计数器位数n,计数初值x及系统的晶振频率fosc满足下述关系:
t=(2n-x)×12/fosc
式中T=12/fosc
方式1:n=16,16
2 =65536
x=55536
55536转化为二进制数为D8F0
所以TH为0D8
TL为0F0
图5-11时钟设计的流程图各中断源的中断入口地址如下:
中断源中断入口地址
外部中断0 0003H
定时器T0中断000BH
外部中断1 0013H
定时器T1中断001BH
串行口中断0023H EA:CPU中断总允许位。
当EA=1时,CPU开放中断,而每个中断源是否允许还是禁止,分别由各自的允许位确定;当EA=0时,CPU屏蔽所有的中断申请,称为关中断,或禁止中断。
ET1:定时器T1中断允许位。
ET1=1,允许T1中断;ET1=0,禁止T1中断。
ET0:定时器T0中断允许位。
ET0=1,允许ET0中断;ET0=0,禁止T0中断。
TR1,TR0:定时器T1,T0的运行控制位。
该位由软件置位或复位,用于启动或停止定时器工作。
TR1(TR0)=1,启动定时器T1(T0)工作;TR1(TR0)=0,停止定时器T1(T0)工作。
时钟的初始化程序如下:
ORG 000BH
MOV TMOD,#01H ;设定定时器T0为定时方式1
MOV TH0,#0D8H ;设置计数初值
MOV TL0,#0F0H
SETB EA ;开中断
SETB ET0 ;定时器T0允许中断
SETB TR0 ;启动定时器T0
时钟的中断服务程序:
TO:MOV TH0,#0D8H
MOV TL0,#0F0H
PUSH PSW
PUSH ACC
SETB 0D3H ;保护
INC 23H ;0.01秒加1
MOV A,23H
CJNE A,#64H,DONE ;1秒到吗?
MOV 23H,#00H ;清0.01秒单元
MOV A,22H
ADD A,#1 ;秒加1
DA A
MOV 22H,A ;十进制调整
AJMP TT1
CJNE A,#60H,DONE ;60秒到吗?
MOV 22H,#00H ;秒单元清零
MOV A,21H
ADD A,#1
DA A ;分加1.十进制调整
MOV 21H,A
CJNE A,#60H,DONE ;60分到吗?
MOV 21H,#00H ;分单元清零
MOV A,20H
ADD A,#1
DA A ;时加1.十进制调整
MOV 20H,A
CJNE A,#24H,DONE ;24小时到吗?
MOV 20H,#00H ;时单元清零
DONE:POP ACC ;退栈
POP PSW
RETI
5.2 计数器功能单元的设计
设计使用计数器,记录外部霍尔传感器所传过来的脉冲数,当定时器每到1秒发生中断的时候,计数器也随即读出所记录的脉冲数,把所读出的脉冲数与每个脉冲数所表示的距离相乘积,从而计算出路程,在根据路程,时间,速度,加速度的关系计算出速度和加速度。
C/T=1,定时器/计数器为计数方式,计数脉冲从外部引脚输入(T1,P3.5)
M1,M0我们选择工作方式1,16位定时器/计数器。
M1=0,M0=1。
其方式控制字TMOD应为50H,用指令MOV TMOD,#50H即可实现。
计数方式下的计数初值:
定时器/计数器工作在计数方式时,计数初值可分两种情况确定。
(1)已知计数脉冲的个数C,则可按下公式计算初值x:
x=M-C=2N-C(M为计数器的模)
(2)未知计数脉冲的个数,这时计数初值可以任意设定。
但要注意初值不能超过对应工作方式时计数器的最大值。
由于出租车计价器的脉冲数是未知的,所以我们采用第2种情况,由于计数器是加1计数,如果将计数初值设定为“0”,那么,在定时器/计数器运行过程中读取的计数器的值就是计数值。
这样简化了计算和编程。
计数器的初始化编程:
MOV TMOD,50H
MOV TH1,#00H
MOV TL1,#00H
计数器的启动用JB命令进行控制。
JB P1.0,LO ;检测P1.0(出租车计价器的开关的状态)
CLR TR1 ;如果检测到P1.0=0即开关处在关闭状态,则把计数器清0
AJMP DSY ;重新检测P1.0的状态
LO:SETB TR1 ;检测到P1.0=1既开关打开了,则启动计数器T1
当定时器秒单位至1的时候,就会执行AJMP:TT1(跳转到计数器进行计算)
TT1: MOV 30H,50H
MOV 31H,51H
MOV 50H,TH1
MOV 51H, TL1
MOV A,51H
MOV B,MCLCY
MUL AB
MOV 52H,B
MOV 53H,A
MOV A,50H
MOV B,MCLCY
MUL AB
MOV 50H,B
ADD A,53H
MOV 51H,A
MOV A,52H
ADDC A,50H
MOV 50H,A
MOV R2,50H
MOV R3,51H
MOV A,R3
MOV B,MCLCJ
MUL AB
MOV R4,B MOV R5,A MOV A,R2 MOV B,MCLCJ MUL AB
MOV R2,B ADD A,R5 ADD A,#05H MOV R3,A MOV A,R4 ADDC A,R2 MOV R2,A MOV 40H,R2 MOV 41H,R3 MOV A,30H SUBB A,50H MOV 42H,A MOV A,31H SUBB A,51H MOV 43H,A MOV 40H,R2 MOV 41H,R3 MOV A,30H SUBB A,50H MOV 42H,A MOV A,31H SUBB A,51H MOV 44H,A
6 数据的转换及数据显示单元设计
6.1 数据的转换
单片机内部数据的运算,转移,数据都是二进制数形式。
要先将二进制数先转换成BCD 码。
二进制数转换为BCD码的一般算法是,把二进制数除以1000,100,10等10的各次幂,所得的商即为千,百,十位数,最后的余数为个位数。
现采用如图所示流程图的算法编写子程序。
设R0为二进制数低位字节地址指针,R7为二进制数的字节数。
R1为BCD码高位字节地址指针。
在编写程序前说明两点:
(1)n字节的二进制数转换后的压缩BCD码可能为n+1个字节
(2)用ADDC指令对BCD码自身加一次,且用DA A指令(二,十进制调整指令),实现BCD码左移一次。
DSY: MOV A,R0 ;二转十进制
MOV R5,A
MOV A,R1
MOV R6,A
MOV A,R7 ;取二进制数字字数
INC A
MOV R3,A ;十进制数字节数
CLR A
BD0: MOV @R1,A ;结果单元清0
INC R1
DJNZ R3,BD0
MOV A,R7
MOV B,#8
MUL AB ;存二进制数位数
MOV R3,A
BD3: MOV A,R5
MOV R0,A ;二进制数低位字节地址指针
MOV A,R7
MOV R2,A ;二进制数字节数
CLR C
BD1: MOV A,@R0 ;二进制数左移一位
RLC A
MOV @R0,A
INC R0
DJNZ R2,BD1
MOV A,R6
MOV R1,A
MOV A,R7
MOV R2,A
INC R2
BD2: MOV A,@R1
ADDC A,@R1 ;BCD数*2+Cy
DA A
MOV @R1,A
INC R1
DJNZ R2,BD2 ;字节数未完,转BD2
DJNZ R3,BD3 ;二进制位数未完,转BD2
图6-1 多字节二翻十流程图
6.2数据显示单元设计
采用LED显示器,LED是发光二级管,它是一种将电能转为光能的发光器件,根据制造材料的不同有发出白,红,黄,绿等不同的光来。
LED的导电性能类似普通的二极管,
正向电压约为1.5~2V,工作电流在10~20MA之间适宜。
LED显示器由七段条形的发光二极管组成,平面布置呈“日”,各段依次为a,b,c,d,e,f,g
还附带小数点dp,所以也称为八段LED显示器。
八段显示器有共阴极和共阳极两种结构。
公阳极LED显示器的所有二极管的阳极并接公共端COM,当COM接+5V时,则某一段极通过限流电阻低电平,该段点亮。
共阴极的LED显示器,当阴极COM端接地,某段二极管的阳极通过限流电阻接高电平时,该段点亮。
通过八段发光管点亮时的不同组合,可以显示0~9和A~F等字符
如果加到各段阳极上的代码不同,则控制着显示器显示不同的字符和数字,这个代码称为段码。
表6-2列出七段LED显示器(共阴极)显示的数字,字符和对应的段码的关系。
共阳极显示器的段码与共阴极显示器的段码是逻辑非的关系,所以对表1中的共阴极显示器的段码求反,即可得到共阳极显示器的段码。
LED显示器的动态显示:
所谓动态显示,就是单片机定时地对显示器件扫描。
在这种方法中,显示器件分时工作,每次只能有一件器件显示。
但由于人的视觉暂留现象,所以,仍感觉到所有的器件都在“同时”显示。
这种显示方法的优点是使用硬件少,因而价格低;但占用机时多,只要单片机不执行显示程序,就立刻停止显示。
动态显示的亮度与导通电流有关,也与点亮时间和间隔时间的比例有关。
图6-2a~6-2d采用八段LED共阴极动态显示。
(1)时钟显示显示输出
图6-2a为时钟显示(图中显示为10点00分00秒)
(2)单价路程显示输出
图6-2b为路程和单价显示(图中显示为总路程11公里,当前单价4.6元)
(3)单价总金额显示输出
图6-2c为总金额和单价显示(图中显示为总金额55.2元,每公里4.6元)
(4)速度加速度显示输出
图6-2d为速度加速度显示(图中显示的速度为15公里/小时,加速度为2.5公里/小时)
对于时钟显示,单价路程显示,单价总金额显示,速度加速度显示之四中显示输出,我们采用地址译码器对存储器和I/O口地址译码,产生片选信号,选种某个8155芯片从而进行显示。
我们74LS139地址译码器。
图6-3 74LS139的引脚图
G B A Y0 Y1 Y2 Y3
1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1
1 0 1 1 1 1 0 1 1 1 1 0
CE:片选信号,低电平有效,由CE是否有效来决定该芯片是否被选种。
由于单片的存储容量是有限的,因此需要用若干片才能组成一个实用的存储器。
地址不同的存储单元可能处于不同的芯片中,所以在访问存储器单元时,应选种其所属的芯片。
只有当片选信号(CE)加上有效信号时,才能对该芯片进行读/写操作。
一般,片选信号由地址码的高位经译码产生的。
当G=1,B=0,A=0的时候,Y0=0,Y1=1,Y2=1,Y3=1。
此时因为Y0=0输入的是低电平,所以片选信号选上了该芯片进行工作,其余的都是高电平,片选信号,其所在芯片未被选中。
7 单片机硬件电路及输入/输出接口设计
7.1出租车计价器开关设计
出租车计价器开关与单片机P1.0口相连接,利用JB P1.0 L0指令对其进行控制,当检测到P1.0=1的时候,启动定时器1(SETB TR1)当检测到P1.0=0的时候返回,重新检测.其连接如图所示:
图7-1 计价器开关接口图
7.2 8031单片机与8155的接口
图7-2 8155的引脚图
8155是有两个8位并行I/O端口A和B,一个6位并行I/O端口C,256个字节的静态RAM,一个14位定时器/计数器及其控制逻辑电路。
8155的地址数据线AD7~AD0是低8位地址线和数据总线分时复用的,当ALE=1时,输入低8位地址,否则是数据。
因此8155可直接与MCS-51单片机连接,无需另外增加地址锁存器。