资源描述:
《微机原理接口技术课程设计-交通灯》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、.院系:专业:年级班级:学号:姓名:指导教师:设计日期:信息工程系计算机科学与技术12计本1班1214110214黄福朱茜2015年06月29日..目录一.课程设计目的3二.课程设计任务3三.总体设计方案3五.程序设计流程图4六.程序连接图5七.程序清单5八.实验结果11九.课程设计总结和体会11..一.课程设计目的 用汇编语言和微机原理实验箱完成实现双方向交通信号灯控制系统,以达到熟练运用汇编语言编程以及实验箱上各个芯片的灵活运用。⒈了解交通灯管理的基本工作原理 ⒉熟悉8253定时
2、计数器的工作方式和编程应用 ⒊熟悉8255A并行接口的工作方式和编程应用 二.课程设计任务 本次课程设计的内容为双方向交通信号灯的控制和管理。 具体要求如下: 1.东西方向车辆放行20秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和黄灯点亮3秒钟。 2.南北方向车辆放行20秒钟后,转为南北方向的黄灯点亮3秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 3.循环重复执行1和2两步骤。三.总体设计方案 1、用实验系统8255A实现对信号灯的控
3、制(B端口),A端口的PA6、PA7口用来和8253共同控制信号灯点亮的时间。..2、实验中,8255选用(10010000)方式选择字,A组工作0方式,A端口输入,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出3、 实验中,8253采用两个计数器级联的方式达到定时的效果,8253计数器0的CLK0输入1MHZ的时钟脉冲,工作在模式3即方波发生器,理论设计OUT0 输出周期为0.01S的方波 ,则计数器0的初值为10000;OUT0输出的方波分别作为计数器1、计数器2的CLK1和
4、CLK2的输入时钟脉冲,计数器1和计数器2工作方式为模式1,计数器1的初值为2500,即OUT1输出25秒,控制红绿灯的时间;计数器2初值为300,即OUT2输出3秒,控制黄灯的时间。 四.部分电路设计及功能解说 本程序设置的是东西车道亮路灯20秒,黄灯亮3秒,同时南北车道红灯23秒,接下来是东西车道红灯23秒,南北车道绿灯20秒,黄灯亮3秒。8253计数器1的OUT1连接8255A的PA7,计数器2的OUT2连接PA6,通过判断PA6和PA7的高低电平来控制信号灯亮的时间。五.程序设
5、计流程图..发光二极管电路红灯绿灯六.程序连接图PB0~PB78255PA0~PA7PC4~PC7PC0~PC3OUT28253计数器2GATE2CLK2OUT1计数器1GATE1..CLK1OUT0计数器0GATE0CLK0七.程序清单CODESEGMENTASSUMECS:CODEORG2000HSTART:MOVDX,0FF2BHMOVAL,90HOUTDX,AL;初始化8255A,A口输入,B口、C口输出MOVDX,0043HMOVAL,36HMOVDX,AL;初始化8253计数器0,工
6、作方式为模式3MOVAL,72HOUTDX,AL;初始化8253计数器1,工作方式为模式1MOVAL,0B2HOUTDX,AL;初始化8253计数器2,工作方式为模式1MOVDX,0FF29HL:MOVAL,7DH..OUTDX,AL;东西路口绿灯亮,南北路口红灯亮CALLTIMER_G;调用延时20秒子程序MOVAL,7EHOUTDX,AL;东西路口黄灯亮,南北路口红灯亮CALLTIMEY;调用延时3秒子程序MOVAL,0DBHOUTDX,AL;东西路口红灯亮,南北路口绿灯亮CALLTIMER
7、_G;调用延时20秒子程序MOVAL,0EBHOUTDX,AL;东西路口红灯亮,南北路口黄灯亮CALLTIMEY;调用延时3秒子程序JMPL;跳转到东西路口绿灯亮,南北路口红灯亮TIMER_GPROCPUSHDXPUSHAX;将寄存器AX,DX压栈MOVDX,0040HMOVAX,10000OUTDX,ALMOVAL,AHOUTDX,AL;给8253计数器0赋初值MOVAX,2000MOVDX,0041H..OUTDX,ALMOVAL,AHOUTDX,AL;给8253计数器1赋初值MOVDX,0
8、FF28HP:INAL,DX;取8255A中A口的数据CMPAL,80H;若PA7为1则CPU继续检测PA7,直到PA7为0JNZP;则继续执行程序,延时完成POPAXPOPDXRETTIMEYPROCPUSHDXPUSHAXMOVDX,0040HMOVAX,10000OUTDX,ALMOVAL,AHOUTDX,AL;给8253计数器0赋初值MOVDX,0042HMOVAX,300OUTDX,ALMOVAL,AH..OUTDX,AL;给8253计数器2赋初值MOVDX,0FF28HQ:INAL,