资源描述:
《微机原理课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、微机原理课程设计姓名王志清学院生物科学与工程学院班级10生物医学工程学号201030760333指导老师成绩微机原理课程设计一、设计题目设计使用8086CPU系统,模拟控制交通信号灯工作及软件。二、设计目的熟练掌握分析程序、画程序流程图、编程及调试程序方法。三、交通灯设计工作原理1、初态:4个红灯全亮,禁止通行5秒2、南北:绿灯亮;东西:红灯亮(10秒)3、南北:绿灯灭,黄灯闪(闪烁3次)4、4个路口红灯全亮(0.5秒)5、东西:绿灯亮;同时南北:红灯亮(10秒)6、东西:绿灯灭,黄灯闪(闪烁3次)
2、7、4个路口红灯全亮(0.5秒)8、循环重复2~7的状态四、设计内容(一)设计原理首先,为了调用交通灯界面,必须在程序开头加上语句#start=Traffic_Lights.exe#。因为路口的四个交通灯分别对应0123456789AB,且对高电平1有效,因此只要先设定好各种情况下交通灯的状态控制字,并用OUT指令将交通灯状态控制字输出到端口4,就可以控制交通灯的显示效果。再者,为了设定交通灯每种状态的持续时间,需要添加一个延时操作,而我是用了一个宏指令来设计交通灯状态的延时步骤。最后,用一个JMP
3、指令跳回南北绿灯亮、东西红灯亮的步骤,则可到达各个状态一直循环的效果。(三)程序代码(附注释);controllingexternaldevicewith8086microprocessor.;realistictestforc:emu8086devicesTraffic_Lights.exe#start=Traffic_Lights.exe#name"traffic"main:movax,all_redout4,axmovsi,offsetsituationnext0:movax,[si]o
4、ut4,ax;wait5seconds(5millionmicroseconds)movcx,4Ch;004C4B40h=5,000,000movdx,4B40hmovah,86hint15h;中断5秒jmplooper;初态结束next1:movax,[si]out4,axmovcx,98hmovdx,9680hmovah,86hint15h;中断10秒next2:movax,[si]out4,axmovcx,07hmovdx,0a120hmovah,86hint15h;中断0.5秒looper:
5、addsi,2;nextsituationcmpsi,sit_end0jbnext1;南北绿灯亮,东西红灯亮10秒cmpsi,sit_end1jbnext2;南北黄灯闪3次cmpsi,sit_end2jbnext1;东西绿灯亮,南北红灯亮cmpsi,sit_end3;东西黄灯闪3次,黄灯变红灯jbnext2movsi,offsetsituationjmplooper;循环2-7;FEDC_BA98_7654_3210situationdw0000_0010_0100_1001bs1dw0000_00
6、11_0000_1100b;南北变绿,东西变红sit_end0=$s2dw0000_0010_1000_1010bs3dw0000_0010_0000_1000bs4dw0000_0010_1000_1010bs5dw0000_0010_0000_1000bs6dw0000_0010_1000_1010bs7dw0000_0010_0000_1000bs8dw0000_0010_0100_1001b;南北黄灯闪,变红灯sit_end1=$s9dw0000_1000_0110_0001b;东西变绿,南
7、北变红sit_end2=$s10dw0000_0100_0101_0001bs11dw0000_0000_0100_0001bs12dw0000_0100_0101_0001bs13dw0000_0000_0100_0001bs14dw0000_0100_0101_0001bs15dw0000_0000_0100_0001bs16dw0000_0010_0100_1001b;东西黄灯闪,红灯亮sit_end3=$all_redequ0000_0010_0100_1001b;四个红灯全亮(四)遇到的问
8、题1.在执行next0初态中断5秒后,一开始未写跳转程序:jmplooper,结果继续执行了next1和next2,导致初态四个红灯亮了15.5秒,查找程序后,在next0后面添加了跳转,使程序执行了next0后直接跳转到灯控主程序looper处。2.在设置各个灯的二进制状态时候,由于把上横杠当成下横杠,程序执行出错,导致四个方向的绿灯红灯一起亮,四个方向同时同行。3.在next2后面由于漏了冒号。导致编译出错,不能识别。添加冒号后恢复正常。4.在s9的二进制状态中,