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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理课程设计交通灯.docx

1、微机原理课程设计交通灯沈阳航空航天大学课 程 设 计 报 告课程设计名称:微机系统综合课程设计课程设计题目:带数字显示的交通灯目 录第1章 总体设计方案 11.1 课程设计的内容和要求 11.2 课程设计原理 11.3 课程设计思路 2第2章 详细设计方案 32.1 实现方法 32.2 模块设计 42.2.1主程序流程图_42.2.2中断程序流程图_52.3 程序连线图 6第3章 调试及结果分析 73.1 调试步骤及方法 73.2 实验结果 7参考文献 8附 录(源程序) 9第1章 总体设计方案1.1 课程设计的内容和要求一、课程设计内容:1.通过调研,了解交通灯的工作过程;2.用实验箱中的数

2、码管和红绿发光二极管实现带数字显示的交通灯;3.两个数码管显示干线等待时间,另两个数码管显示支线等待时间;4.干线等待时间为30S,支线等待时间为60S。二、课程设计要求:1.认真查阅相关资料;2.独立设计、调试并通过知道教师现场验收;3.撰写课程设计报告。1.2 课程设计原理根据课设题目的要求,按照时间控制原则,利用8255A并行接口原则和8253定时器原则,采用8259时间中断方式和8279数码管显示设计一套十字路口交通灯管理系统,干线通行时间(或支线禁止时间)60秒,支线通行时间(或干线禁止时间)30秒,周而复始。1.3 课程设计思路定时模块是为8259提供中断请求信号的。由一片8253

3、实现,选用定时器0#,工作在方式3,由于时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间减少一秒,从而达到动态显示的效果。显示模块是由一块8255A芯片与LED红绿显示灯组成,由8255A来接收信号,从而控制红绿灯亮灭的时间,实现交通灯控制。计时模块是由8279实现的,通过计时器和中断同时控制实现数码管显示。第2章 详细设计方案2.1 实现方法本程序由主程序、定时中断子程序和外部中断子程序组成。主程序主要负责系统初始化和等待

4、中断。定时中断子程序主要负责数码管显示刷新和红绿灯各种状态切换。8253计数的起由8255的PA0控制,8255的PA0输出1时,8253开始计数,通过8279显示在数码管上,交通灯按正常状态切换工作,PA0输出0时,计数器停止工作,交通灯不再按正常状态切换。8253开始计数后每1s发出一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。2.2 模块设计2.2.1主程序流程图 图2.1 主程序流程图2.2.2中断程序流程图 图2.2 中断程序流程图2.3 程序连线图图2.3 程序连线图第3章 调试及结果分析3.1 调试步骤及方法程序编好输入进电脑,将AE

5、DK实验箱的硬件连接好,再进行调试,分步进行调试,看看每部分是否完善,再进行改错,主要检查中断是否产生,所有模块都能正常工作为止,全速运行得出想要的结果。3.2 实验结果全速运行下,数码管上显示是60和00,LED灯显示是东西是红色的,南北是绿色的,并且60是递减变化,每次减1操作,当变为00时,红灯变绿灯,绿灯变红灯,这时00变成30,继续递减操作,每次减1,直到变成00为止,红绿灯也变为相反,周而复始。参考文献1 龚尚福.微机原理与接口技术M.西安:西安电子科技大学出版社,20032 沈美明,温冬蝉.IBM-PC汇编语言程序设计M.北京:清华大学出版社,20013 郑初华.汇编语言、微机原

6、理及接口技术M.北京:电子工业出版社,20064 王忠民.微型计算机原理M.西安:西安电子科技大学出版社,2003附 录(源程序)C8279 EQU 22AHD8279 EQU 228HC82590 EQU 220HC82591 EQU 221HSTACK SEGMENTSTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKMAIN:JMP AA tab DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;09 NUM DB 03H,05H,01H,02H,02H,07H,01H,09H OLDKEY DB 00H FLAG

7、 DB 00H NOW DB 00HTIME DB 8 DUP(0) AA: MOV AX,CS MOV DS,AX CLI CALL INIT8255 CALL INIT8259 CALL INIT8253 CALL i8279 PUSH DI LEA DI,TIMEMOV BYTE PTRDI+7,0MOV BYTE PTRDI+6,3MOV BYTE PTRDI+5,0MOV BYTE PTRDI+4,0MOV BYTE PTRDI+3,0MOV BYTE PTRDI+2,0MOV BYTE PTRDI+1,0MOV BYTE PTRDI,0POP DI CALL DIS_TIME ST

