微机汇编语言 红绿灯实验

上传人:第*** 文档编号:34054614 上传时间:2018-02-20 格式:DOC 页数:25 大小:15.46MB
返回 下载 相关 举报
微机汇编语言 红绿灯实验_第1页
第1页 / 共25页
微机汇编语言 红绿灯实验_第2页
第2页 / 共25页
微机汇编语言 红绿灯实验_第3页
第3页 / 共25页
微机汇编语言 红绿灯实验_第4页
第4页 / 共25页
微机汇编语言 红绿灯实验_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《微机汇编语言 红绿灯实验》由会员分享,可在线阅读,更多相关《微机汇编语言 红绿灯实验(25页珍藏版)》请在金锄头文库上搜索。

1、第 1 页 共 25 页微机原理与接口技术课程设计报告班级: 学号: 姓名: 同组队员: 指导教师: 日期: 12 月 25 日1 月 9 日 课程设计实验报告第 2 页 共 25 页目 录1 课程设计的目的及基本要求 32 设计题一 32.1 程序目的与内容 32.2 流程图 32.3 源程序 42.4 调试过程及程序运行结果 63 设计题二 83.1 实验电路及连线 9 3.2 程序设计思想 93.3 程序流程图 103.4 实验程序 113.5 设计题二提高及拓展 133.6 实验结果分析 214 设计题三4.1 程序设计思想 224.2 流程图 234.3 源程序 234.4 调试过程

2、及程序运行结果 245 实验心得 256 参考文献 26课程设计目的及基本要求: 课程设计实验报告第 3 页 共 25 页本课程设计是微机原理与接口技术课程的配套内容。微型计算机在很多场合作为一个控制系统的控制部件或作为一个设备的智能化部件融入系统中。对于自动化专业的学生了解和认识微机的硬件结构和输入输出接口技术是十分必要的。实验题目(1)编制一个完整的程序,计算 10 个正整数(字数据)之和,如果不超过机器数范围(65535) ,则计算其平均值并存于 RESULT 中,否则显示“OVERFLOW”。一、程序设计思想:程序目的是为了实现在程序模拟软件 dos 的环境下,实现对 10 个数字字符

3、取平均值,并要求能够判断是否超过机器数的范围,如果超出,则显示“OVERFLOW”,如果不超出则显示平均值,而且能够实现多位显示。 二、程序流程图:开始取被加数(CX) (CX)-1数据块长度送 CXY:显示“overflow”判断进位标志位是溢出。取加数两数相加两数相加CX 是否为 0YNY显示 RESULT结束N 课程设计实验报告第 4 页 共 25 页三、源程序:DATA SEGMENTNUM DW 5,5,5,5,5,5,5,5,5,5,ERR DB OVERFLOW,0DH,0AH,$RESULTDW ?DATA ENDSCODE SEGMENTASSUMECS: CODE,DS:

4、DATABEGIN:MOV AX,DATAMOV DS,AXXOR AX,AXMOV SI,AXMOV CX,10SUM: ADD AX,NUMSIJC NEXTADD SI,2LOOP SUMMOV BX,10MOV DX,0DIV BXMOV RESULT,AXJMP SHORT EXITNEXT: LEA DX,STRMOV AH,09HINT 21HEXIT: MOV AH,4CHINT 21HCODE ENDSEND BEGIN 课程设计实验报告第 5 页 共 25 页四、调试过程及程序运行结果:4.1 溢出的情况: 课程设计实验报告第 6 页 共 25 页4.2 未溢出的结果: 课

5、程设计实验报告第 7 页 共 25 页实验题目(2)根据实际交通灯的变化规律,共有东西南北四个信号灯。其中,共设定四种状态:初始状态 0:东西方向红灯,南北方向也为红灯。状态 1:南北方向绿灯通车,东西保持红灯。状态 2:南北方向黄灯闪三次,提示即将变灯,东西方向仍然红灯。 课程设计实验报告第 8 页 共 25 页状态 3:东西方向绿灯通车,南北方向红灯。状态 4:东西方向黄灯闪三次,提示即将变灯,南北仍然红灯.整个运行过程为:状态 0状态 1状态 2状态 3状态 4,状态 4 执行完毕后返回状态 1,依此循环。双色 LED 是由一个红色 LED 管芯和一个绿色 LED 管芯封装在一起,公用正

6、端,为高电平。当红色负端加低电平,绿色负端加高电平时,红灯导通,即亮红灯;反之,则绿灯亮;若两个负端均加低电平时,黄灯亮。这个设计基于实验室 8051/8088 实验箱的基础上进行,以 8255 作为输出口,控制 4 个双色 LED 灯(可发红、绿、黄光) ,模拟十字路口交通灯管理。具体的来说,程序首先通过 203H 端口设置端口为全输出,通过从 202H 的地址端口输出数据,可以让 PORTC8 根线控制红绿灯,069H 给 LED 呈现南北绿东西红的状态,将 BX 赋值为 1FFFH,进行一个比较长时间的延时。程序进入一个循环次数为 3 的循环,把 041H 和 07DH 分别输出,实现黄

