收藏 分销(赏)

微机课设报告交通灯控制系统设计.docx

上传人:xrp****65 文档编号:6133560 上传时间:2024-11-28 格式:DOCX 页数:15 大小:184.97KB 下载积分:10 金币
下载 相关 举报
微机课设报告交通灯控制系统设计.docx_第1页
第1页 / 共15页
微机课设报告交通灯控制系统设计.docx_第2页
第2页 / 共15页


点击查看更多>>
资源描述
报告评分 批改老师 《微机原理实验》 课程设计报告 交通灯控制系统设计 学生姓名 学 号 专 业 电气工程与自动化 班 级 同组学生 提交日期 2010 年 6 月20 日 指导教师 目 录 摘要·················································3 设计内容·············································3 设计原理及说明·······································4 设计过程·············································5 设计结果与分析·······································8 体会与建议···········································8 程序源代码···········································9 参考文献············································15 一、摘要 利用微机实验箱,以本市现行的交通灯控制信息为依据,用查询的方法实现交通灯控制系统。 二、设计内容 通过16个发光二极管及数码管,模拟十字路口的红绿灯,具体时间的分配和控制如下: (1) 东西方向绿灯亮,南北方向红灯亮,并且数码管10s倒计时显示 (2) 东西方向黄灯亮,南北方向红灯亮,并且数码管5s倒计时显示 (3) 东西方向红灯亮,南北方向绿灯亮,并且数码管10s倒计时显示 (4) 东西方向红灯亮,南北方向黄灯亮,并且数码管5s倒计时显示 具体如下图所示: 要求:用8255的A口、B口控制16位LED灯,选择方式0,输出I/O接口电路控制数码管,使用软件延迟或硬件延迟,其中使用硬件延迟芯片8254计时更为精确。 三、设计原理及说明 8255的性质及简介: 并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图1-2所示。 实验说明: 由于实验室的仪器上只有16个发光二极管,所以还得弄清楚是每个发光二极管所代表的灯的颜色及方向。16个发光二级管,且从高到低依次为:D15D14D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。在设计的过程中做了如下的规定:R表示红灯,G表示绿灯,Y表示黄灯,E表示方向东,W表示方向西,S表示方向南,N表示方向北,D15D14表示ER,D13D12表示SR,D11D10表示EG,D9D8表示SG,D7D6表示WR,D5D4表示NR,D3D2表示WG,D1D0表示NG,D15D14D11D10表示EY,D7D6D3D2表示WY,D13D12D9D8表示SY,D5D4D1D0表示NY。最后要在实验室通过软件进行调试,调试通过后即可看到设计的结果。 四、设计过程 (1)根据要求分析可知: 东西方向绿灯亮的同时南北方向红灯亮 东西方向黄灯亮的同时南北方向红灯亮 东西方向红灯亮的同时南北方向绿灯亮 东西方向红灯亮的同时南北方向黄灯亮 (2)完成单元电路的设计及参数计算 (3) 电路元器件的选择 (4)软件流程图的设计 (5)软件的设计(程序) ①  芯片初始化,写8255的方式字 ②  延时,延时是通过设置指令的循环次数实现的 ③  东西方向绿灯亮,南北方向红灯亮,且数码管10s倒计时显示 ④  东西方向黄灯亮,南北方向红灯亮,且数码管5s倒计时显示 ⑤  东西方向红灯亮,南北方向绿灯亮,且数码管10s倒计时显示 ⑥  东西方向红灯亮,南北方向黄灯亮,且数码管5s倒计时显示 ⑦  判断是否有键按下 ⑧  返回到DOS (6)电路接线图的设计:设计电路图见下图 (7)进行软、硬件调试 连接实验线路,将已写好的完整程序在汇编环境下进行编译,若无错误即可在TD-PIT++实验系统上进行调试。 五、设计结果与分析 灯亮的顺序满足设计内容的要求,不足之处在于使用软件延时,不是很精确,即计时时间只是大体上满足课设的要求。 六、体会与建议 实验所得结论基本课设的要求,但是存在一些不足之处。如果用硬件延时,则可以改变这一情况。但是要考虑到用8254如何计时1s的问题,有同学在设计中利用8254的工作方式3产生方波信号,当PC0检测到高电平,且下一时刻再次检测到低电平时,即两次检测PC0口分别为高、低电平时,便得到1秒的计时。而我在做这次实验时没有考虑到这一问题。但是在这次实验中,我也学到了一些东西,譬如刚开始的时候,我们组设计的电路是很复杂的,后来经过与别的组的同学一起讨论以后,我们的线路得以精简,要在正确的基础上精简线路与程序是很重要的。另外,通过这次实验,我对8255芯片有了进一步的认识,同时对程序的设计也有了进一步的了解。 七、程序源代码 ;****************根据查看端口资源修改下列符号值******************* IOY0 EQU 0D400H ;片选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的控制寄存器地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DX,MY8255_MODE ;定义8255工作方式 MOV AL,10000000B ;工作方式0,A口和B口为输出10000000B OUT DX,AL MOV DX,MY8255_A ;写A口发出的起始数据 MOV AL,00111100B OUT DX,AL MOV DX,MY8255_B ;写B口发出的起始数据 MOV AL,00111100B OUT DX,AL MOV DX,MY8255_C ;写C口发出的起始数据9 MOV AL,11110110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据8 MOV AL,11111110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据7 MOV AL,11100000B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据6 MOV AL,10111110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据5 MOV AL,10110110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据4 MOV AL,01100110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据3 MOV AL,11110010B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据2 MOV AL,11011010B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据1 MOV AL,01100000B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据0 MOV AL,11111100B OUT DX,AL CALL DALLY MOV DX,MY8255_A ;写A口发出的起始数据 MOV AL,11111100B OUT DX,AL MOV DX,MY8255_B ;写B口发出的起始数据 MOV AL,11111100B OUT DX,AL MOV DX,MY8255_C ;写C口发出的起始数据4 MOV AL,01100110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据3 MOV AL,11110010B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据2 MOV AL,11011010B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据1 MOV AL,01100000B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据0 MOV AL,11111100B OUT DX,AL CALL DALLY ;再次 MOV DX,MY8255_MODE ;定义8255工作方式 MOV AL,10000000B ;工作方式0,A口和B口为输出10001001B OUT DX,AL MOV DX,MY8255_A ;写A口发出的起始数据 MOV AL,11000011B OUT DX,AL MOV DX,MY8255_B ;写B口发出的起始数据 MOV AL,11000011B OUT DX,AL MOV DX,MY8255_C ;写C口发出的起始数据9 MOV AL,11110110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据8 MOV AL,11111110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据7 MOV AL,11100000B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据6 MOV AL,10111110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据5 MOV AL,10110110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据4 MOV AL,01100110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据3 MOV AL,11110010B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据2 MOV AL,11011010B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据1 MOV AL,01100000B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据0 MOV AL,11111100B OUT DX,AL CALL DALLY MOV DX,MY8255_A ;写A口发出的起始数据 MOV AL,11110011B OUT DX,AL MOV DX,MY8255_B ;写B口发出的起始数据 MOV AL,11110011B OUT DX,AL MOV DX,MY8255_C ;写C口发出的起始数据4 MOV AL,01100110B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据3 MOV AL,11110010B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据2 MOV AL,11011010B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据1 MOV AL,01100000B OUT DX,AL CALL DALLY MOV DX,MY8255_C ;写C口发出的起始数据0 MOV AL,11111100B OUT DX,AL CALL DALLY MOV AH,1 ;判断是否有按键按下 INT 16H JZ BACK ;无按键则跳回继续循环,有则退出 QUIT: MOV AX,4C00H ;结束程序退出 INT 21H DALLY PROC NEAR ;软件延时子程序 PUSH CX PUSH AX MOV CX,07FFFH D1: MOV AX,0FFFFH D2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RET DALLY ENDP BACK: JMP START CODE ENDS END START 八 参考文献 1. 王位喜 《微机原理实验与课程设计指导书》 南京航空航天大学金城学院实验中心,2010年1月 2. 沈国荣 《微机原理与接口技术》 南京大学出版社,2010年1月
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 环境建筑 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服