微机原理课程设计报告

微机原理课程设计报告

ID:11188082

大小:194.50 KB

页数:7页

时间:2018-07-10

微机原理课程设计报告_第1页
微机原理课程设计报告_第2页
微机原理课程设计报告_第3页
微机原理课程设计报告_第4页
微机原理课程设计报告_第5页
资源描述:

《微机原理课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

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的二进制状态中,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。