




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理课程设计交通红绿灯管理器刘刚 41050278 自104指导老师:李晓理老师 目录1、设计任务32、电路设计32.1 时钟模块42.2 中断管理模块42.3 红绿灯显示模块53、程序设计631 程序设计概述63.2 程序清单74、总结14参考文献:14 前言 微机原理课程设计题目,设计并撰写本报告。随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,成为人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次微机原理课程设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。本次设计针对交通红绿灯设计了程序及硬件,根据设计内容选择芯片,对程序进行编辑。通过本次实验设计,使得理论与实践结合,思想与思想碰撞,让自己有了提升,对微机原理有了更深入的了解。1、设计任务设有一十字路口,1、3为南北方向,2、4为东西方向。每个路口均有红、黄、绿三个灯,初始状态为四个路口的红灯亮,3秒之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口通车;延时45秒后,1、3路口绿灯闪烁3秒,后绿灯灭,黄灯亮,3秒后,1、3路口的红灯亮,而同时2、4路口的绿灯亮,2、4路口开始通车;延时40秒后,2、4路口绿灯闪烁3秒后绿灯灭,黄灯亮, 3秒后,2、4路口的红灯亮,同时1、3路口的红灯亮(即四个路口的红灯亮),3秒之后,1、3路口的绿灯亮,2、4路口的红灯亮,重复上面的过程。2、电路设计 根据实验指导书以及微机原理课程,设计得到如下图所示电路图:图2-1 总体电路图设计 2.1 时钟模块 8253定时计数芯片对时钟进行硬件分频。8253有3个时钟输入口,3个输出口。用系统时钟1.19MHZ作为定时器0的输入,通过软件分频将输出信号作为定时器1的输入管脚.具体步骤如下:把计数器0的门控脉冲信号拉高,使得计数器0工作,使其工作在方式3,成为方波发生器,时钟信号输入的是1.8432MHZ,进行100分频。于是输出端是 OUT0是18432HZ的方波信号,将其充当计数器1的时钟源,使计数器1工作在方式3,拉高其门控脉冲信号,在将其18432分频,则在OUT1端口得到1HZ的方波信号。在将1HZ的信号作为计数器1的时钟信号,使计数器1工作在方式0,也就是计数结束产生中断的方式,当技数结束时,就会向8259发出中断请求信号。这是采用两个定时器级联的方式获得准确时钟。具体电路如下: 图2.1-1 两个定时器级联产生1HZ方波2.2 中断管理模块 采用中断管理芯片8259A对产生中断进行管理。中断的作用主要是:在计时器计时结束后,时钟信号发生器输出高,此时8259A检测到中断信号,向CPU发送中断请求信号。进入中断程序后,在中断程序中更改计时器计数值和灯的亮暗,以此来改变计时时间和亮灯的不同。具体硬件连接如下: 图2.2-1 8259中断响应芯片连接、2.3 红绿灯显示模块 采用可编程并行接口芯片8255A对红绿灯进行控制。考虑到1、3路口灯的状态相同,2、4路口灯的状态相同,故用6盏灯即可表示所有状态。如下表所示,其中D1-D3为1.3号路口的红黄绿灯,D4-D6为2.4号路口的红黄绿灯故PA0-PA5输出时序状态表为:状态路口1、3路口2、4红黄绿红黄绿PA0PA1PA2PA3PA4PA5初始113s后1145后1/013s后113s后1140s后11/03s后113s后11其中空白为灭,1为亮,10表示闪烁。3、程序设计31 程序设计概述各片选芯片地址如下:采用在中断服务程序中修改计数值和灯的状态的方法,对实验要求结果进行操作。此时8259的作用发挥出来了。根据硬件设置。8253的端口地址为00H0FH,这里令A2A3A4=000,则控制寄存器端口地址为:00H,01H,02H,03H. 8255的端口地址为20H3FH,这里令A2A3A4=0,则8255控制寄存器端口地址为20H,21H,22H,23H. 8259的端口地址为60H7FH,这里令A1A2A3A4=0000,则8259控制器端口地址为60H,61H.整个程序设计框图如下:整个程序思想:首先各个模块初始化,通过定时器定时产生中断,在中断中改变下一定时时间即计数值,定义8255的输出电平,以此实现不同的状态灯的亮暗不同,8255状态值得输出根据2.3节的状态表计算。 即过程为:开始初始化(开中断)定时3s(计数值为03H)中断程序(改变计数值为45即2DH,设置8255A口输出状态为0CH)计时45s中断程序(改变计数值为3s,此时在中断中嵌套中断完成灯的闪烁任务)计时3s中断程序(改变计数值为40,改变8255输出状态为21H).如此完成整个程序的设计。系统开始运行系统初始化接口芯片初始化定时/计数器初始化中断控制器初始化开中断中断服务函数1HZ方波计数器1开始计数 更新8255接口芯片A、B端口的输出判断在键盘上是否有按键按下 否关闭中断 是计数初值重新装入计数器退出程序六盏红绿灯输出亮/灭状态3.2 程序清单 根据3.1中程序框图,以及端口设置情况,编写程序如下:(1)变量定义:;*; ; 中断控制;*; INTR_IVADD EQU 01C8H ; INTR对应的中断矢量地址 INTR_OCW1 EQU 0A1H ; I NTR对应PC机内部8259的OCW1地址 INTR_OCW2 EQU 0A0H ; INTR对应PC机内部8259的OCW2地址 INTR_IM EQU 0FBH ; INTR对应的中断屏蔽字;*; ; 8255接口芯片;*; IOY1 EQU 3020H ;片选IOY0对应的端口始地址 MY8255_A EQU IOY0+00H*4 ;8255的A口地址 MY8255_B EQU IOY0+01H*4 ;8255的B口地址 MY8255_C EQU IOY0+02H*4 ;8255的C口地址 MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址;*; ; 8253定时器 ;*; INTR_IVADD EQU 01C8H ;INTR对应的中断矢量地址 INTR_OCW1 EQU 0A1H ;INTR对应PC机内部8259的OCW1地址 INTR_OCW2 EQU 0A0H ;INTR对应PC机内部8259的OCW2地址 INTR_IM EQU 0FBH ;INTR对应的中断屏蔽字 IOY0 EQU 3000H ;片选IOY0对应的端口始地址 MY8253_COUNT0 EQU IOY0+00H*4 ;8253计数器0端口地址 MY8253_COUNT1 EQU IOY0+01H*4 ;8253计数器1端口地址 MY8253_COUNT2 EQU IOY0+02H*4 ;8253计数器2端口地址 MY8253_MODE EQU IOY0+03H*4 ;8253制寄存器端口地址(2)主程序 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT MES DB Press any key to exit!,0AH,0DH,0AH,0DH,$ ;*中断控制*; CS_BAK DW ? ;保存INTR原中断处理程序入口段地址的变量 IP_BAK DW ? ;保存INTR原中断处理程序入口偏移地址的变量 IM_BAK DB ? ;保存INTR原中断屏蔽字的变量 ;*8255接口芯片*; FLAG DB ? ;定义数据变量 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES ;显示退出提示 MOV AH,09H INT 21H CLI(3)初始化功能模块 ;*8253定时器初始化*; MOV DX,MY8253_MODE ;初始化8253作方式 MOV AL,0B6H ;计数器0,方式3 OUT DX,AL MOV DX,MY8253_COUNT2 ;装入计数初值 MOV AL,64H ;100 分频 OUT DX,AL MOV AL,00H OUT DX,AL MOV DX,MY8253_MODE ;初始化8253工作方式 MOV AL,36H ;计数器1,方式3 OUT DX,AL MOV DX,MY8253_COUNT0 ;装入计数初值 MOV AL,00H ;18432 分频 OUT DX,AL MOV AH,48H OUT DX,AL;*中断初始化*; MOV AX,0000H ;替换INTR的中断矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,ES:DI MOV IP_BAK,AX ;保存INTR原中断处理程序入口偏移地址 MOV AX,OFFSET MYISR MOV ES:DI,AX ;设置当前中断处理程序入口偏移地址 ADD DI,2 MOV AX,ES:DI MOV CS_BAK,AX ;保存INTR原中断处理程序入口段地址 MOV AX,SEG MYISR MOV ES:DI,AX ;设置当前中断处理程序入口段地址 MOV DX,INTR_OCW1 ;设置中断屏蔽寄存器,打开INTR屏蔽位 IN AL,DX MOV IM_BAK,AL ;保存INTR原中断屏蔽字 AND AL,INTR_IM OUT DX,AL;*8255接口芯片初始化*; MOV DX,MY8255_MODE ;定义8255工作方式 MOV AL, 80H ;工作方式0,A口和B口为输出 OUT DX,AL MOV DX,MY8255_B ;写A口发出的起始数据 MOV AL, 09H ; 两个路口的 红灯全部都是亮的,其他的灯是灭的 OUT DX,AL MOV DX,MY8255_A ;写B口发出的起始数据 MOV AL, 00H ;定时器1的门控端口GATE1为0,计数器1处于关闭状态 OUT DX,AL STI MOV DX,MY8254_MODE ;初始化8253工作方式 MOV AL,51H ;计数器1,方式0 OUT DX,AL MOV DX,MY8254_COUNT0 ;装入计数初值 MOV AL,4 OUT DX,AL MOV FLAG,1(4)判断是否退出程序 WAIT1: MOV AH,1 ;判断是否有按键按下 INT 16H JZ WAIT1 ;无按键则跳回继续等待,有则退出 QUIT: CLI MOV AX,0000H ;恢复INTR原中断矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,IP_BAK ;恢复INTR原中断处理程序入口偏移地址 MOV ES:DI,AX ADD DI,2 MOV AX,CS_BAK ;恢复INTR原中断处理程序入口段地址 MOV ES:DI,AX MOV DX,INTR_OCW1 ;恢复INTR原中断屏蔽寄存器的屏蔽字 MOV AL,IM_BAK OUT DX,AL STI MOV AX,4C00H ;返回到DOS INT 21H(5)中断服务函数 MYISR PROC NEAR ;中断处理程序MYISR PUSH AX ; MOV AL,FLAG CMP AL,01H JZ FLAG1 CMP AL,02H JZ FLAG2 CMP AL,03H JZ FLAG3 CMP AL,04H JZ FLAG4 CMP AL,05H JZ FLAG5 CMP AL,06H JZ FLAG6 CMP AL,07H JZ FLAG7 JNZ OVER FLAG1: MOV AL,0AH MOV DX,MY8255_B OUT DX,AL MOV DX,MY8254_COUNT0 ;重装计数初值 MOV AL,46 OUT DX,AL MOV FLAG,2 MOV CX,03H JMP OVER FLAG2: MOV AL,08H MOV DX,MY8255_B OUT DX,AL MOV DX,MY8254_COUNT0 ;重装计数初值 MOV AL,2 OUT DX,AL MOV FLAG,2 DEC CX JZ OUT JMP OVER FLAG3: MOV AL,0CH MOV DX,MY8255_B OUT DX,AL MOV DX,MY8254_COUNT0 ;重装计数初值 MOV AL,4 OUT DX,AL MOV FLAG,4 JMP OVER FLAG4: MOV AL,11H MOV DX,MY8255_B OUT DX,AL MOV DX,MY8254_COUNT0 ;重装计数初值 MOV AL,40 OUT DX,AL MOV FLAG,5 MOV CX,03H JMP OVER FLAG5: MOV AL,01H MOV DX,MY8255_B OUT DX,AL MOV DX,MY8254_COUNT0 ;重装计数初值 MOV AL,2 OUT DX,AL MOV FLAG,5 DEC CX JZ OUT2 JMP OVER FLAG6: MOV AL,21H MOV DX,MY8255_B OUT DX,AL MOV DX,MY8254_COUNT0 ;重装计数初值 MOV AL,4 OUT DX,AL MOV FLAG,7 JMP OVER FLAG7: MOV AL,09H MOV DX,MY8255_B OUT DX,AL MOV DX,MY8254_COUNT0 ;重装计数初值 MOV AL,4 OUT DX,AL MOV FLAG,1 JMP OVER OUT: MOV DX,MY8254_COUNT0 ;重装计数初值 MOV AL,4 OUT DX,AL MOV FLAG,3 OUT2: MOV DX,MY8254_COUNT0 ;重装计数初值 MOV AL,4 OUT DX,AL MOV FLAG,6 OVER: MOV DX,INTR_OCW2 ;向PC机内部8259发送中断结束命令 MOV A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 闽江学院《应用统计》2024-2025学年第一学期期末试卷
- 山西水利职业技术学院《小学科学教育》2024-2025学年第一学期期末试卷
- 河北地质大学华信学院《三维建模与材质渲染》2024-2025学年第一学期期末试卷
- 西安明德理工学院《食品质量工程师》2024-2025学年第一学期期末试卷
- 现代企业合同管理与风险防范指南
- 福建幼儿师范高等专科学校《汽车动力原理》2024-2025学年第一学期期末试卷
- 泰山职业技术学院《软件设计综合训练》2024-2025学年第一学期期末试卷
- 护理管理安全制度
- 福建华南女子职业学院《模式识别理论与应用》2024-2025学年第一学期期末试卷
- 山西大学《中外名家教育》2024-2025学年第一学期期末试卷
- 实验室生物安全会议记录
- 幼儿园教学活动设计方法
- 无人机项目融资计划书
- 液氧站施工方案
- 发泡模具验收报告
- 全国各气象台站区站号及经纬度
- 深圳市劳动法律法规参考手册
- 现金流游戏课件
- HCCDP 云迁移认证理论题库
- 深远海智能养殖装备平台
- 义务教育英语课程标准(2022年版)
评论
0/150
提交评论