ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:316.09KB ,
资源ID:21088870      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21088870.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(硬件设计课程设计Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

硬件设计课程设计Word文档下载推荐.docx

1、通过8255并口控制,可以达到更加人性化的效果从而方便各种人群。给8279的输入相应的数字,使数码管显示倒计时你数字,利用8279编码,实现热键的功能。关键字:8255 交通灯控制 8253 8279目录复杂交通灯的设计与编程实现 1一 需求分析: 11.1背景 11.2需求规定 1二 可行性论证报告 22.1基本设计内容分析 22.2分析流程图 22.3课程设计的设备及环境 3三系统设计 33.1基本功能设计 33.2 流程图 4四、硬件实现说明 5五、实验总结与体会 7六、参考资料 9复杂交通灯的设计与编程实现1.1背景 制作一个十字路口的交通灯,用来实现指挥一个路口车辆行人的顺利安全通行

2、。编写一个交通灯控制程序,实现东西路口与南北路口状态灯的转换。使用LED显示单元的两组LED数码管分别模拟十字路口的两组交通灯。用红黄绿led灯来显示人行道行人的通过与停止情况。由于行驶中的车辆要停下来要一些时间,要求绿灯亮后黄灯亮几秒,给人员足够的时间反应,然后等变为红灯。应该有紧急情况处理机制,遇到一些特殊情况特殊需要时启动紧急键可以控制交通灯。1.2需求规定 模拟十字路口的红绿灯,倒计时数码管显示。交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,配合倒计时显示管构成简单的交通指挥系统。红绿黄灯的具体设计如下:A南北路口红灯亮,东西路口绿灯亮,延时30秒,led数

3、码管倒计时显示;B南北路口红灯亮,东西路口绿灯灭、黄灯闪烁,闪烁时会有3秒延时;C南北路口绿灯亮,东西路口红灯亮,延时30秒,led倒计时显示;D南北路口绿灯灭、黄灯闪烁,东西路口红灯亮,闪烁时会有3秒延时;E转到A热键区设置设置热键1,第一次按下,南北路口红灯灭、东西路口绿灯亮、并且led数码管倒计时显示停止,再次按下恢复原始状态。设置热键2,第一次按下,东西路口红灯灭、南北路口绿灯亮、并且led数码管倒计时显示停止,再次按下恢复原始状态。设置热键3,第一次按下,南北路口红灯亮、东西路口绿灯亮、并且led数码管倒计时显示停止,再次按下恢复原始状态。设置热键4,第一次按下,南北路口黄灯亮、东西

4、路口黄灯亮、并且led数码管倒计时显示停止,再次按下恢复原始状态。二 可行性论证报告2.1基本设计内容分析选取两组红黄绿led灯作为东西方向和南北方向的交通灯,led灯的亮灭由8255进行控制,延时由8253实现,led数码管倒计时显示和热键设置由8279控制。将8253的0端口和1端口进行进行级联实现1秒的延时。将8255A的A口和B口设为输出方式,实现对红绿灯的控制。8255A的C口为输入方式。将8253输出信号输入到8255的C0端口,8255通过对C0端口输入信号的高低电平的判断,实现延时控制。给8279的输入相应的数字,使数码管显示倒计时你数字。利用8279编码,实现热键的功能。2.

5、2分析流程图2.3课程设计的设备及环境微型计算机原理与接口技术教学实验系统一台,计算机一台,排线若干经上述的分析,此实验可以实现。三系统设计3.1基本功能设计如右图所示的交通灯路口先初始化可编程器件8255和8253,设置初始值为30放在CX中用来计数(定为30秒),开始显示南北路口红灯亮,东西路口绿灯亮,延时30秒,led数码管倒计时显示,判断CX的值是否为0,不为0,则继续上一状态。为0则转下一个状态南北路口红灯亮,东西路口绿灯灭、黄灯闪烁的状态,再判断计数值CX是不是=0,没有则继续显示这个状态,有的话进入下一个状态,从新设置初始值为30放在CX中用来计数,显示南北路口绿灯亮,东西路口红

6、灯亮,判断计数值CX有没有=0. 如果不等于0,则继续上一状态。如果等于0则进入下一个状态南北路口绿灯灭、黄灯闪烁,东西路口红灯亮的状态,再判断计数值是不是=0,没有则继续显示这个状态,有的话转回到START继续执行,不停的循环来实现交通灯的功能。3.2 流程图注:有的流程图比如热键原理都是一样的,所以只画出一个流程图四、硬件实现说明整个设计总共需要三个芯片,分别为8253,8255,8279;设计的主要由8255芯片对系统进行整体控制。8255芯片分析:8255芯片图如下:本设计通过对8255进行编码,实现8255控制红绿黄灯的亮或灭。六个灯泡对应的端口如下表:L7L6L5L4L3L2PA0

7、PA1PA2PA3PA4PA5南北红灯南北黄灯南北绿灯东西红灯东西黄灯东西绿灯初始化: *8255初始化 MOV DX,PORTCON ;写8255控制字,A、B口均为方式0输出, MOV AL,10000001B ;c口高四输出,低四输入 OUT DX,AL 8279芯片分析:8279芯片图如下提供的实验箱中,8279已经与led七段数码管连接好,仅需要给8279片选信号,编码也很简单,只需要对8279进行初始化编程,然后向状态口输入要显示的数据,输入命令让8279显示即可。而且8279与键盘也是内部连好的,只需要程序控制。不过由于8279以前没接触过,刚开始还是有点困难。 ;*初始化827

8、9MOV DX,Z8279 MOV AL,LEDMODOUT DX,ALMOV AL,LEDFEQ.;*子程序DISPLAY:MOV DX,Z8279 MOV AL, 90H OUT DX,AL七段码设定:LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H,71H,76H8253芯片分析:本设计只用到了8253的两个端口0和1。0端口的输入信号clk0为1MHz,1端口的输入信号clk1为out0。将1端口的输出信号out1送到8255的C0端口。首先要对8253初始化编程,然后对0和1端口分别送入计数初值

9、,实现定时功能。初始化及计数值:DELAY:8253-1秒延时子程序 MOV DX,CONTROL MOV AL,00110101B ;通道0,工作于方式2 MOV DX,COUNT0 ;通道0写入计数初值 MOV AL,00H MOV AL,10H MOV DX,CONTROL ;写入控制字 MOV AL,01110001B ;通道1,工作于方式0 MOV DX,COUNT1 ;通道1写入计数初值五、实验总结与体会本次课程设计实现了用8253、8255和8279芯片完成了复杂的交通灯指挥系统。经过了几个星期的不懈努力,总算是圆满的完成了任务。刚开始接触实验的时候,感觉很简单,需求分析很快就能

10、上手,根据老师的要求进行设计,很快就有了大体的思路。8253与8255以前都学习过,看一下书基本都能回忆起来,第二节课我们就将8253与8255的初始化,以及大体的循环程序搞定。8255是控制红绿灯的核心芯片,具体的与led灯的连接参见硬件分析。这一部分可以是说最简单的部分了。接着,便出现了一个问题。数码管的显示与热键的设置。这样一个没有倒计时的显示的交通灯系统是实现了。但8279却是一个老大难问题,从来没有接触过,而且老师给的资料又太乱。看着都头痛,于是开始求助XX、Google。8279是提供显示功能的芯片,在网上搜到的一些资料,自己看的也稀里糊涂,不是很明白。最后只有再次请教老师了,老师

11、又给了一些资料,让自己看,我自己又到图书馆借了一本有关8279芯片的书。经过若干天的学习,终于搞懂了一点点,知道怎样初始化芯片。 知道的数码管显示与热键的一些基本内容。由于关于8279的资料大部分都是讲解键盘的,而我们还需要显示部分的,所以还是不太理解,还有一个原因以前汇编没学习好。最后还是得请教老师,经过老师的分析,自己也更进一步的掌握了芯片。最后终于实现了8279的显示功能,只不过只能显示一位。这已经过去两周了。第四周我们终于有了重大突破,班里有小组做电子时钟也需要使用8279,同样也要用到数码管的显示问题,他们采取了取余的方法,经过一番努力,最终我们也实现了双位显示。这样,具有倒计时显示

12、的简单红绿灯交通指挥系统就完成了。最后就是热键问题,相比较前面而言,热键的设置是这一个系统的大头,但是由于之前搞数码管的显示,因此,在设置热键时就不像之前的那么迷茫,一周的时间就搞定了的基本的框架,中途也遇到了很多的麻烦,但是在许询问老师和同学之后,都一一解决了。还帮了班级里其他小组的忙,呵呵,挺开心的。通过此次课程设计,我们又重新温习了汇编语言,并对汇编语言有了更深一层的掌握,为以后应用汇编打下了良好的基础。此外,还学会了8279芯片的应用,巩固了对芯片的编程能力,提高了自己的动手能力。最后感谢老师在实验过程中对我们的指导,谢谢。 余彬本实验相对来说还是比较困难的。刚开始设置8255和825

13、3比较简单的,我们用了一节课的时间就已经完成了led灯的正常显示。交通灯最难懂的是8279的键盘以及数码管显示,两节课在浑浑噩噩中度过,没办法就去图书馆找相关的资料,只要机房有课就来做实验,后来把数码管的显示给做好了,我非常高兴。虽然8279是困难点,不过我在自己学习8279中获得了很多乐趣,我发现其实很多芯片可以自己去学习了,我们在学习中不仅要获得一些基础知识,更要学会的是学习的方法,如何去掌握、获取更多的芯片。在学习8279的时候我一直拿着微机接口与原理技术这本书,学到了一些汇编语言的技巧,这些是我在课堂上不曾得到的知识。在编程过程中要时刻注意一些细节,比如刚开始的PUSH cs,POPD

14、S;虽然这两句话没觉得有什么用途,但是在8279的显示中是至关重要的。其实有些编程需要技巧的,不如说数码管显示,如果只是0-9的倒计时是比较简单的,但这是两位数的倒计时,就需要实现个位与十位的分离,后来在老师的提示下,我用除法div将十位变成个位,将个位变成余数分别放入显示ram中,我们就成功了。对于热键,我是参考一些资料,主要思想是如果按下此键如0BH,就设置一个循环,除非按下08H键,否则程序一直在循环。在学习的过程中,我也会去利用我学到的知识帮助同学,这样可以加强我对芯片的了解,最终,我们的强大的交通灯实现了,很有成就感。-朱成六、参考资料1、微机原理与接口技术 周荷琴、吴秀清编著。2、

15、husy88te实验指导书3、8279的相关资料源代码见附录附录1:流程图附录2:源代码附录一:附录二:(源代码清单)DATA SEGMENTPORTCON EQU 20BH ;8255控制寄存器地址PORTA EQU 208H ;8255A口地址PORTB EQU 209H ;8255B口地址PORTC EQU 20AH ;8255C口地址CONTROL EQU 203H ;8253控制寄存器地址COUNT0 EQU 200H ;计数器0地址COUNT1 EQU 201H ;计数器1地址COUNT2 EQU 202H ;计数器2地址Z8279 EQU 212H ;8279控制口D8279 E

16、QU 210H ;8279数据口LEDMOD EQU 00H ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率DATA ENDS-CODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH CS POP DS*8255初始化 MOV DX,Z8279 MOV AL,LEDMOD MOV AL,LEDFEQ MOV DX,PORTA ;亮南北红灯,东西绿灯 MOV AL,00011110B CALL DELAY ;延时1秒BEGIN:- MOV CX,30 ;延时30秒 CYC0: CALL H ;使南北东西红灯亮 MOV DX,POR

17、TA MOV AL,00011110B ;重置亮南北红灯,东西绿灯 CALL DELAY CALL DISPLAY CALL I ;使南北绿灯,东西红灯 LOOP CYC0 MOV CX,03H ;延时3秒 CYC1:亮南北红灯,东西黄灯 MOV AL,00101110B CALL DISPLAY ; LOOP CYC1 CYC2:亮南北绿灯,东西红灯 MOV AL,00110011B使南北东西全红 CALL G ;使南北红灯,东西绿灯重置,使南北绿灯,东西红灯 LOOP CYC2 CYC3:亮南北黄灯,东西红灯 MOV AL,00110101B延时一秒 LOOP CYC3JMP BEGIN

18、;-TC: MOV DX,PORTC IN AL,DX TEST AL,01H JZ TCRET- MOV AX,00H PUSH CX MOV AX,CX MOV BL,0AH DIV BL MOV AL,AH LEA BX,LED XLAT MOV DX,D8279 MOV AX,CX POP CXRET H: MOV AL,40H ;写 读FIFO RAM命令字 MOV DX,Z8279 MOV DX,D8279 ;读入FIFO RAM内容 CMP AL,0BH JNZ S2 MOV CX,30 MOV AL,11110110B S1: CMP AL,08H JNZ S1 S2:I: CMP AL,00H JNZ I2 I1: JNZ I1 I2:G: CMP AL,01H JNZ G2 G1: JNZ G1 G2:-CODE ENDS END START

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1