




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、装 订 线 2015-2016学年其次学期计算机科学与工程学院期末考试卷 微机原理及汇编语言 (课程论文等试卷样式)学号: 姓名: 班级: 成果:评语:(考试题目及要求) 考试题目:基于Proteus和MASM的微机接口应用系统设计与实现 考试要求: 1. 基于Proteus软件和MASM软件环境实现 2. 基本内容 1) 设有一个十字路口,设计一个交通灯把握应用系统。用红、黄、绿等发光二极管 模拟交通信号灯,用LED七段数码管显示当前状态的剩余时间 2) 正常状况下,东西向和南北向的车道轮番放行。当东西向车道绿灯放行55秒后, 再用5秒显示黄灯;这期间南北向车道是红灯信号。然后南北向车道绿灯
2、放行,东西向 车道红灯禁行。依前交替。 3) 交警手中有把握器,按下特定键后,可放行某一通道的特殊车辆,其它方向禁行。 状态解除后恢复原通行过程。 4) 当前路口的交通信号状态由串口发送到虚拟串行终端,格式自定。 5) 用LCD液晶显示屏显示学校和学院简称“西北师大计工学院”、课程名“微机原 理期末设计”、自己的汉语名字和学号。 6) 按其次页“7.存储器模块设计选项”中提出的要求和抽取到的序号设计实现存储 器模块,ROM芯片中存储不少于20字节的自定义数据,交通灯每次的状态变化信息存 储在RAM芯片中,具体格式自定。 3. 考试结果由源代码文件、电路文件、论文和答辩PPT四部分构成 1) 课
3、程论文要求完成对系统设计实现总体思路的分析,完成对系统关键电路和关键 代码的分析,具体格式参见后附内容,论文不得少于2000字。 2) 源代码文件、电路文件、论文文件、答辩PPT文件要求尽量以个人学号或名字 命名。结果以EMAIL附件的形式发送到老师信箱:suogr。EMAIL主题: 2014卓越班 同学的微机原理考试试卷。空白处填提交报告的同学的名字。 4. 本页及后续其次页要求必需作为课程论文的封面,不得删除 5. 除上述内容外,课程论文要求另外两部分内容: 1) 对本学期该课程学习的总结。 2) 对老师的教学建议。 6. 全部考试内容独立完成,不得抄袭。 7. 存储器模块设计选项。把自己
4、抽取到的题目加粗。 说明:可选EPROM 2732和SRAM 6116等芯片,片选规律实现方式自定。存储器 模块和前面的交通灯、液晶屏显示应当在同一个CPU把握下。 1) 设计实现存储容量辨别为8KB的ROM和8KB的RAM,ROM区起始地址为 20000H,RAM起始地址为40000H。 2) 设计实现存储容量辨别为16KB的ROM和4KB的RAM,ROM区起始地址为 70000H,先是8KB ROM区,然后是4KB RAM区,然后是8KB ROM区。装 订 线 3) 设计实现存储容量辨别为8KB的ROM和8KB的RAM,RAM区起始地址为 30000H,先是4KB RAM区,然后是8KB
5、ROM区,然后是4KB RAM区。 4) 设计实现存储容量辨别为8KB的RAM和8KB的RAM,ROM区起始地址为 10000H,自地址40000H开头是4KB RAM,从60000H开头又是4KB RAM。 5) 设计实现存储容量辨别为16KB的ROM和4KB的RAM,RAM区起始地址为 20000H,自地址30000H开头是8KB ROM,从50000H开头又是8KB ROM。 6) 设计实现存储容量辨别为16KB的ROM和8KB的RAM,ROM区起始地址为 20000H,RAM起始地址为90000H。 欢迎下载摘 要 此次设计通过使用8086、8255等芯片设计存储器、显示器和红绿灯模块
6、。通过读取p82551C口信号实现把握器把握,取模软件取模后在显示屏中显示信息,及ROM、RAM中读取、存储数据。【关键词】 显示器、红绿灯、把握器、存储器目 录摘 要3第一章 期末考试课程设计21.1 目的21.2 设计环境、设备与器材2其次章 设计方案22.1 总体思路22.2 系统设计框架结构3第三章 设计实现33.1 系统硬件部分设计33.1.1 液晶屏部分43.1.2 交通灯把握部分53.1.3 存储器扩展部分63.1.4 系统总线连接73.1.5 片选规律部分73.2 系统软件部分设计83.2.1 液晶屏部分83.2.2 交通灯把握部分83.2.3 存储器扩展部分93.2.4 核心
7、数据结构103.3 程序流程图113.4 关键代码片段分析11第四章 设计验证144.1 验证步骤及结果144.1.1 液晶屏信息显示144.1.2 交通灯把握154.2 遇到的问题及解决164.3 需要争辩的其它问题174.4 结论17第五章 设计总结17第六章 课程学习总结17第七章 本课程教学建议18第八章 参考文献18附件:代码清单18 欢迎下载第一章 期末考试课程设计1.1 目的1) 设有一个十字路口,设计一个交通灯把握应用系统。用红、黄、绿等发光二极管 模拟交通信号灯,用LED七段数码管显示当前状态的剩余时间 2) 正常状况下,东西向和南北向的车道轮番放行。当东西向车道绿灯放行55
8、秒后, 再用5秒显示黄灯;这期间南北向车道是红灯信号。然后南北向车道绿灯放行,东西向 车道红灯禁行。依前交替。 3) 交警手中有把握器,按下特定键后,可放行某一通道的特殊车辆,其它方向禁行。 状态解除后恢复原通行过程。 4) 当前路口的交通信号状态由串口发送到虚拟串行终端,格式自定。 5) 用LCD液晶显示屏显示学校和学院简称“西北师大计工学院”、课程名“微机原 理期末设计”、自己的汉语名字和学号。 6) 按其次页“7.存储器模块设计选项”中提出的要求和抽取到的序号设计实现存储 器模块,ROM芯片中存储不少于20字节的自定义数据,交通灯每次的状态变化信息存 储在RAM芯片中,具体格式自定。1.
9、2 设计环境、设备与器材n Proteu软件其次章 设计方案2.1 总体思路8086芯片与74LS245 芯片、74273芯片相连组成CPU,8086的A0-A15引脚经过一些门电路形成选择8255A芯片;8255A芯片的功能是实现红绿灯转换及车辆放行与禁止、实现用LED七段数码管显示当前状态的剩余时间;8255A芯片的另一功能是用LCD液晶显示屏显示学校名称、学院简称、自己的汉语名字和学号,但要依靠字模转换伴侣提取要显示汉字的字码,在相应程序的驱动下,就会显示相应的信息;由于8253和8086协作使用时,取得的中断号是最终发到总线上的数据,所以中断把握用8255A芯片的C口做输入,每次查询C
10、口的状态,再由代码实现,设计按下开关后让哪一路通行哪一路禁止,通过相应的中断响应程序驱动运行。2.2 系统设计框架结构存储器模块:使用6116芯片与2732芯片通过74ls138芯片进行片选显示屏模块:使用LCD显示屏与一块8255A芯片8086CPU交通灯模块:使用一块8522A芯片与若干个LED灯、七段数码管构成,协作另一个8255A芯片实现把握器功能第三章 设计实现3.1 系统硬件部分设计3.1.1 液晶屏部分8255A1芯片把握液晶屏显示,PA,PB口置方式0输出,下方规律电路做8255A1的片选功能 。 3.1.2 交通灯把握部分交通灯模块:使用8255A2芯片公把握灯的亮灭与七段数
11、码管的输出,PA,PB,PC都为方式0输出,通过给PA口写入实现把握红绿灯的亮灭,PB,PC口把握七段数码管的输出。中间的把握器功能使用另一片8255芯片的C口实现。3.1.3 存储器扩展部分存储器模块:使用4块6116芯片与4快2732芯片构成16KB的ROM与8KB的RAM的存储器,下方的74LS用作片选3.1.4 系统总线连接3.1.5 片选规律部分3.2 系统软件部分设计3.2.1 液晶屏部分CALL INIT ;LCD 初始化 子程序init初始化8255A1芯片MOV BL,X MOV BH,YLEA SI,XI ;将西子的地址给siCALL DISPCHN ;在屏幕上显示3.2.
12、2 交通灯把握部分 通过给8522A2的PA口数据把握红绿灯的亮灭 PB口PC口分别用作七段数码管的显示MOV AL,80H ;给8255A2写把握字 10000000b MOV DX,IOCONPT F: LEA SI,ARRAY1 LEA DI,ARRAY2 OUT DX,AL MOV CX,55 A: MOV AL,10000100B ;左右绿灯,上下红灯 MOV DX,IOAPT OUT DX,AL MOV AL,DI MOV DX,IOBPT ;将PB口地址给dx OUT DX,AL ;在七段数码管上显示数字 INC DI MOV AL,SI MOV DX,IOCPT OUT DX,
13、AL INC SI CALL DELAY LOOP A PUSH CX MOV CX,6 B: MOV AL,00100100B ;左右黄灯,上下红灯 MOV DX,IOAPT OUT DX,AL MOV AL,SI MOV DX,IOCPT OUT DX,AL MOV DX,IOBPT OUT DX,AL INC SI CALL DELAY LOOP B POP CX LEA SI,ARRAY1 LEA DI,ARRAY2 MOV CX,55 E: MOV AL,01000010B ;左右红灯,上下绿灯 MOV DX,IOAPT OUT DX,AL MOV AL,SI MOV DX,IOBP
14、T OUT DX,AL INC SI MOV AL,DI MOV DX,IOCPT OUT DX,AL INC DI CALL DELAY LOOP E PUSH CX MOV CX,6 D: MOV AL,01000001B ;左右红灯,上下黄灯 MOV DX,IOAPT OUT DX,AL MOV AL,SI MOV DX,IOCPT OUT DX,AL MOV DX,IOBPT OUT DX,AL INC SI CALL DELAY LOOP D POP CX JMP F3.2.3 存储器扩展部分当红绿灯正常工作时向其中写入11H, 按下把握器1时写入10H,按下把握器2时写入01H;R
15、AM芯片存储数据 RAM1 PROC PUSH DS PUSH AX PUSH BX PUSH CXMOV BL, ALMOV AX, 0F9000HMOV DS, AXCMP BL, 00001110B JZ AA1CMP BL, 00001101B JZ AA2 JMP AA0AA0:MOV AX, 11H JMP AAAA1:MOV AX, 10H JMP AAAA2:MOV AX, 01HAA: MOV BX, 00H MOV BX, AX POP CX POP BX POP AX POP DS RET RAM1 ENDP3.2.4 核心数据结构本次设计使用到的数据结构是堆栈,在出栈入
16、栈中实现了爱护现场的作用例:DELAY PROC NEAR PUSH CX PUSH BX DEL2MS: MOV BL,2 DEL1MS:MOV CX,374 DEL1:PUSHF POPF LOOP DEL1 CALL CHECK DEC BL JNZ DEL1MS POP BX POP CX JMP OVER OVER: RET DELAY ENDP3.3 程序流程图3.4 关键代码片段分析把握器的实现:按本次设计要求实现了把握器的要求,使用8255A1芯片C口做查询 当主程序每调用一次延时子程序时都调用子程序check查询C口若C口为00001101或 00001110时调用子程序IN
17、1或IN2实现把握功能。把握器实现代码: DELAY PROC NEAR PUSH CX PUSH BX DEL2MS: MOV BL,2 DEL1MS:MOV CX,374 DEL1:PUSHF POPF LOOP DEL1 CALL CHECK DEC BL JNZ DEL1MS POP BX POP CX JMP OVER OVER: RET DELAY ENDP ;C口查询CHECK PROC MOV AL, 10000001B MOV DX, PCONT OUT DX, AL MOV DX, PORTC IN AL, DX ;MOV AH, AL CMP AL, 00001110B
18、JE INT1;MOV AL, AH CMP AL, 00001101B JE INT2 CALL RAM1JMP OVERINT1: CALL RAM1CALL IN1JMP OVER INT2: CALL RAM1CALL IN2OVER: RETCHECK ENDP;PC0口置0,PC1口置1,上下通行IN1 PROC NEAR PUSH CX PUSH AX PUSH BX PUSH DX PUSH SI PUSH DI MOV AL,80H MOV DX,IOCONPT LEA SI,ARRAY3 OUT DX,AL MOV CX,11 A0: MOV AL,01000010B ;左
19、右红灯,上下绿灯 MOV DX,IOAPT OUT DX,AL MOV AL,SI MOV DX,IOCPT OUT DX,AL MOV DX,IOBPT OUT DX,AL INC SI CALL DELAY1 LOOP A0 POP DI POP SI POP DX POP AX POP CX RETIN1 ENDP;PC1口置0,PC0口置1,左右通行IN2 PROC NEAR PUSH CX PUSH AX PUSH DX PUSH SI PUSH DI MOV AL,80H MOV DX,IOCONPT LEA SI,ARRAY3 OUT DX,AL MOV CX,11 A1: MO
20、V AL,10000100B ;左右绿灯,上下红灯 MOV DX,IOAPT OUT DX,AL MOV AL,SI MOV DX,IOCPT OUT DX,AL MOV DX,IOBPT OUT DX,AL INC SI CALL DELAY1 LOOP A1 POP DI POP SI POP DX POP AX POP CX RETIN2 ENDPDELAY1 PROC NEAR PUSH CX PUSH BX DEL2MS: MOV BL,2 DEL1MS:MOV CX,374 DEL1:PUSHF POPF LOOP DEL1 DEC BL JNZ DEL1MS POP BX POP
21、 CX JMP OVEROVER: RET DELAY1 ENDP 第四章 设计验证4.1 验证步骤及结果4.1.1 液晶屏信息显示4.1.2 交通灯把握闭合K1或K2开关实现可把握的单向通行,但开关闭合后需要打开否则会持续进性行单向通行4.2 遇到的问题及解决(1)制作存储器模块时需更改数据段地址但该数据段地址会导致显示器显示错误显示乱码。(2)制作把握器时开头选用8259芯片但该芯片在模拟软件中该模型存在问题故选用查询8255芯片C口的方式实现把握器功能。(3)虚拟终端未完成,将虚拟终端加入设计中导致不断报错后始终未解决4.3 需要争辩的其它问题 (1)不会使用8086自带的中断功能。(2
22、)对于ROM以及RAM的使用还存在问题。4.4 结论 实现了液晶屏显示与交通灯模块,使用8255A口代替中断功能。第五章 设计总结在本次设计中,使用了8255可编程并行接口,6116芯片,2732芯片实现了,实现了液晶屏模块、交通灯模块与存储器模块,实现了在液晶屏上显示学校、姓名、期末测试及学号,实现了南北东西方向红绿灯交通指挥 ,通过查询C口实现了交警的把握器功能。第六章 课程学习总结微机原理与接口技术这门课程,依据微处理器的最新进展,从Intel系统微处理器整体着眼,又落实到最基本的、最常用的8086处理器,介绍了微机系统原理,8086指令系统和汇编语言程序设计,主存储器与的接口
23、、输入输出、中断以及常用的微机接口电路的数模()转换与模数()转换接口,使我们坚固把握了微型计算机的原理和硬件接口技术,建立了微型计算机的整体概念,对硬件的接口技术和软件汇编语言程序设计方面都有了肯定程度的把握与理解。当然,在为期一学期的教学活动中,自己在学习过程中也存在很多问题,这一点,我会改正。虽然这学期的课结束了,但我会在下学期、寒暑假将自己在这门课上学的不够扎实的地方补回来,不仅由于自己在这方面学的不好,还由于微机原理与接口技术在专业领域有很重要的地位,作为专业同学,我们必需很好地把握它!第七章 本课程教学建议这门课程格外有难度,根进老师的讲课进度有时会感觉有些吃力,而且期末作业的课程
24、设计很有挑战性,让很多同学绞尽脑汁,但是,难度还是比较大,通过老师的讲解,上网查资料,同学之间相互挂念,大家在设计的过程中学到了很多新的东西,但最终的完成效果还是不太尽人意。第八章 参考文献1 戴梅萼、史嘉权,微型计算机技术及应用,清华高校出版社,2003年;2 邓振杰,微机原理与接口技术基础与应用,海洋出版社,2005年;3 杨斌,微机原理与接口技术试验及课程设计,西南交通高校出版社,2005年;附件:代码清单PORTA EQU 0200H ;8255的PA口地址 PORTB EQU 0202H ;A1、A2用于端口选择 PORTC EQU 0204H ;PC口,上面是PB口 PCONT E
25、QU 0206H IOAPT EQU 0400H IOBPT EQU 0402H IOCPT EQU 0404H IOCONPT EQU 0406HPCONT EQU 0206H ;8255的把握口地址RESET EQU 11100010B ;LCD 复位命令码DISP_ON EQU 10101111B ;LCD 显示开命令码DISP_NOR EQU 10100110B ;LCD 正常显示命令码DISP_ALL EQU 10100100B ;LCD 全部点全部显示命令码LINE0 EQU 01000000B ; 行号, 0开头, 到63PAGE0 EQU 10110000B ; 页号, 0开头
26、, 到7COLHIGH EQU 00010000B ; 列号高四位COLLOW EQU 00000000B ; 列号低四位, 共16列ADCA EQU 10100000B ; 向左显示命令码DATA SEGMENT ;定义数据段ARRAY1 DB 60H,59H,58H,57H,56H,55H,54H,53H,52H DB 51H,50H,49H,48H,47H,46H,45H,44H DB 43H,42H,41H,40H,39H,38H,37H,36H DB 35H,34H,33H,32H,31H,30H,29H,28H DB 27H,26H,25H,24H,23H,22H,21H,20H
27、DB 19H,18H,17H,16H,15H,14H,13H,12H DB 11H,10H,09H,08H,07H,06H,05H,04H DB 03H,02H,01H,00HARRAY2 DB 55H,54H,53H,52H,51H,50H,49H,48H DB 47H,46H,45H,44H,43H,42H,41H,40H DB 39H,38H,37H,36H,35H,34H,33H,32H DB 31H,30H,29H,28H,27H,26H,25H,24H DB 23H,22H,21H,20H,19H,18H,17H,16H DB 15H,14H,13H,12H,11H,10H,09H
28、,08H DB 07H,06H,05H,04H,03H,02H,01H,00H ARRAY3 DB 10H,09H,08H,07H,06H,05H,04H,03H,02H,01H,00H XI DB 02H,02H,0E2H,22H,22H,0FEH,22H,22H,22H,0FEH,22H,22H,0E2H,02H,02H,00HDB 00H,00H,0FFH,48H,44H,43H,40H,40H,40H,43H,44H,44H,0FFH,00H,00H,00HBEI DB 00H,20H,20H,20H,20H,0FFH,00H,00H,00H,0FFH,40H,20H,10H,08H,
29、00H,00HDB 20H,60H,20H,10H,10H,0FFH,00H,00H,00H,3FH,40H,40H,40H,40H,78H,00HSHI DB 00H,0FCH,00H,00H,0FFH,00H,02H,0E2H,22H,22H,0FEH,22H,22H,0E2H,02H,00HDB 00H,87H,40H,30H,0FH,00H,00H,1FH,00H,00H,0FFH,08H,10H,0FH,00H,00HDA DB 20H,20H,20H,20H,20H,20H,20H,0FFH,20H,20H,20H,20H,20H,20H,20H,00HDB 80H,80H,40H
30、,20H,10H,0CH,03H,00H,03H,0CH,10H,20H,40H,80H,80H,00HJI DB 40H,40H,42H,0CCH,00H,40H,40H,40H,40H,0FFH,40H,40H,40H,40H,40H,00HDB 00H,00H,00H,7FH,20H,10H,00H,00H,00H,0FFH,00H,00H,00H,00H,00H,00HGONG DB 00H,04H,04H,04H,04H,04H,04H,0FCH,04H,04H,04H,04H,04H,04H,00H,00HDB 20H,20H,20H,20H,20H,20H,20H,3FH,20H
31、,20H,20H,20H,20H,20H,20H,00HYUAN DB 00H,0FEH,22H,5AH,86H,10H,0CH,24H,24H,25H,26H,24H,24H,14H,0CH,00HDB 00H,0FFH,04H,08H,07H,80H,41H,31H,0FH,01H,01H,3FH,41H,41H,71H,00HWEI DB 10H,88H,0C4H,33H,80H,9EH,90H,9FH,90H,9EH,20H,0D8H,17H,0F0H,10H,00HDB 01H,00H,0FFH,80H,40H,3EH,02H,02H,3EH,10H,88H,67H,18H,67H,
32、80H,00HJI2 DB 10H,10H,0D0H,0FFH,90H,10H,00H,0FEH,02H,02H,02H,0FEH,00H,00H,00H,00HDB 04H,03H,00H,0FFH,00H,83H,60H,1FH,00H,00H,00H,3FH,40H,40H,78H,00HYUAN2 DB 00H,00H,0FEH,02H,02H,0F2H,92H,9AH,96H,92H,92H,0F2H,02H,02H,02H,00HDB 80H,60H,1FH,40H,20H,17H,44H,84H,7CH,04H,04H,17H,20H,40H,00H,00HLI DB 04H,8
33、4H,84H,0FCH,84H,84H,00H,0FEH,92H,92H,0FEH,92H,92H,0FEH,00H,00HDB 20H,60H,20H,1FH,10H,10H,40H,44H,44H,44H,7FH,44H,44H,44H,40H,00HQI DB 00H,04H,0FFH,24H,24H,24H,0FFH,04H,00H,0FEH,22H,22H,22H,0FEH,00H,00HDB 88H,48H,2FH,09H,09H,19H,0AFH,48H,30H,0FH,02H,42H,82H,7FH,00H,00HMO DB 08H,88H,88H,88H,88H,88H,88
34、H,0FFH,88H,88H,88H,88H,88H,88H,08H,00HDB 20H,20H,10H,08H,04H,02H,01H,0FFH,01H,02H,04H,08H,10H,20H,20H,00HSHE DB 40H,40H,42H,0CCH,00H,40H,0A0H,9EH,82H,82H,82H,9EH,0A0H,20H,20H,00HDB 00H,00H,00H,3FH,90H,88H,40H,43H,2CH,10H,28H,46H,41H,80H,80H,00HYIN DB 00H,00H,0FEH,0AAH,0AAH,0A9H,0F9H,00H,0A0H,9EH,82H
35、,82H,9EH,0A0H,20H,00H DB 40H,30H,0FH,02H,22H,42H,3EH,80H,80H,43H,2CH,10H,2CH,43H,80H,00H JIE DB 00H,08H,08H,88H,48H,28H,18H,0FFH,18H,28H,48H,88H,08H,08H,00H,00H DB 82H,42H,31H,00H,00H,10H,60H,07H,10H,60H,00H,00H,11H,0E2H,02H,00H ;“ 幸福” 的“ 福” 字的纵向取模, 字节倒序的字模;以下为0到9的字模, 半角数据, 上面的汉字是全角的C0 DB 00H,0E0H,1
36、0H,08H,08H,10H,0E0H,00HDB 00H,0FH,10H,20H,20H,10H,0FH,00HC1 DB 00H,10H,10H,0F8H,00H,00H,00H,00HDB 00H,20H,20H,3FH,20H,20H,00H,00HC2 DB 00H,70H,08H,08H,08H,88H,70H,00HDB 00H,30H,28H,24H,22H,21H,30H,00HC3 DB 00H,30H,08H,88H,88H,48H,30H,00HDB 00H,18H,20H,20H,20H,11H,0EH,00HC4 DB 00H,00H,0C0H,20H,10H,0F
37、8H,00H,00HDB 00H,07H,04H,24H,24H,3FH,24H,00HC5 DB 00H,0F8H,08H,88H,88H,08H,08H,00HDB 00H,19H,21H,20H,20H,11H,0EH,00HC6 DB 00H,0E0H,10H,88H,88H,18H,00H,00HDB 00H,0FH,11H,20H,20H,11H,0EH,00HC7 DB 00H,38H,08H,08H,0C8H,38H,08H,00HDB 00H,00H,00H,3FH,00H,00H,00H,00HC8 DB 00H,70H,88H,08H,08H,88H,70H,00HDB
38、00H,1CH,22H,21H,21H,22H,1CH,00HC9 DB 00H,0E0H,10H,08H,08H,10H,0E0H,00HDB 00H,00H,31H,22H,22H,11H,0FH,00HTEMP DB 32 DUP(0) ; 临时字模数据区X DB 0 ;显示位置的起始行号Y DB 0 ;显示位置的起始列号DATA ENDS ;数据段定义结束STACK SEGMENT STACK ; 预备定义堆栈段STP DW 100 DUP(?) ; 预先定义的堆栈深度LEN EQU $-STPSTACK ENDS ;堆栈段定义结束CODE SEGMENT 'code'
39、 ;定义代码段ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA ; 初始化数据段MOV DS,AXCALL INIT ;LCD 初始化;预备显示福字, SI<-字模位置,X->BL,Y->BHMOV BL,XMOV BH,YLEA SI,XICALL DISPCHNMOV BL,1MOV BH,0LEA SI,BEICALL DISPCHNMOV BL,2MOV BH,0LEA SI,SHICALL DISPCHNMOV BL,3MOV BH,0LEA SI,DACALL DISPCHNMOV BL,4MOV BH,0LEA S
40、I,JICALL DISPCHNMOV BL,5MOV BH,0LEA SI,GONGCALL DISPCHNMOV BL,6MOV BH,0LEA SI,YUANCALL DISPCHNMOV BL,0MOV BH,1LEA SI,WEICALL DISPCHNMOV BL,1MOV BH,1LEA SI,JI2CALL DISPCHNMOV BL,2MOV BH,1LEA SI,YUAN2CALL DISPCHNMOV BL,3MOV BH,1LEA SI,LICALL DISPCHNMOV BL,4MOV BH,1LEA SI,QICALL DISPCHNMOV BL,5MOV BH,1
41、LEA SI,MOCALL DISPCHNMOV BL,6MOV BH,1LEA SI, SHECALL DISPCHNMOV BL,7MOV BH,1LEA SI,JICALL DISPCHNMOV BL,0MOV BH,2LEA SI,YINCALL DISPCHNMOV BL,1MOV BH,2LEA SI,JIECALL DISPCHN;预备显示半角数字2,SI<-2的字模区首地址;列号->BL,行号->BH, 因半角数字与全角汉字字模存储; 空间数不同, 故用不同的子程序来显示MOV BL,0MOV BH,3LEA SI,C2LEA DI,C0LEA BP,TEMP
42、CALL FULLCHAMOV BL,1MOV BH,3LEA SI,C1LEA DI,C4LEA BP,TEMPCALL FULLCHAMOV BL,2MOV BH,3LEA SI,C7LEA DI,C1LEA BP,TEMPCALL FULLCHAMOV BL,3MOV BH,3LEA SI,C0LEA DI,C3LEA BP,TEMPCALL FULLCHAMOV BL,4MOV BH,3LEA SI,C0LEA DI,C1LEA BP,TEMPCALL FULLCHAMOV BL,5MOV BH,3LEA SI,C3LEA DI,C1LEA BP,TEMPCALL FULLCHA;显示
43、完一个汉字和一个数字, 在原地循环等待;JMP $; MOV AL, 10000001B ;MOV DX, PCONT ;OUT DX, AL;MOV AL, 00000000B;MOV DX, PORTC;OUT DX, AL ; 交通灯MOV AL,80H MOV DX,IOCONPT F: LEA SI,ARRAY1 LEA DI,ARRAY2 OUT DX,AL MOV CX,55 A: MOV AL,10000100B ;左右绿灯,上下红灯 MOV DX,IOAPT OUT DX,AL MOV AL,DI MOV DX,IOBPT OUT DX,AL INC DI MOV AL,SI
44、 MOV DX,IOCPT OUT DX,AL INC SI CALL DELAY LOOP A PUSH CX MOV CX,6 B: MOV AL,00100100B ;左右黄灯,上下红灯 MOV DX,IOAPT OUT DX,AL MOV AL,SI MOV DX,IOCPT OUT DX,AL MOV DX,IOBPT OUT DX,AL INC SI CALL DELAY LOOP B POP CX LEA SI,ARRAY1 LEA DI,ARRAY2 MOV CX,55 E: MOV AL,01000010B ;左右红灯,上下绿灯 MOV DX,IOAPT OUT DX,AL
45、MOV AL,SI MOV DX,IOBPT OUT DX,AL INC SI MOV AL,DI MOV DX,IOCPT OUT DX,AL INC DI CALL DELAY LOOP E PUSH CX MOV CX,6 D: MOV AL,01000001B ;左右红灯,上下黄灯 MOV DX,IOAPT OUT DX,AL MOV AL,SI MOV DX,IOCPT OUT DX,AL MOV DX,IOBPT OUT DX,AL INC SI CALL DELAY LOOP D POP CX JMP F;红绿灯延时子程序DELAY PROC NEAR PUSH CX PUSH
46、BX DEL2MS: MOV BL,2 DEL1MS:MOV CX,374 DEL1:PUSHF POPF LOOP DEL1 CALL CHECK DEC BL JNZ DEL1MS POP BX POP CX JMP OVER OVER: RET DELAY ENDP ;C口查询CHECK PROC MOV AL, 10000001B MOV DX, PCONT OUT DX, AL MOV DX, PORTC IN AL, DX ;MOV AH, AL CMP AL, 00001110B JE INT1;MOV AL, AH CMP AL, 00001101B JE INT2 CALL
47、RAM1JMP OVERINT1: CALL RAM1CALL IN1JMP OVER INT2: CALL RAM1CALL IN2OVER: RETCHECK ENDP;PC0口置0,PC1口置1,上下通行IN1 PROC NEAR PUSH CX PUSH AX PUSH BX PUSH DX PUSH SI PUSH DI MOV AL,80H MOV DX,IOCONPT LEA SI,ARRAY3 OUT DX,AL MOV CX,11 A0: MOV AL,01000010B ;左右红灯,上下绿灯 MOV DX,IOAPT OUT DX,AL MOV AL,SI MOV DX,I
48、OCPT OUT DX,AL MOV DX,IOBPT OUT DX,AL INC SI CALL DELAY1 LOOP A0 POP DI POP SI POP DX POP AX POP CX RETIN1 ENDP;PC1口置0,PC0口置1,左右通行IN2 PROC NEAR PUSH CX PUSH AX PUSH DX PUSH SI PUSH DI MOV AL,80H MOV DX,IOCONPT LEA SI,ARRAY3 OUT DX,AL MOV CX,11 A1: MOV AL,10000100B ;左右绿灯,上下红灯 MOV DX,IOAPT OUT DX,AL M
49、OV AL,SI MOV DX,IOCPT OUT DX,AL MOV DX,IOBPT OUT DX,AL INC SI CALL DELAY1 LOOP A1 POP DI POP SI POP DX POP AX POP CX RETIN2 ENDPDELAY1 PROC NEAR PUSH CX PUSH BX DEL2MS: MOV BL,2 DEL1MS:MOV CX,374 DEL1:PUSHF POPF LOOP DEL1 DEC BL JNZ DEL1MS POP BX POP CX JMP OVER OVER: RET DELAY1 ENDP ;RAM芯片存储数据 RAM1
50、 PROC PUSH DS PUSH AX PUSH BX PUSH CXMOV BL, ALMOV AX, 0F9000HMOV DS, AXCMP BL, 00001110B JZ AA1CMP BL, 00001101B JZ AA2 JMP AA0AA0:MOV AX, 11H JMP AAAA1:MOV AX, 10H JMP AAAA2:MOV AX, 01HAA: MOV BX, 00H MOV BX, AX POP CX POP BX POP AX POP DS RET RAM1 ENDP INIT PROC NEAR ;LCD 与8255初始化子程序MOV AL,100000
51、00BMOV DX,PCONTOUT DX,AL ;INIT 8255MOV AL,00000001B ;INIT LCDMOV DX,PORTBOUT DX,ALNOPMOV AL,RESET ;RESETMOV DX,PORTAOUT DX,ALNOPMOV AL,00000000BMOV DX,PORTBOUT DX,ALMOV AL,00000001BMOV DX,PORTBOUT DX,ALNOPMOV AL,DISP_ON ;DISP ONMOV DX,PORTAOUT DX,ALNOPMOV AL,00000000BMOV DX,PORTBOUT DX,ALMOV AL,00000001BMOV DX,PORTBOUT DX,ALNOPMOV AL,ADCA ;ADCINC ALMOV DX,PORTAOUT DX,ALNOPMOV AL,00000000BMOV DX,PORTBOUT DX,ALMOV AL,00000001B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年老司机三力测试题及答案
- 2025年陪诊师考试前八大准备试题与答案
- 2025年软件架构师职业考试模拟试题
- 2025年高级油气管道安全工程师面试要点及预测题
- 2025年篮球裁判考试题及答案
- 2026届贵州省黔东南州剑河县第四中学化学高二第一学期期中综合测试试题含解析
- 桥本氏甲状腺病课件
- 2025年心理咨询师面试技巧心理评估与咨询技能模拟题集
- 2025年软件开发项目经理面试全攻略及预测题解析
- 桑塔纳转向系拆装与检修
- 学校中层干部的职责和角色定位
- 苍天般的阿拉善合唱简谱
- 房屋建筑学-墙和基础-砌块墙构造课件
- 工程项目投资与融资完整全套课件
- 贸易经营类企业生产安全事故应急预案
- 数据中心负荷计算方法
- YY/T 1851-2022用于增材制造的医用纯钽粉末
- GB/T 20858-2007玻璃容器用重量法测定容量试验方法
- 生活中的会计课件
- 辽宁大学学生手册
- 酒水购销合同范本(3篇)
评论
0/150
提交评论