2835.F出租车计价器设计报告 硬件课程设计报告_第1页
2835.F出租车计价器设计报告 硬件课程设计报告_第2页
2835.F出租车计价器设计报告 硬件课程设计报告_第3页
2835.F出租车计价器设计报告 硬件课程设计报告_第4页
2835.F出租车计价器设计报告 硬件课程设计报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机科学与技术学院硬件课程设计报告姓 名: 学 号:专 业: 计算机科学与技术 班 级: 计算机062班 设计题目:出租车计价器 成 员: 指导教师: 2008年 7月 目 录总体设计部分1. 总体方案与说明032. 硬件框图与说明 032.1 8253的说明 032.2 8255a的说 052.3 显示器的连接 073. 电路原理图 074. 软件的主要流程模块 095. 源程序清单与注释 116. 问题分析与解决方案 227. 结论与体会 228. 参考资料 231、总体方案与说明1.先在数据段开辟若干个存储单元,用来存放起步价和led灯的信息。2.主程序中分别对8253、8255a进行

2、初始化编程。用8253产生2秒的定时信号。8253的计数器0和1工作在方式2和方式 3的状态下,clk0接2mhz的脉冲频率,out0端口接clk1, out1端口接clk2 ,out2输出频率为0.5hz的方波,产生2秒脉冲。3.8255的c口工作在方式0输入,a,b口工作在方式0输出,为基本的输入输出方式。4.当产生1次脉冲时,将秒的个位加1,判断是否到指定数值,如到了则记录一次数据并清零;依次循环。2、硬件框图与说明2.1 8253的说明 8253在本实验中工作于方式2和方式3。频率为2mhz(周期为0。5微秒)的时钟直接加到clk1端,则out1端输出的脉冲周期最大只有0。5微秒*65

3、536=32。768毫秒,有一些时候是达不到要求的。8353采用级联方式。此实验中使用8253的0通道和1通道以实现级联。通道1的控制字为:01110111b。它代表的意思是:选择通道1,先读写计数器的低字节,再读/写计数器的高字节。通道1工作于方式3,采用的是bcd计数的方法。这样就能够实现所需要的功能。完成了级联的设想。8253电路连接为:clk0接(周期为0。5微秒)的时钟。0通道输出out0与1通道clk1相连,clk1输出out1与1通道clk2相连。out2输出给8255,并连结gate0 、gate1与gate2与高电平相连,保证它工作于方式0。8253的低平cs与308h相连,

4、即8253段地址为308h。用导线将其连接好就可实现其功能。在这个实验当中采用的端口的起始的地址是300h,所以分配:通道0的地址端口为300h,通道1的地址端口为301h,通道2的地址端口为302h,8253的控制端口的地址为303h。8253引脚图如下:8253一共有24条引脚,其中d7d0八条双向数据线;wr(低电平有效)写输入信号;rd(低电平有效)读输入信号;cs(低电平有效)片选输入信号;a0、a1片内寄存器地址输入信号;clk计数输入,用于输入定时基准脉冲或计数脉冲;out输出信号,以相应的电平指示计数的完成,或输出脉冲波形;gate选通输入(门控输入),用于启动或禁止计数器的操

5、作,以使计数器和计测对象同步。2.2 8255a的说明8255a工作方式0状态下,实现基本的输入输出功能。我们选择b口输出,c口高四位输出,a口输入。将电路连接完毕,即可实现8255a功能。 8255引脚图如下:8255一共有40条引脚,其中d7d0与cpu侧连接的八条双向数据线;wr(低电平有效)写输入信号;rd(低电平有效)读输入信号;cs(低电平有效)片选输入信号;a0、a1片内寄存器选择输入信号;pa7pa0a口外设双向数据线;pb7pb0b口外设双向数据线;pc7pc0c口外设双向数据线;reset复位输入信号2.3 显示器的连接当信号采集完毕后,无法让人们看到具体的脉冲,因此必须用

6、显示器将脉冲显示出来。整体的显示过程是: 8253计数,8255将其输出,输出给显示器,由显示器显示具体数字,从而完成整个过程。3、电路原理图 vcc wr rdd7d0 cs 8253 clk0out0gate2 clk1gate1 out1gate0 clk2gnd out2d7d0rd wrcsgnd pa0a1 pa1a0 8255a pa2pb7 pa3pb6 pa4pb5 pa5pb4 pa6pb3 pa7pb2 pb1 pc3pb0 pc2pc4 pc1pc5 pc0pc6 pc7d7d0vccay0 by1 c g174ls138g2ag2b gnd dp g f e d c

7、b a4321分频1/81/4+5v+5v4、软件主要模块流程图先连接好电路图(1)主程序流程图开始系统初始化写入8253的控制字 n重置计数初值,准备读取信号输入通道可选择通道0,输出可选择通道1y通道采集信号y信号输入a口检测信号n写入8255a的控制字通道信号输出 显示器显示费用信号还要经过cpu处理b、c口输出信号停止计数 结束(2)应用led灯流程图初始化地址参数有关位的显示取显示数据段码数据的输出输出位选通信号移位位选通信号下一个数据四位完成返回开始否五、源程序清单与注释:code segment assume cs:codebegin: ;对8255进行初始化,使公里数为0,价格

