微机课设报告交通灯控制系统设计说明_第1页
微机课设报告交通灯控制系统设计说明_第2页
微机课设报告交通灯控制系统设计说明_第3页
微机课设报告交通灯控制系统设计说明_第4页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、报告评分批改老师微机原理实验 课程设计报告交通灯控制系统设计学生学号专业电气工程与自动化班级同组学生提交日期2010 年 6月20 日指导教师目录摘要3设计容3设计原理及说明 4设计过程5设计结果与分析 8体会与建议 8程序源代码 9参考文献15一、摘要利用微机实验箱,以本市现行的交通灯控制信息为依据,用查询的方法实现交通灯控制系统。二、设计容通过 16 个发光二极管及数码管,模拟十字路口的红绿灯,具体时间的分配和控制如下:(1)东西方向绿灯亮,南北方向红灯亮,并且数码管10s倒计时显示(2)东西方向黄灯亮,南北方向红灯亮,并且数码管5s倒计时显示(3)东西方向红灯亮,南北方向绿灯亮,并且数码

2、管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单电源供

3、电,能在以下三种方式下工作:方式 0- 基本输入 / 出方式、方式 1- 选通输入 / 出方式、方式 2- 双向选通工作方式。 8255 的部结构及引脚如图 1 所示, 8255 工作方式控制字和 C口按位置位 / 复位控制字格式如图 1-2 所示。实验说明:由于实验室的仪器上只有16 个发光二极管,所以还得弄清楚是每个发光二极管所代表的灯的颜色及方向。16 个发光二级管,且从高到低依次为: D15D14D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。在设计的过程中做了如下的规定: R表示红灯, G表示绿灯, Y 表示黄灯, E 表示方向东, W表示方向西, S 表示方向南

4、, 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) 电路

5、元器件的选择(4)软件流程图的设计(5)软件的设计(程序)芯片初始化,写8255 的方式字延时,延时是通过设置指令的循环次数实现的东西方向绿灯亮,南北方向红灯亮,且数码管10s 倒计时显示东西方向黄灯亮,南北方向红灯亮,且数码管5s 倒计时显示东西方向红灯亮,南北方向绿灯亮,且数码管10s 倒计时显示东西方向红灯亮,南北方向黄灯亮,且数码管5s 倒计时显示判断是否有键按下返回到 DOS(6)电路接线图的设计:设计电路图见下图(7)进行软、硬件调试连接实验线路,将已写好的完整程序在汇编环境下进行编译,若无错误即可在 TD-PIT+实验系统上进行调试。五、设计结果与分析灯亮的顺序满足设计容的要求,

6、不足之处在于使用软件延时,不是很精确,即计时时间只是大体上满足课设的要求。六、体会与建议实验所得结论基本课设的要求,但是存在一些不足之处。如果用硬件延时,则可以改变这一情况。但是要考虑到用8254 如何计时 1s 的问题,有同学在设计中利用8254 的工作方式 3 产生方波信号,当PC0检测到高电平,且下一时刻再次检测到低电平时,即两次检测PC0 口分别为高、低电平时,便得到1 秒的计时。而我在做这次实验时没有考虑到这一问题。但是在这次实验中,我也学到了一些东西,譬如刚开始的时候,我们组设计的电路是很复杂的,后来经过与别的组的同学一起讨论以后,我们的线路得以精简,要在正确的基础上精简线路与程序

7、是很重要的。另外,通过这次实验,我对8255 芯片有了进一步的认识,同时对程序的设计也有了进一步的了解。七、程序源代码;*根据查看端口资源修改下列符号值*IOY0EQU 0D400H;片选 IOY0 对应的端口始地址MY8255_AEQUIOY0+00H*4;8255的 A口地址MY8255_BEQUIOY0+01H*4;8255的 B口地址MY8255_CEQUIOY0+02H*4;8255的 C口地址MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASS

8、UME CS:CODESTART:MOV DX,MY8255_MODE MOV AL,10000000B;定义 8255 工作方式工作方式0, A 口和B 口为输出10000000BOUT DX,ALMOV DX,MY8255_A;写 A 口发出的起始数据MOV AL,00111100BOUT DX,ALMOV DX,MY8255_B;写 B 口发出的起始数据MOV AL,00111100BOUT DX,ALMOV DX,MY8255_C;写 C 口发出的起始数据9MOV AL,11110110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据8M

9、OV AL,11111110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据7MOV AL,11100000BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据6MOV AL,10111110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据5MOV AL,10110110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据4MOV AL,01100110BOUT DX,ALCALL DALLYMOV DX,MY8

10、255_C;写 C 口发出的起始数据3MOV AL,11110010BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据2MOV AL,11011010BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据1MOV AL,01100000BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据0MOV AL,11111100BOUT DX,ALCALL DALLYMOV DX,MY8255_A;写 A 口发出的起始数据MOV AL,11111100BOUT DX,ALM

11、OV DX,MY8255_B;写 B 口发出的起始数据MOV AL,11111100BOUT DX,ALMOV DX,MY8255_C;写 C 口发出的起始数据4MOV AL,01100110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据3MOV AL,11110010BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据2MOV AL,11011010BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据1MOV AL,01100000BOUT DX,ALCA

12、LL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据0MOV AL,11111100BOUT DX,ALCALL DALLY; 再次MOV DX,MY8255_MODE;定义 8255 工作方式MOV AL,10000000B;工作方式 0, A 口和 B 口为输出 10001001BOUT DX,ALMOV DX,MY8255_A;写 A 口发出的起始数据MOV AL,11000011BOUT DX,ALMOV DX,MY8255_B;写 B 口发出的起始数据MOV AL,11000011BOUT DX,ALMOV DX,MY8255_C;写 C 口发出的起始数据9MOV

13、 AL,11110110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据8MOV AL,11111110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据7MOV AL,11100000BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据6MOV AL,10111110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据5MOV AL,10110110BOUT DX,ALCALL DALLYMOV DX,MY825

14、5_C;写 C 口发出的起始数据4MOV AL,01100110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据3MOV AL,11110010BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据2MOV AL,11011010BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据1MOV AL,01100000BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据0MOV AL,11111100BOUT DX,ALCA

15、LL DALLYMOV DX,MY8255_A;写 A 口发出的起始数据MOV AL,11110011BOUT DX,ALMOV DX,MY8255_B;写 B 口发出的起始数据MOV AL,11110011BOUT DX,ALMOV DX,MY8255_C;写 C 口发出的起始数据4MOV AL,01100110BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据3MOV AL,11110010BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据2MOV AL,11011010BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据1MOV AL,01100000BOUT DX,ALCALL DALLYMOV DX,MY8255_C;写 C 口发出的起始数据0MOV AL,11111100BOUT DX,ALCALL DALLYMOV AH,1;判断是否有按键按下INT 16HJZ BACK;无按键则跳回继续循环,有则退出QUIT: MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论