8、I JMP $i8279: MOV DX,C8279 MOV AL,0 OUT DX,AL MOV AL,38H OUT DX,ALRETINIT8255:MOV AL,82HMOV DX,213HOUT DX,ALMOV DX,210HMOV AL,0FFHOUT DX,ALRET INIT8259: MOV AL,13H MOV DX,220H OUT DX,AL MOV DX,221H MOV AL,30H OUT DX,AL MOV AL,03H OUT DX,AL MOV AL,0FEH;OCW1 OUT DX,AL IN AL,DX MOV AX,0 MOV DS,AX MOV S

9、I,30H*4 MOV AX,OFFSET INTR0 MOV SI,AX MOV AX,CS MOV SI+2,AX MOV AX,CS mov ds,ax RET INIT8253: MOV AL,36H MOV DX,203H OUT DX,AL MOV AX,61440 MOV DX,200H OUT DX,AL MOV AL,AH OUT DX,AL RETRUN_TIME:PUSH AX PUSH DX PUSH CX PUSH BX PUSH DI LEA DI,TIME CMP FLAG,1JE ZHUGANMOV BL,BYTE PTRDI+7 CMP BL,0 JE c7

10、; 有进位 DEC BL ;加百分之一秒 MOV BYTE PTRDI+7,BL JMP addend0 c7: MOV BYTE PTRDI+7,9 MOV BL,BYTE PTRDI+6 CMP BL,0 JE c6 DEC BL ; 有进位MOV BYTE PTRDI+6,BL JMP addend0 c6: MOV BYTE PTRDI+6,0 MOV BYTE PTRDI+7,0 MOV FLAG,1 MOV BYTE PTRDI+1,0 MOV BYTE PTRDI,6 ZHUGAN: MOV BL,BYTE PTRDI+1 CMP BL,0 JE c1 ; 有进位 DEC BL

11、;加百分之一秒 MOV BYTE PTRDI+1,BL JMP addend0 c1: MOV BYTE PTRDI+1,9 MOV BL,BYTE PTRDI CMP BL,0 JE c0 DEC BL ; 有进位 MOV BYTE PTRDI,BL JMP addend0 c0: MOV BYTE PTRDI+1,0 MOV BYTE PTRDI,0 MOV FLAG,0 MOV BYTE PTRDI+7,0 MOV BYTE PTRDI+6,3 addend0: MOV AL,20H MOV DX,C82590 OUT DX,AL POP DI POP BX POP CX POP DX

12、POP AX RET DIS_TIME: PUSH DI MOV AX,CS MOV DS,AX ;显示时间 LEA BX,tab MOV AL,90H MOV DX,C8279 OUT DX,AL MOV DX,D8279 LEA DI,TIMEMOV AL,BYTE PTRDI+7 XLATOUT DX,AL MOV AL,BYTE PTRDI+6 XLAT OUT DX,AL MOV AL,40H OUT DX,AL MOV AL,40H OUT DX,AL MOV AL,40H OUT DX,AL MOV AL,40H OUT DX,AL MOV AL,BYTE PTRDI+1 XLA

13、T OUT DX,AL MOV AL,BYTE PTRDI XLAT OUT DX,AL POP DI RETDIS_DENG: CMP FLAG,1 JE DISZHUGAN MOV AL,01H MOV DX,210H OUT DX,AL JMP ENDDDISZHUGAN: MOV AL,02H MOV DX,210H OUT DX,AL ENDD:NOPRETINTR0 PROC PUSH AX PUSH DX PUSH CX PUSH BX PUSH DI CALL RUN_TIME CALL DIS_TIME CALL DIS_DENG POP DI POP BX POP CX P

14、OP DX POP AX IRET CALL DIS_DENG INTR0 ENDPCODE ENDSEND MAIN课程设计总结:经过这次课程设计,我对汇编语言和各个接口芯片8259、8279、8253、8255有了进。通过和同学的交流,开阔了自己的想法,通过使用更好的方法,程序更加高效。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有到的困惑,经过一番努力才得以解决。整个课设过程中,我得到许多老师和同学的无私帮助和鼓励,这也是课设的另一个收获。指导教师评语:指导教师(签字): 年 月 日课程设计成绩

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

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