版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成绩 南京工程学院课程设计说明书(论文)题 目 带数码管显示的交通灯模拟控制系统设计 课 程 名 称 微机原理及应用A 院 系 能源与动力工程 专 业 热能与动力工程(生产过程自动化)班 级 热自101 学 生 姓 名 黄郑 学 号 207100615 设 计 地 点 工程实践中心8-216 指 导 教 师 陆京、徐懂理 设计起止时间:2012年12月3日至2012年12月7日 目 录一、方案说明 2 1、硬件设计 2 1.1、硬件接线图 2 1.2、主机接线说明3 2、软件设计 3 2.1、程序流程图 4 二.源程序清单 5三、调试现象 10四、心得体会 12五、参考文献 13一、设计说明硬
2、件方面:8253产生1HZ的方波,脉冲到8259的IR1端,产生中断,调中断服务子程序。在加入紧急车道后,单脉冲()连到8259的IRO端,产生一个高级的中断请求信号。软件方面:主程序先对各个硬件初始化,在开CPU中断,然后空操作,等待中断。执行低级中断(IR1)时,8255的PA口负责选数码管,PB口负责显示数字,用查表法可查到09的数码管编码。采用循环扫描方法,人眼即可看到连续的二位数。当倒计时减到零时,对红绿灯取反。若手动上下拨动单脉冲()一次,则产生一个高级中断(IR0),程序转而执行此中断处理程序,处理完后返回继续执行低级中断(IR1)。1、 硬件设计 1.1、硬件接线图1.2连线说
3、明:C5区:CS、A0、A1A3区:CS3、A0、A1C5区:OUT0B3区:CLK1C5区:GATE0、GATE1C1区:VCCC5区:CLK0B2区:2MC5区:OUT1B3区:IR1B3区:CS、A0A3区:CS2、A0 B3区:INT、INTAES8688:INTR、INTAB3区:IR0B2区:单脉冲() B4区:CS、A0、A1A3区:CS1、A0、A1 B4区:PA口、PB口G5区:C口、B口B4区:PC口 G6区:JP65(LED灯)2、软件设计1、程序流程图2. 源程序清单IO8259_0 EQU 0E000H ;8259地址偶地址端IO8259_1 EQU 0E001H ;
4、8259地址奇地址端 K8255A EQU 0F000H ;8255的A口、B口、C口地址K8255B EQU 0F001HK8255C EQU 0F002HK8255K EQU 0F003HADD8253_0 EQU 0D000H ;8253计数通道1#、2#、3#和控制口地址ADD8253_1 EQU 0D001HADD8253_2 EQU 0D002HADD8253_C EQU 0D003HCOUNTER EQU 60H ;倒计时数RED_ON EQU 0CCH ;红灯亮RED_OFF EQU 0FFH ;红灯灭E_W EQU 0C3H ;东西方向通行DATA SEGMENTTAB DB
5、 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHCOUNT DB ?SCAN DW 485 ;扫描次数DATA ENDSSTCK SEGMENT STACK DW 64 DUP(?)STCK ENDSCODE SEGMENTASSUME CS:CODE , DS:DATA,SS:STCKSTART:MOV AX,DATA MOV DS,AX MOV ES,AX NOP MOV DX,K8255K ;写8255控制字,A,B,C均为输出,方式0 MOV AL,80H OUT DX,ALSTART1: MOV DX,K8255C ;C口输出,控制灯 MOV CX,4
6、FLASH: MOV AL,RED_ON ;红灯亮 OUT DX,AL CALL DELAY ;调延时 MOV AL,RED_OFF ;红灯灭 OUT DX,AL CALL DELAY LOOP FLASH START2: MOV DX,ADD8253_C ;写8253控制字 MOV AL,37H ;0#计数器,读写16位低高字节,方式三,BCD码 OUT DX,AL MOV AX,1000H ;写0#的计数初值1000H,根据输入设定2M=1000H*2000 MOV DX,ADD8253_0 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,ADD8253_C ;写
7、8253控制字 MOV AL,77H ;1#计数器,读写16位低高字节,方式三,BCD码 OUT DX,AL MOV AX,2000H ;写1#计数初值2000H,根据输入设定,方波频率1HZ MOV DX,ADD8253_1 OUT DX,AL MOV AL,AH OUT DX,AL MOV COUNT,COUNTER ;写计数值(红绿灯变换的间隔时间) CALL Init8259 ;调8259初始化子程序 CALL WriIntver_8 ;调写中断向量表子程序 CALL WriIntver_9 ;调写中断向量表子程序 MOV CL,E_W MOV AL,CL MOV DX,K8255C
8、OUT DX,AL STI NOPSTART3: JMP $ ;给出中断以外CPU的工作Init8259 PROC NEAR ;8259初始化子程序 MOV DX,IO8259_0 ;写ICW1,边沿触发,单片,需写ICW4 MOV AL,13H OUT DX,AL MOV DX,IO8259_1 ;写ICW2,确定中断类型号 MOV AL,08H OUT DX,AL MOV AL,09H ;写ICW4 OUT DX,AL MOV AL,0FCH ;写OCW1,除IR0、IR1全屏蔽 OUT DX,AL RETInit8259 ENDPWriIntver_9 PROC NEAR ;写中断向量表
9、子程序 PUSH ES MOV AX,0 MOV ES,AX MOV DI,24H ;中断类型号9,对应24H,25H,26H,27H四个单元 LEA AX,INT_9 ;取中断服务程序IP STOSW MOV AX,CS ;取中段服务程序CS STOSW POP ES RETWriIntver_9 ENDPWriIntver_8 PROC NEAR ;写中断向量表子程序 PUSH ES MOV AX,0 MOV ES,AX MOV DI,20H ;中断类型号8,对应20H,21H,22H,23H四个单元 LEA AX,INT_8 ;取中断服务程序IP STOSW MOV AX,CS ;取中段
10、服务程序CS STOSW POP ES RETWriIntver_8 ENDPINT_9:MOV AL,COUNT SUB AL,01H DAS MOV COUNT,AL ;中断服务程序 PUSH AX PUSH DX PUSH BX PUSH CX PUSH SCAN ;保护循环值,否则取数码管显示会破坏LOO: MOV AL,55H MOV DX, K8255A OUT DX,AL MOV AL,COUNT ;选高位数码管 MOV AH,AL ;暂存AH MOV CL,4 SHR AL,CL LEA BX,TAB XLAT ;十进制转数码管编码 MOV DX, K8255B OUT DX,
11、AL ;显数 CALL DL1ms ;调延时 MOV AL,0 OUT DX,AL ;清除 MOV AL,0AAH MOV DX, K8255A OUT DX,AL ;选低位数码管 MOV AL,AH SHL AL,CL SHR AL,CL XLAT ;十进制转数码管编码 MOV DX, K8255B OUT DX,AL ;显数 CALL DL1ms MOV AL,0 OUT DX,AL ;清除 DEC SCAN CMP SCAN,0 JNZ LOO ;循环扫描 POP SCAN POP CX CMP COUNT,0 JNZ STOP ;计数到零则重新置数,并将灯取反,未到零则直接结束中断子程
12、序 MOV COUNT,COUNTER NOT CL MOV AL,CL MOV DX,K8255C OUT DX,ALSTOP: MOV DX,IO8259_0 ;结束中断服务,写OCW2,给8259送EOI命令,LSR1清零 MOV AL,20H OUT DX,AL POP BX POP DX POP AX IRETINT_8:PUSH DX PUSH AX PUSH CX MOV DX,K8255C ;C口输出,控制灯 MOV CX,4A: MOV AL,RED_ON ;红灯亮 OUT DX,AL CALL DELAY ;调延时 MOV AL,RED_OFF ;红灯灭 OUT DX,AL
13、 CALL DELAY LOOP A MOV DX,IO8259_0 ;结束中断服务,写OCW2,给8259送EOI命令,LSR1清零 MOV AL,20H OUT DX,AL POP CX MOV DX,K8255C MOV AL,CL OUT DX,AL POP AX POP DX IRETDELAY PROC;延时子程序 PUSH BX PUSH CX MOV BX,04HDELAY1:MOV CX,0FFFFH LOOP $ DEC BX JNZ DELAY1 POP CX POP BX RET DELAY ENDP DL1ms PROC NEAR PUSH AX PUSH CX MO
14、V AX,0100H MOV CX,AX LOOP $ POP CX POP AX RETDL1ms ENDPCODE ENDS END START 三、调试现象1、程序截图 2调试现象程序调试时,交通信号灯系统初始状态为所有红灯闪烁4次,数码管此时不显示;系统初始状态之后东西向车行道绿灯亮,南北向车道红灯亮,此时数码管从60秒倒计时;当数码管数字减为0时,东西向、南北向红绿灯交换亮,即南北向车行道绿灯亮,东西向车道红灯亮,此时数码管重新从60秒开始计数,数码管数字减为0秒后,红绿灯再次交换,如此循环重复。当道路发生紧急状况时,可拨单脉冲,使调试状态重新进入初始化,此时数码管停止计时(灭),初
15、始化状态结束后,继续从刚刚被停止时刻开始计时,红绿灯状态仍为停止时刻的状态。四、心得体会一个星期的微机原理课程设计终于结束了。在整整一星期的日子里,可以说得是苦尽甘来,从刚开始的完全迷惑到最后的豁然开朗,真是经历了很多,但是却让我们学到很多的东西,不仅可以巩固了课上所学过的理论知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图画出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画
16、程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问:调试程序时,发现只有初始化状态显示,知道了中断程序进不去,就开始查中断程序,最后查出原来是没写STI等待中断,所以中断才进不去。在检查错误的过程中发现会自己的不足之处,发现自己对以前所学过的知识理解得不够深刻,掌握得不够牢固,同时对知识的理解和接受能力还不是太强。这次课程设计任务终于顺利完成了,在设计中遇到了很多问题,最后在自己的努力下以及与同学之间和老师的探讨下,终于一个一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东松山职业技术学院《家庭社会工作》2023-2024学年第一学期期末试卷
- 广东水利电力职业技术学院《地球化学》2023-2024学年第一学期期末试卷
- 广东石油化工学院《环境景观规划设计》2023-2024学年第一学期期末试卷
- 广东汕头幼儿师范高等专科学校《体育一羽毛球》2023-2024学年第一学期期末试卷
- 广东培正学院《细胞工程》2023-2024学年第一学期期末试卷
- 广东南方职业学院《太阳能建筑设计》2023-2024学年第一学期期末试卷
- 广东茂名农林科技职业学院《会展经济学》2023-2024学年第一学期期末试卷
- 大学生军事技能训练(同济大学)学习通测试及答案
- 【名师伴你行】2021届高考文科数学二轮复习提能专训16-统计与统计案例
- 【名师课堂-备课包】2013-2020学年高一下学期地理人教版必修2-单元测试-第1章-人口的变化B
- 初中数学新课程标准(2024年版)
- 期末测试卷(一)2024-2025学年 人教版PEP英语五年级上册(含答案含听力原文无听力音频)
- 2023-2024学年广东省深圳市南山区八年级(上)期末英语试卷
- 中华传统文化之戏曲瑰宝学习通超星期末考试答案章节答案2024年
- 汉服娃衣创意设计与制作智慧树知到期末考试答案章节答案2024年四川文化产业职业学院
- 广东省中山市2023-2024学年四年级上学期期末数学试卷
- 8款-组织架构图(可编辑)
- 云南省教育科学规划课题开题报告 - 云南省教育科学研究院
- 大数据技术与应用专业申请书
- 货押业务操作规定
- 2022年2022年高中物理学史最全归纳总结
评论
0/150
提交评论