1 / 9

(6) : 求键号 (设按键值存 A ,求得键号也存 A ) MOV B, A

raina
Télécharger la présentation

(6) : 求键号 (设按键值存 A ,求得键号也存 A ) MOV B, A

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. (3).显示程序: 采用下载数据但不译码方式,其字形表 由用户根据需要和硬件连线来确定,指 令码为90H~97H.显缓区为40H~47H。 DTR: MOV R5,#08H MOV R0,#40H MOV R1,#97H LP1: CLR P1.0 MOV R6,#0CH LP2: DJNZ R6,LP2 MOV A,R1 ACALL STFS MOV R6,#04H

  2. LP3: DJNZ R6,LP3 MOV A,@R0 ADD A,#0DH MOVC A,@A+PC ACALL STFS MOV R6,#02H LP4: DJNZ R6,LP4 SETB P1.0 INC R0 DEC R1 DJNZ R5,LP1 RET TAB DB 7EH,30H,6DH,79H,33H,5BH,5FH,70H,7FH,7BH, DB 77H,1FH,4EH,3DH,4FH,47H,00H,67H

  3. (4)读键值子程序:所读的键值保存在A中,其值与按键 在键盘中位置及硬件连线有关。KEY1: CLR P1.0 MOV R6,#0CH LP1: DJNZ R6,LP1 MOV A,#15H ACALL STFS MOV R6,#06H LP2: DJNZ R6,LP2 ACALL STJS SETB P1.0 RET

  4. (5). 读键值三种方式:a.中断方式:将KEY连到INT引脚上,在中断程序中,用 KEY1子程序读取键值。b.查询方式:软件查询KEY脚电平,当为低电平时读取 值。采用这种方式要求主循环程序时间应 小于100ms,为保证按一次键只得到一个键 值,在软件中应建立一个标志.设00H为标志位. A保存按键值,当A=FFH时,表示无键按下. ST: SETB P1.3 SETB 00H MOV C,P1.3 RET JC LP2 LP2: CLR 00H JB 00H,LP1 LP1: MOV A,#FFH LCALL KEY1 RET

  5. c. 直读方式:在主程序循环中,安排一个读键值子程 序。当读到的值为FFH为无键按下,当读到 的值不为FFH时,表示有键按下,其值为键 值。采用这种方式要求主循环程序时间应 小于100ms,为了解决在按一次键时可读到 多个同样的值的问题,在软件中应建立一 个标志.设00H为标志位. A保存按键值,当A=FFH时,表示无键按下. ST: ACALL KEY1 SETB 00H CJNE A,#0FFH,LP1 RET CLR 00H LP2: MOV A, #FFH RET RET LP1: JB 00H,LP2

  6. (6): 求键号(设按键值存A,求得键号也存A)MOV B, A MOV R2,#00H MOV R7,#0FH (16个键) LP1:MOV A,R2 ADD A,#0AH MOVC A,@A+PC CJNE A,B,LP2 SJMP LP3 LP2:INC R2 DJNZ R7,LP1 LP3:MOV A,R2 RET TAB: DB XXH,XXH,┈ (键值表)

  7. (7):7279初始化(复位) ST:CLR P1.0 MOV R6, #0CH LP0:DJNZ R6, LP0 MOV A,#A4H ACALL STFS MOV R6, #02H LP1:DJNZ R6, LP1 SETB P1.0 RET 附:单片机应用系统的软件结构: 通常单片机应用系统的系统软件由主程序和若干 中断服务程序构成。根据系统各操作的性质,指定 哪些操作由中断服务程序完成,哪些操作由主程序 完成,并指定各中断的优先级。

  8. 1.主程序结构 入口:0000H 设置栈底,置P口初值,I/O口初始化及有关输出 定时器、串口初始化,设置中断有关参数 置“0”工作单元及标志,设置显示初值 按标志不同,将不同参数送至显缓区 显示处理 显示(更新显示控制) 键 扫 N 有键按下否? Y 键处理(数字键、命令键) 报警处理及其它

  9. 2.中断服务程序结构 入口 保护现场(A、B、DPH、DPL、PSW等) 选另一工作寄存器区 关定时计数,置定时初值,开定时计数 中断次数计数,建立标志 (控制)/如:显控等 采样 (传送、滤波) 计算差值,计算输出参数(按控制算法计算) 计算输入/输出的显示值 参数输出 恢复现场 中断返回

More Related