




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上级考试练习题及程序(仅供参考)上机考试练习 样题1编制一个程序,使其能完成:当从标准键盘上任何时候键入任一数字键时可显示在 LED1 上。要求按键之前,在 CRT 屏幕上显示有关提示信息。当开关 K8为“ 1 ”时,结束程序。设 8255 A 的 A 口作八段 LED 显示器的段选口, B 口作位选口, C 口接开关。DATA SEGMENTMESS1 DB PLEASE PRESS ONE KEY !,13,10,$MESS2 DB 3FH,06H,5BH,4FH, 66HDB 6DH,7DH,07H,7FH, 6FH,MESS3 DB OK !,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,30CH MOV AL,89H ;A口、B口输出,C口输入 OUT DX,ALNEXT1: LEA DX,MESS1 ;CRT上显示提示信息 MOV AH,09H INT 21HMOV AH,01H ;扫描读取PC键盘按键值 INT 21H CMP AL, 30H ;判断是0以外的键否 JC NEXTI CMP AL,3AH ;判断是9以外的键否 JNC NEXT1 AND AL, 0FH ;去掉高4位 LEA BX,MESS2 XLAT ;查表取七段显示代码 MOV DX,300H OUT DX,AL ;输出显示代码 MOV AL,01H MOV DX,304H OUT DX,AL ;点亮LED1数码管 MOV DX,308H IN AL,DX TEST AL,01H ;K8开关接PC0时 JNZ DOWN JMP NEXT1DOWN: LEA DX,MESS3 MOV AH,09H INT 21H MOV AH, 4CH ;返回DOS INT 21HCODE ENDS END START上机考试练习 样题2编写一个程序:把从标准键盘上输入的一组大写字母( 10 个)转换成与之对应的小写字母,并从 CRT 屏幕的最左端开始输出,当按下操作面板 4 4 键盘的“ 0 ”键时,八个发光二极管中 L1 、 L3 、 L5 、 L7 点亮, L2 、L4 、 L6 、 L8 熄灭,程序结束运行。设 8255A 的 C 口作键盘的行信号, A 口作键盘的列信号, B 口接发光二极管。(键盘编码:列在高4位、行在低4位)按键0124编码EEHEDHEBHE7H按键4567编码DEHDDHDBHD7H按键89AB编码BEHBDHBBHB7H按键CDEF编码7EH7DH7BH77HDATA SEGMENTMESS1 DB PLEASE INPUT CHARACTERS !,13,10,$MESS2 DB PROGRAM END !,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,30CH MOV AL,90H ;B口、C口输出,A口输入 OUT DX,ALMOV DX,304H ;L1-L8全熄灭 MOV AL,00H OUT DX,AL LEA DX,MESS1 ;CRT上显示提示信息 MOV AH,09H INT 21HNEXT1: MOV AH,01H ;扫描读取PC键盘按键值 INT 21H CMP AL, 41H ;大写字母A以下重新输入JC NEXT1 CMP AL, 5BH ;大写字母A以上重新输入 JNC NEXT1 ADD AL, 20H ;变成小写字母 MOV DL, AL MOV AH,02H ;CRT上显示 INT 21H MOV AL, 0EH MOV DX, 30CH ;扫描小键盘 OUT DX, AL MOV DX, 300H IN AL, DX AND AL, 0FH CMP AL, 0FH ;是否0键按下? JZ NEXT1 MOV CL, 4 ;形成小键盘“0”的键码值EEH SAL AL, CL OR AL, 0EH CMP AL, 0EEH ;是不是0键? JNZ NEXT1 MOV DX, 304H MOV AL, 55H ;点亮发光二极管 OUT DX, AL LEA DX,MESS2 ;CRT上显示提示信息 MOV AH,09H INT 21H MOV AH, 4CH ;返回DOS INT 21HCODE ENDS END START上机考试练习 样题3编制一个程序:统计 K1K8 中置“ 1 ”开关数 N 和置“ 0 ”的开关数M ,并将 N 显示在八段 LED 显示器 LED6 上, M 显示在 LED3 上,两组交替显示(交替时间的延时由软件实现)。当八个开关都为“ 0 ”时,结束程序。设 8255A 的 B 口作八段 LED 显示器的段选口, C 口作位选口, A 口接开关。DATA SEGMENTMESS1 DB PLEASE TURN SWITCHES !,13,10,$MESS2 DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H, 82H, 0F8H, 80HMESS3 DB OK !,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,20BH MOV AL,90H ;B口、C口输出,A口输入 OUT DX,AL LEA DX,MESS1 MOV AH,09H INT 21HNEXT1: MOV DX,208H IN AL,DX ;读开关状态 CMP AL, 0 ; JZ DOWN ;是否全0,是就结束程序 MOV CL,8 ;设置循环计数器 MOV CH,0NEXT2: SHR AL,1 JNC NEXT3 INC CH ;统计NNEXT3: DEC CL JNZ NEXT2 MOV AH,CH ;保存N在AH中 MOV AL,CH LEA BX,MESS2 XLAT ;取得N的七段显示代码 MOV DX,209H OUT DX,AL MOV DX,20AH MOV AL,20H ;点亮LED6 OUT DX,AL CALL DELAY MOV AL,8 SUB AL,AH ;求得M XLAT ;取得N的七段显示代码 MOV DX,209H OUT DX,AL MOV DX,20AH MOV AL,01H ;点亮LED1 OUT DX,AL CALL DELAY JMP NEXT1DOWN: LEA DX,MESS3 MOV AH,09H INT 21H MOV AH, 4CH ;返回DOS INT 21HDELAY PROC NEAR ;延时子程序 MOV CX,0FFFFHDLP1: NOP NOPLOOP DLP1MOV CX,0FFFFHDLP2: NOP NOP LOOP DLP2 RETDELAY ENDPCODE ENDS END START上机考试练习题4编写一个程序,根据操作面板上开关的状态决定是否将标准键盘上输入的字母的ASCII码显示在八个发光二极管L1L8上以及CRT上。当K1K8全为0时不显示;当K1K7中的任意一个为“1”时则显示;当K8为“1”时,程序结束。设8255A的C口接发光二极管,B口接八个开关。DATA SEGMENTMESS1 DBPLEASE PRESS KEYS !,13,10,$MESS2 DBPROGRAM END !,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,20BH MOV AL,82H ;A口、C口输出,B口输入 OUT DX,AL MOV DX,20AH MOV AL,00H ;8个发光二极管熄灭 OUT DX,AL LEA DX,MESS1 MOV AH,09H INT 21HNEXT1: MOV DX,209H IN AL,DX TEST AL,80H ;K8为“1”时结束程序 JNZ DOWN CMP AL,00H JZ NEXT1 ;K1K8全为0时不显示 MOV AH,01H ;输入一个字母 INT 21H CMP AL,41H ;比大写之母A小重新输入 JC NEXT1 CMP AL,7BH ;比小写之母z大重新输入 JNC NEXT1 CMP AL,5BH ;小于等于大写之母Z显示 JC NEXT2 CMP AL,61H ;大于等于小写之母a显示 JC NEXT1NEXT2: MOV DX,20AH OUT DX,AL ;发光二极管上显示字母代码 MOV DL, AL MOV AH, 02H ;CRT上显示 INT 21H JMP NEXT1DOWN: LEA DX,MESS2 MOV AH,09H INT 21H MOV AH, 4CH ;返回DOS INT 21HCODE ENDS END START上机考试练习 样题5编制程序,完成如下功能:将开关 K1K4 的状态所对应的十六进制数在 LED1LED6 上按从右到左的顺序循环显示;当开关K5K8 任何一个扳向前时,结束程序。设 8255A 的 C 口作八段 LED 显示器的段选口, A 口作位选口,B口接开关。DATA SEGMENTMESS1 DB PLEASE INPUT NUMBER !,13,10,$MESS2 DB 0C0H,0F9H,0A4H,0B0H,99H,92H, 82H, 0F8HDB 80H,98H,88H,83H,0C6H,0A1H,86H,8EHMESS3 DB VERY GOOD !,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: PUSH DS MOV AX,00H PUSH AX MOV AX,DATA MOV DS,AX MOV DX,20BH MOV AL,82H ;A口、C口输出,B口输入 OUT DX,ALLEA DX,MESS1 MOV AH,09H INT 21HNEXT1: MOV DX,209H ;读开关 IN AL,DX MOV AH, AL AND AL, 0F0H ;去掉低4位 JNZ DOWN AND AH, 0FH MOV AL, AH LEA BX, MESS2 XLAT CALL DISPLY JMP NEXT1DOWN: LEA DX, MESS3 MOV AH, 09H INT 21H MOV AH, 4CH ;返回DOS INT 21HDISPLY PROC NEAR MOV AH, 01H ;设置位选初值 MOV DX, 20AH OUT DX, AL ;段码输出L1: MOV AL, AH MOV DX, 208H OUT DX, AL ;位选码输出点亮LED MOV BX, 04FFH ;延时外循环L3: MOV CX, 0FFFFH ;延时内循环L2: LOOP L2 DEC BX JNZ L3 SHL AH, 1 ;位选码左移 CMP AH, 40H ; JNZ L1 ;6个LED依次点亮完否? RETDISPLY ENDPCODE EDNS END START上机考试练习 样题6编制一个程序,使其能完成:当从操作面板 4 4 键盘上连续键入不同的数字(只能是 AF )键,可按键入的先后顺序在 CRT屏幕上依次显示出相应的字母,要求按键之前,在屏幕上先显示有关提示信息。当键入“ 0 ”键时,结束程序。设 8255A 的 B 口作键盘的行信号, C 口作键盘的列信号。DATA SEGMENTMESS1 DB PLEASE PRESS KEYS !,13,10,$MESS2 DB 41H,42H,43H,44H,45H,46HMESS3 DB 0BDH,7DH,0EEH,0DEH,0BEH,7EHMESS4 DB OK !,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,20BH MOV AL,89H ;A口、B口输出,C口输入 OUT DX,AL LEA DX,MESS1 MOV AH,09H INT 21HNEXT1: MOV AL,00H ;键盘行全部置0 MOV DX,209H OUT DX,AL MOV DX,20AH IN AL,DX AND AL,0FH CMP AL,0FH JZ NEXT1 ;判断有任意一个键按下否 CALL DELAY IN AL,DX AND AL,0FH CMP AL,0FH JZ NEXT1 ;再确认一下键是否真的按下 MOV AL,0FEH MOV BL,AL ;保存行代码初值NEXT2: MOV DX,209H OUT DX,AL MOV DX,20AH IN AL,DX AND AL,0FH MOV BH,AL ;保存列代码值 CMP AL,0FH JNZ NEXT3 ROL BL,1 ;行代码左移 MOV AL,BL JMP NEXT2NEXT3:MOV CL,4 SAL BH,CL AND BL,0FH OR BL,BH ;形成键特征值 CALL DELAY LEA SI,MESS3 MOV BH,0 CMP BL,0E7H ;判断是否0键 JZ DOWN MOV CL,6NEXT4: MOV AL,SI ;查表检查是否A、B、C、 CMP AL,BL ;D、E、F键,不是则重新 JZ NEXT5 ;扫描键盘 INC BH INC SI DEC CL JNZ NEXT4 JMP NEXT1NEXT5:MOV AL,BH ;取字母的ASCII代码 LEA BX,MESS2 XLAT MOV DL,AL ;CRT上显示字母 MOV AH,02H INT 21H JMP NEXT1DOWN: LEA DX,MESS4 MOV AH,09H INT 21H MOV AH, 4CH ;返回DOS INT 21HDELAY PROC NEAR ;延时子程序 MOV CX,0F000HDLP1: NOPLOOP DLP1 RETDELAY ENDPCODE ENDS END START上机考试练习 样题7编写一个程序,它能对操作面板上 4 4 键盘的按键次数进行计数,并将该计数结果以压缩 BCD 码形式显示在发光二极管 L8 L1 上,要求按键之前,在 CRT 屏幕上显示有关提示符,计满 20 次后回零,并在 CRT 上显示“END ”,结束程序。设 8255A 的A 口接 L1 L8 , B 口作键盘的行信号,C 口作键盘的列信号。DATA SEGMENTMESS1 DB PLEASE PRESS KEYS !,13,10,$MESS2 DB END !,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,20BH MOV AL,89H ;A口、B口输出,C口输入 OUT DX,AL MOV DX,208H MOV AL,00H ;L1L8全熄灭 OUT DX,AL LEA DX,MESS1 MOV AH,09H INT 21H MOV BL,00HNEXT1: MOV AL,00H ;键盘行全部置0 MOV DX,209H OUT DX,AL MOV DX,20AH IN AL,DX AND AL,0FH CMP AL,0FH JZ NEXT1 ;判断有任意一个键按下否 CALL DELAY IN AL,DX AND AL,0FH CMP AL,0FH JZ NEXT1 ;再确认一下键是否真的按下 MOV AL,BL ADD AL,1 ;进行BCD计数 DAA MOV BL,AL CMP AL,20H ;满20结束程序 JZ DOWN MOV DX,208H ;显示 OUT DX,ALNEXT2: CALL DELAY ;确保按键松开,不然按 MOV DX,20AH ;一次键会连续计数,因为 IN AL,DX ;程序执行速度比松键的速 AND AL,0FH ;度快。 CMP AL,0FH JNZ NEXT2 JMP NEXT1DOWN: MOV AL,00H ;关掉8个发光二极管 MOV DX,209H OUT DX,ALLEA DX,MESS2 MOV AH,09H INT 21H MOV AH, 4CH ;返回DOS INT 21HDELAY PROC NEAR ;延时子程序 MOV CX,0FFFFHDLP: LOOP DLP RETDELAY ENDPCODE ENDS END START上机考试练习题8编制一个程序,使其能对标准键盘上的按键次数进行计数,并将计数结果(只能是一位十进制数)显示在八段 LED 显示器上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国移动大同市2025秋招计算机类专业追问清单及参考回答
- 南昌市中石油2025秋招面试半结构化模拟题及答案油气储运与管道岗
- 甘孜自治州中储粮2025秋招财务资产岗高频笔试题库含答案
- 大唐电力牡丹江市2025秋招面试专业追问及参考电气工程岗
- 国家能源昌吉回族自治州2025秋招面试专业追问及参考综合管理岗位
- 无锡市中石油2025秋招心理测评常考题型与答题技巧
- 天门市中储粮2025秋招机电维修岗高频笔试题库含答案
- 中国移动哈尔滨市2025秋招网络优化与维护类专业追问清单及参考回答
- 保定市中石化2025秋招面试半结构化模拟题及答案油田工程技术岗
- 安徽地区中石油2025秋招面试半结构化模拟题及答案法律与合规岗
- 企业食品安全培训课件
- HPV科普讲堂课件
- 港口设施保安培训知识课件
- 电梯维护保养标准作业指导书
- 煤矿安全生产责任制考核制度和考核标准
- PGL喷雾干燥机性能验证报告
- 医师变更注册管理办法
- 网络安全防护策略与加固方案报告模板
- 新产品开发流程及管理制度
- “一网统管”在城市治理协同中的障碍与解决路径研究
- 2025至2030中国电线电缆行业十四五发展分析及投资前景与战略规划报告
评论
0/150
提交评论