8、为6;8255的控制字mov dx,30bhmov al,10010000b ;a为输入,b,c口都为输出,(fan shi 1 yu fang shi 2 de qu bie )out dx,al;第一个显示器;b口输出,输出的是7段led显示mov dx,309hmov al,0c0h ;显示数字0out dx,al;c口输出,输出的是4段逻辑选择mov dx,30ahmov al,01111111b ;选中c口的pc7位out dx,al;恢复初始值mov dx,309hmov al,0ffhout dx,almov dx,30ahout dx,al;第二个显示器;b口输出,输出的是7段

9、led显示mov dx,309hmov al,0c0h ;显示数字0 out dx,al;c口输出,输出的是4段逻辑选择mov dx,30ahmov al,0c0h ;选中c口的第pc6位out dx,al;恢复初始值mov dx,309hmov al,0ffhout dx,almov dx,30ahout dx,al;8253的连接 实现0通道跟1通道的级联,计时为1秒,每1秒走一公里;2s一个周期;0通道计数初值为5000again:mov dx,303hmov al,00110101b ;方式2out dx,almov dx,300hmov al,00h ;低字节out dx,almov

10、 al,50h ;高字节 out dx,al;1通道计数初值为800mov dx,303hmov al,00110111b ;方式3out dx,al mov dx,301hmov al,00h ;低字节out dx,almov al,08h ;高字节out dx,algongli:;显示计价初值6元mov dx,309h ;b口mov bx,06hout dx,bxmov al,11101111bmov dx,30ah ;c口out dx,al;恢复初始值mov dx,309hmov al,0ffhout dx,almov dx,30ahout dx,almov cx,100hn: mov

11、dx,308hin al,dxand al,10000000bcmp al,10000000bdec cxjnz ngo: mov cx,100start: mov dx,308hin al,dxand al,10000000bcmp al,10000000bje jijiajmp jishijijia: ;计价dec cxjnz startjz encode1jishi: ;计时dec cxjnz startjz encode2encode1:mov ax,03hmov dx,bxadc ax,dxmov bx,axaaajmp aencode2:mov ax,01hmov dx,bxadc

12、 ax,dxmov bx,axaaajmp aa: cmp al,00hje bcmp al,01hje ccmp al,02hje dcmp al,03hje ecmp al,04hje fcmp al,05hje gcmp al,06hje hcmp al,07hje icmp al,08hje jcmp al,09hje k;显示b: mov bl,00111111bjmp lc: mov bl,00000110bjmp ld: mov bl,01011011bjmp le: mov bl,01001111bjmp lf: mov bl,01100110bjmp lg: mov bl,0

13、1101101bjmp lh: mov bl,01111101bjmp li: mov bl,00000111bjmp lj: mov bl,01111111bjmp lk: mov bl,01101111bjmp ll:mov dx,309h ;b口mov al,blout dx,almov al,11101111bmov dx,30ah ;c口out dx,ala1: cmp ah,00hje b1cmp ah,01hje c1cmp ah,02hje d1cmp ah,03hje e1cmp ah,04hje f1cmp ah,05hje g1cmp ah,06hje h1cmp ah,

14、07hje i1cmp ah,08hje j1cmp ah,09hje k1;显示b1: mov bl,00111111bjmp l1c1: mov bl,11111001bjmp l1d1: mov bl,10100100b jmp l1e1: mov bl,10110000b jmp l1f1: mov bl,10011001bjmp l1g1: mov bl,10010010b jmp l1h1: mov bl,10000010b jmp l1i1: mov bl,11111000b jmp l1j1: mov bl,01111111bjmp l1k1: mov bl,10010000b

15、 jmp l1l1: mov dx,309h ;b口mov al,blout dx,almov al,11011111bmov dx,30ah ;c口out dx,al;恢复初始值mov dx,309hmov al,0ffhout dx,almov dx,30ahout dx,aljmp gocode ends end begin六、问题分析与解决方案:分析出租车计价器的实现,要解决的问题是如何采集信号,并将里程和价格用七段显示器显示出来。 脉冲采集:用8253产生2秒的方波信号。通道0和1工作在方式2和3下,clk0接2m的脉冲频率,out0端口接clk1, out1端口接clk2,out2

16、输出频率为0.5hz的方波,产生2秒脉冲。8255的c口工作在方式0输入,a,b口工作在方式0输出,为基本的输入输出方式。当产生1次脉冲时,将秒的个位加1,判断是否到指定数值,如到了则记录一次数据并清零;依次循环。如何显示里程和价格:主要是利用8255a和led七段显示器的连接来显示里程和价格。七、结论与体会:一开始本实验用霍尔传感器来采集信号。但由于事先起来交不理想所以后来采取直接输入2mhz的时钟脉冲信号。最终也是以这个固定的脉冲信号实现的。 刚开始试验时,由于我的微机原理与接口技术学得很差,再加上女生的能力一般都比男生弱一点,所以有点吃力。但随着课程满满的进行,在实验的过程中跟他们在一起讨论很他们一起学习,再加上自己刻下的努力,渐渐的我弄懂了所有的芯片原理,和电路连接的原理。并和大家一起开始写代码,讨论代码运行的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论