7、灯闪烁 3 次的效果,延时程序赋值 1AAH。再从端口输出 096H 使得南北 红东西绿的状态,长延时之后黄灯闪烁三次,进入新一轮的循环。一、实验电路及连线:基于实验室 8051/8088 实验箱的基础上进行二、程序思想: 课程设计实验报告第 9 页 共 25 页程序首先通过 203H 端口设置端口为全输出,通过从 202H 的地址端口输出数据,可以让 PORTC8 根线控制红绿灯。首先做一次显示的初始化,把 0H 输出,对 LED 清零。然后输出 0FH,让 LED 呈现全红的状态,将 BX 赋值为7FH,进入延时程序。然后输出,10010110B 给 LED 呈现南北绿东西红的状态,将 B

8、X 赋值为 200H,进行一个比较长时间的延时。程序进入一个循环次数为 3的循环,把 10011111B 和 10010110B 分别输出,实现绿灯闪烁 3 次的效果,延时程序赋值 20H。再从端口输出 00000110B,使得南北呈现黄灯,延时一段时间,进入新一段的状态,程序原理相同。 三、程序流程图:四、实验程序:初始化设置 8255 各口为输出清 LED四灯全红延时南北绿灯,东西红灯,延时绿灯闪三次南北黄灯,延时南北红灯,东西绿灯,延时绿灯闪三次东西黄灯,延时 课程设计实验报告第 10 页 共 25 页DSEG SEGMENTDSEG ENDSSSEG SEGMENTSTA DW 50

9、DUP(?)TOP EQU LENGTH STASSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEG,ES:DSEG,SS:SSEGBEGIN:MOV AL,80H ;设置为全输出MOV DX,0203HOUT DX,ALMOV DX,0202HOVF:MOV AL,069H ;南北绿灯,东西红灯OUT DX,ALCALL LDELAYMOV AL,041H ;黄灯闪烁三次OUT DX,ALCALL DELAYMOV AL,07DHOUT DX,ALCALL DELAYMOV AL,041HOUT DX,ALCALL DELAYMOV AL,07DHOUT D

10、X,ALCALL DELAYMOV AL,041HOUT DX,AL 课程设计实验报告第 11 页 共 25 页CALL DELAYMOV AL,07DHOUT DX,ALCALL DELAYMOV AL,096H ;南北红灯,东西绿灯OUT DX,ALCALL LDELAYMOV AL,014H ;黄灯闪烁三次OUT DX,ALCALL DELAYMOV AL,0D7HOUT DX,ALCALL DELAYMOV AL,014HOUT DX,ALCALL DELAYMOV AL,0D7HOUT DX,ALCALL DELAYMOV AL,014HOUT DX,ALCALL DELAYMOV

11、AL,0D7HOUT DX,ALCALL DELAYJMP OVFDELAY PROC NEAR ;短延时,即闪烁延时MOV BX,1AAHNEXT1:MOV CX,0DFH 课程设计实验报告第 12 页 共 25 页NEXT2:LOOP NEXT2DEC BXJNZ NEXT1RETDELAY ENDPLDELAY PROC NEAR ;长延时,即信号灯延时 MOV BX,1FFFHNEXT3:MOV CX,0DFH NEXT4:LOOP NEXT2DEC BXJNZ NEXT3RETLDELAY ENDPCSEG ENDSEND BEGIN提高要求 2(在状态 2、4 绿灯闪烁的同时让八段

12、数码管出现倒计时)程序先通过 8255 C 口输出数据,让 PORTC8 根线控制红绿灯,再通过 B 口输出数据,让八段数码管在绿灯闪烁时出现 3 秒倒计时。主程序不变,在每次绿亮调出延迟程序之后插入倒计时程序。 课程设计实验报告第 13 页 共 25 页LED 灯在实验箱中的基本电路八位流水灯在试验箱中的电路显示字符 段符号的值 显示代码 课程设计实验报告第 14 页 共 25 页dp g f e d c b a0123456789ABCDEF000000000000000000111110111101111000111011111011101000101011111110110110110

13、111101101111111110100111110011110010010110111111010113FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H71H共阴极八段发光二极管显示器字符显示代码表一、源程序:D1 EQU 10HD2 EQU 200HDATA SEGMENTPB DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV DX,203H ;设置为全输出MOV AL,80HOUT DX,ALMOV DX,202HMOV AL,00HOUT DX,AL ;清 LEDMOV DX,202H ;全红MOV A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号