




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第第9章章 单片机系统开发实例单片机系统开发实例 本章内容: 1.介绍了常用外部设备:显示器与键盘。 2.然后按微机系统开发的步骤阐述了智能电子钟的开发,并给出全部软件和硬件设计。 9.1.1 LED显示器结构与原理: LED显示器是由发光二极管显示字段的显示器件。在微机应用系统中通常使用的是七段LED。这种显示器有共阴极与共阳极两种。工作原理:若工作原理:若LED正偏,则导通则发光。正偏,则导通则发光。 “1”D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0“0” 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0对于共阳极器件,其对
2、于共阳极器件,其COM端为端为1时,才可能显示字形。时,才可能显示字形。“1”D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0“0” 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0对于共阴极器件,其对于共阴极器件,其COM端为端为0时,才可能显示字形。时,才可能显示字形。a b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdp3.83.8 I/O口位选控制 I/O口段选控制一般用法:一般用法:COM: 输入输入“位选择信号位
3、选择信号”,控制显示哪一位,控制显示哪一位 “1”D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0“0” 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0“1”D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0“0” 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0段选择码(字形码):送到段选择码(字形码):送到aDp端的数码,决定显示的字形。端的数码,决定显示的字形。 例如:例如:C0H(11000000)为共阳)为共阳LED“0”的段选择码。的段选择码。 3FH(0011111
4、1)为共阴)为共阴LED“0”的段选择码。的段选择码。D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0a b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdp3.83.8 I/O口位选控制 I/O口段选控制一般用法:一般用法:COM: 输入输入“位选择信号位选择信号”,控制显示哪一位,控制显示哪一位 ag,Dp:输入:输入“段选码(字形码)段选码(字形码)”,决定显示的字,决定显示的字形形“1”D7 D6 D5 D4 D3 D2 D1 D0
5、D7 D6 D5 D4 D3 D2 D1 D0“0” 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 (1)静态显示方式:静态显示方式: 例例:设在图中89C51片内RAM的78H7FH单元为显示缓冲区从高到低依次存放8个需要显示的数据。试编写显示程序 (1)静态显示方式:静态显示方式: 例例:设在图中89C51片内RAM的78H7FH单元为显示缓冲区从高到低依次存放8个需要显示的数据。试编写显示程序 读图:阳极已接电源,从164输出段选择码“字形码”即可显示字形。字形码的获得可用查表技术 (1)静态显示方式:静态显示方式: 例例:设在图中89C51片内RAM的78H7FH单元
6、为显示缓冲区从高到低依次存放8个需要显示的数据。试编写显示程序 读图:阳极已接电源,从164输出段选择码“字形码”即可显示字形。字形码的获得可用查表技术 串行口方式0输出:RxD串行移位输出数据,TxD输出时钟脉冲 (1)静态显示方式:静态显示方式: 例例:设在图中89C51片内RAM的78H7FH单元为显示缓冲区从高到低依次存放8个需要显示的数据。试编写显示程序 读图:阳极已接电源,从164输出段选择码“字形码”即可显示字形。字形码的获得可用查表技术 串行口方式0输出:RxD串行移位输出数据,TxD输出时钟脉冲 回顾164的工作:串入并出移位寄存器 (1)静态显示方式:静态显示方式: 例例:
7、设在图中89C51片内RAM的78H7FH单元为显示缓冲区从高到低依次存放8个需要显示的数据。试编写显示程序 读图:阳极已接电源,从164输出段选择码“字形码”即可显示字形。字形码的获得可用查表技术 串行口方式0输出:RxD串行移位输出数据,TxD输出时钟脉冲 回顾164的工作:串入并出移位寄存器 在设置串行口工作方式后,有程序: DIS:MOV R7,08H;循环次数8 MOV R0,78H ; 78H 7FH为显示缓冲区DL0:MOV A,R0 ;取出要显示的数 MOV DPTR,#SEG MOVC A,A+DPTR ;查表取出字形数据 MOV SBUF,A ;送出显示 JNB TI,$
8、;CPU等待;串行口:RxD出数据;TxD出时钟脉冲 CLR TI ;清中断标志 INC R0 ;再取下一个数 DJNZ R7,DL0 ;8次循环完否? RET;返回SEG:DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳极段码表,以下略 5v. 74LS164(0)共阳LED0.g f e d c b aCOM0 74LS164(1)共阳LED1.g f e d c b aCOM1 74LS164(7)共阳LED7.g f e d c b aCOM7 SBUFTxDRxD (1)静态显示方式(补充):静态显示方式(补充): 例例:设在单片机片内RAM的7FH78H单元为显示缓冲区
9、从高到低依次存放8个需要显示的数据。试编写显示程序(设I/O接口i为700i,i0,1,.,7)。 读图:阴极已接地,从I/O接口输出段选择码(字形码)即可显示字形。字形码的获得可用查表技术 单片机 I/O接口0共阴LED0.g f e d c b a总线总线 I/O接口1共阴LED1.g f e d c b a I/O接口7共阴LED7.g f e d c b a.COM0COM1COM7DIS:MOV R7,08H;循环次数8 MOV R0,78H ; 78H 7FH为显示缓冲区MOV DPTR,#7000H ;DPTR指向LED0DLO:MOV A,R0 ;取出要显示的数 ADD A,#
10、06H ;加上偏移量 MOVC A,A+PC ;查表取出字形数据 MOVX DPTR, A ;送字形数据到显示器LEDi INC R0 ;准备取下一个数INC DPTR ;指向下一个显示器LED DJNZ R7,DL0 ;8次循环完否? RET;返回SEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;共阴极段码表,以下略 单片机 I/O接口0共阴LED0.g f e d c b a总线总线 I/O接口1共阴LED1.g f e d c b a I/O接口7共阴LED7.g f e d c b a.COM0COM1COM7 (2)动态显示方式:动态显示方式: 一位一位
11、分时轮流点亮各位显示器。因为一位一位分时轮流点亮各位显示器。因为“视物暂留视物暂留”的生理的生理现现象,看上去象多位显示器同时显示象,看上去象多位显示器同时显示:a b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdp3.83.8 I/O口位选控制 I/O口段选控制 输出到输出到PB的数据:段选择码(字形码),控制显示字形的数据:段选择码(字形码),控制显示字形 输出到输出到PA的数据:位选择码,控制显示器位。的数据:位选择码,控制显示器位。 设设30H35H为显示缓冲区,分别存放为
12、显示缓冲区,分别存放6位显示器的位显示器的“待显示数待显示数”位选择码位选择码 待显示数待显示数00000001 (30H)00000010 (31H)00000100 (32H)00001000 (33H)00010000 (34H)00100000 (35H) R3 R0 通过移位获得位通过移位获得位选择码;通过查表获选择码;通过查表获得段选择码。得段选择码。 对对PA输出段选择码,对输出段选择码,对PB输出位选择输出位选择 码,即可显示第码,即可显示第i位位 设想:主程序初始化定时器设想:主程序初始化定时器0和和8255等器件;定时器等器件;定时器0中断服务中断服务程序程序:点亮第点亮第
13、i位显示器位显示器LEDi, 0i5BUFFER EQU 30H;显示缓冲区首地址显示缓冲区首地址PA EQU 2000H;8255 A口地址口地址PB TADA PA+1;8255 B口地址口地址PCTR TADA PA+3;8255控制口地址控制口地址 ORG 0000H LJMP MAIN ORG 000BH LJMP T0INTORG 0030HMAIN: . ;定时器定时器0和单片机中断机构的初始化和单片机中断机构的初始化MOV DPTR,#PCTR ;设设8255的命令字寄存器地址为的命令字寄存器地址为7FFBH MOV A,#80H ;命令字命令字10000000B,将定义,将定
14、义PA、PB为基本输出为基本输出MOVX DPTR,A ;设置设置8255PA、PB口为基本输出口口为基本输出口 MOV R0,#BUFFER ;(R0)为显示缓冲区首地址为显示缓冲区首地址(T0INT的入口参数的入口参数) MOV R3,#01 ;(R3)为位选择码(为位选择码(T0INT的入口参数)的入口参数) . 位选择码位选择码 “待显示数待显示数”00000001 (30H)00000010 (31H)00000100 (32H)00001000 (33H)00010000 (34H)00100000 (35H) R3 R0 入口参数:入口参数:(R3)位选择码;位选择码;(R0)“
15、待显示数据待显示数据”缓冲区地址缓冲区地址T0INT: MOV A,R3 ;为PA口准备“位选择码位选择码”:显示第i位:0i5 MOV DPTR,#PA ;指向8255PA口地址。MOVX DPTR,A ;从8255PA口输出“位选择码位选择码” . 位选择码位选择码 “待显示数待显示数”00000001 (30H)00000010 (31H)00000100 (32H)00001000 (33H)00010000 (34H)00100000 (35H) R3 R0 入口参数:入口参数:(R3)位选择码;位选择码;(R0)“待显示数据待显示数据”缓冲区地址缓冲区地址T0INT: . MOV
16、A,R0 ;取显示缓冲区的数据(第i位待显示数据)MOV DPTR,#DSEG MOVC A,A+DPTR ;查表,找出与该“第i位待显示数”对应的字形码MOV DPTR,#PB ;指向8255PB口地址DIRI:MOVX DPTR,A ;从8255PB口输出“字形码” .DSEG: DB 3FH,06H,5BH,4FH,66H,6DH ;0、1、2、3、4、5 位选择码位选择码 “待显示数待显示数”00000001 (30H)00000010 (31H)00000100 (32H)00001000 (33H)00010000 (34H)00100000 (35H) R3 R0 入口参数:入口
17、参数:(R3)位选择码;位选择码;(R0)“待显示数据待显示数据”缓冲区地址缓冲区地址T0INT: MOV A,R3 MOV DPTR,#PA MOVX DPTR,A MOV A,R0 MOV DPTR,#DSEG MOVC A,A+DPTR MOV DPTR,#PB DIRI:MOVX DPTR,A MOV A,R3JB ACC.5,LDI ;是否显示到第5个显示器?INC R0 ;为显示i1显示器,R0指向显示缓冲区下一个地址RL A ;为显示i1显示器,为PA口准备“位选择码位选择码”MOV R3,A ;为显示第i1位,“位选择码位选择码”暂存R3 RETILDI:MOV R3,#01H
18、 ;为显示第0位,“位选择码位选择码”暂存R3MOV R0,#BUFFER ;为显示第0位,R0指向显示缓冲区首地址指向显示缓冲区首地址RETIDSEG: DB 3FH,06H,5BH,4FH,66H,6DH ;0、1、2、3、4、5DB 7DH,07H,7FH,6FH,77H,7CH ;6、7、8、9、A、bDB 39H,5EH,79H,71H,73H,3EH ;C、d、E、F 位选择码位选择码 “待显示数待显示数” 00000001 (30H)00000010 (31H)00000100 (32H)00001000 (33H)00010000 (34H)00100000 (35H) R3
19、R0 入口参数:入口参数:(R3)位选择码;位选择码;(R0)“待显示数据待显示数据”缓冲区地址缓冲区地址T0INT: RETIDSEG: DB 3FH,06H,5BH,4FH,66H,6DH ;0、1、2、3、4、5DB 7DH,07H,7FH,6FH,77H,7CH ;6、7、8、9、A、bDB 39H,5EH,79H,71H,73H,3EH ;C、d、E、F 以上程序为单片机以上程序为单片机T0的中断服务程序,它将显示的中断服务程序,它将显示LED的第的第i位位i=0,1,2,3,4,5。 如果正确设置如果正确设置T0的定时时间(小于的定时时间(小于24ms/6),将动态显示),将动态显
20、示6位位显示数据。显示数据。 入口参数:入口参数:(R3)位选择码;位选择码;(R0)“待显示数据待显示数据”缓冲区地址缓冲区地址T0INT: . RETI 每位显示时间每位显示时间=T0的定时时间,不断轮流将显示的定时时间,不断轮流将显示6位显示器。看位显示器。看上去象上去象6位显示器同时显示。位显示器同时显示。 动态显示特点:成本低。占用动态显示特点:成本低。占用CPU时间较多。时间较多。 静态显示特点:成本高。占用静态显示特点:成本高。占用CPU时间较少。时间较少。 9.1.2键盘接口技术键盘接口技术 键盘是一组按键的组合,它是最常用的计算机输入设备。键盘是一组按键的组合,它是最常用的计
21、算机输入设备。 编码键盘:编码键盘: :能识别闭合键,并产生相应键码的键盘。如:能识别闭合键,并产生相应键码的键盘。如BCD码键盘、码键盘、ASCII码键盘等;码键盘等; 非编码键盘非编码键盘 需另外编写软件来识别闭合键的键盘。需另外编写软件来识别闭合键的键盘。 在单片机组成的测控系统几智能仪器中,用得最多的是非编在单片机组成的测控系统几智能仪器中,用得最多的是非编码键盘。码键盘。 本节着重讨论非编码键盘的原理、接口技术和程序设计。本节着重讨论非编码键盘的原理、接口技术和程序设计。 键盘的每个按键为一开关,敲击时存在机械振动(抖动)。 键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭
22、合仅做一次处理,必须去除键抖动。 软件方法去抖动,即检测出键闭合后执行一个延时程序,产生510ms的延时;让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平。认为真正有键按下。当检测到按键释放后,也要给510ms的延时,待后沿抖动消失后,才能转入该键的处理程序。1 键盘工作原理键盘工作原理 2 2.独立式按键独立式按键 特点:一键占用一输入线。特点:一键占用一输入线。 如图,当任何一个键按下时,如图,当任何一个键按下时,与之相连的输入线输入与之相连的输入线输入0(0(而平时而平时该线为该线为1)1)。 击键击键执行相应功能程序执行相应功能程序(完成某功能完成某功能) 。 START程
23、序程序发现发现“击键击键” P0FP7F为八个键的功能为八个键的功能程序程序START: . . . P0F: ;0号键功能程序号键功能程序 LJMP START;0号键执行完返回号键执行完返回P1F: ;1号键功能程序号键功能程序 LJMP START;1号键执行完返回号键执行完返回. . . . .P7F: ;7号键功能程序号键功能程序 LJMP START;7号键执行完返回号键执行完返回 START: MOV A,P1;键状态输入PL1: JNB ACC.0,POF;0号键按下转POF标号地址 JNB ACC.1,P1F;l号键按下转P1F标号地址 JNB ACC.2,P2F;2号键按下
24、转P2F标号地址 JNB ACC.3,P3F;3号键按下转P3F标号地址 JNB ACC.4,P4F;4号键按下转P4F标号地址 JNB ACC.5,PSF;5号键按下转P5F标号地址 JNB ACC.6,P6F;6号键按下转P6F标号地址 JNB ACC.7,P7F;7号键按下转P7F标号地址 LJMP START;无键按下返回P0F: ;0号键功能程序 LJMP START;0号键执行完返回P1F: ;1号键功能程序 LJMP START;1号键执行完返回. .P7F: ;7号键功能程序 LJMP START ;7号键执行完返回 程序的逻辑正确,但不能用。键盘没有去抖动:“一次击键,多次处
25、理” 红线部分修改为:红线部分修改为:STARTSTART: MOV P1,MOV P1,OFFHOFFH;输入时先置;输入时先置P1P1口为全口为全1 1LOOP: MOVLOOP: MOV A,P1 A,P1;键状态输入;键状态输入 CJNE A,#0FFH,L0 CJNE A,#0FFH,L0 ;有键按下否;有键按下否 SJMP LOOP SJMP LOOP ;无键按下,等待;无键按下,等待L0:L0: LCALL DELAY LCALL DELAY ;调延时子程序,去抖动;调延时子程序,去抖动 MOV A,P1 MOV A,P1 ;键状态再输入;键状态再输入 CJNE A,#0FFH,
26、PL1 CJNE A,#0FFH,PL1 ;非误读,转移到;非误读,转移到PL1PL1 SJMP LOOP SJMP LOOP ;误读,转移到;误读,转移到LOOPLOOPPL1: 3.3.矩阵式键盘矩阵式键盘 没有键闭合时,所有的行线和列线都断开,行线输入没有键闭合时,所有的行线和列线都断开,行线输入11111111。 当键盘上某一个键闭合时,则该键所对应的行线和列线被短当键盘上某一个键闭合时,则该键所对应的行线和列线被短路,该行线输入由相应列线决定。路,该行线输入由相应列线决定。 例如:例如:6 6号键被按下闭合时,行线号键被按下闭合时,行线PC0PC0和列线和列线PA6PA6被短路,此时
27、被短路,此时PC0PC0的电平由的电平由PA6PA6的电位所决定。的电位所决定。 列输出列输出 列序号列序号j 行输入行输入11111110, 0 读读PC11111101, 1 读读PC11111011, 2 读读PC11110111, 3 读读PC11101111, 4 读读PC11011111, 5 读读PC10111111, 6 读读PC01111111, 7 读读PC 行输入行输入 行序号行序号ij列无键按下:列无键按下: 11111111 11111110 0j列有键按下列有键按下 11111101 1 11111011 2 11110111 3 由列序号和行序号知第(由列序号和行
28、序号知第(i,j)键按下)键按下键盘扫描概念:键盘扫描概念: 键盘扫描子程序:键盘扫描子程序: 入口参数:无入口参数:无 出口出口参数参数:有键按下,:有键按下,A中为键值。中为键值。 无键按下,无键按下,(A)=0FFHKEY1:MOV R5,#0MOV R3,#0FEHKEL:MOV DPTR,#2000HMOV A,R3MOVX DPTR,A ;列输出列输出 R3 R5列输出值列输出值 列序号列序号j11111110 011111101 111111011 211110111 311101111 411011111 510111111 601111111 7 键盘扫描子程序:键盘扫描子程
29、序: 入口参数:无入口参数:无 出口出口参数参数:有键按下,:有键按下,A中为键值。中为键值。 无键按下,无键按下,(A)=0FFHKEY1:MOV R5,#0MOV R3,#0FEHKEL:MOV DPTR,#2000HMOV A,R3MOVX DPTR,A ;列输出列输出RL ARL A ;调整列输出值,调整列输出值,MOV R3,A MOV R3,A ;(R3)为下次为下次列输出值列输出值 INC R5 INC R5 ;(R5)为下次列输出对应的列序号,为下次列输出对应的列序号,MOV DPTR,#2002HMOVX A,DPTR;行输入行输入CJNEA,#0FFH,NEX1 ;有键按下
30、跳转有键按下跳转CJNE R5,#8,L0L0: JC KEL;列序号列序号8,8列扫描未完,跳转列扫描未完,跳转MOV A,#0FFH;无键按下,送无键按下,送0FFH 到到ARET;无键按下返回无键按下返回NEX1: .;计算键序号计算键序号 R3 R5列输出值列输出值 列序号列序号j11111110 011111101 111111011 211110111 311101111 411011111 510111111 601111111 7 行输入行输入11111111时,第时,第j列无键按下列无键按下;(A)=11111110或或11111101或或11111011或或 1111011
31、1 被击键被击键键序号(见图)。键序号(见图)。 由行线和列线计算求得:由行线和列线计算求得:被击键被击键键序号键序号= =行序号行序号i i8 +8 +列序号列序号j j 被击键被击键键值。键值。 硬件设计时,系统设计者定义每个键,设定键值。硬件设计时,系统设计者定义每个键,设定键值。 被击键键值可通过键序号查表求得。被击键键值可通过键序号查表求得。 (R5)为列序号为列序号+1,行序号未知,但,行序号未知,但(A)有相关信息,求之于有相关信息,求之于R2NEX1: DEC R5 ;求得列序号求得列序号 MOV R2,#0 ;行序号行序号R2R2 MOV R1,#4MOV R1,#4; ;共
32、有共有4 4行行LOOPC: LOOPC: RRC A RRC A ; ;移位找出移位找出0 0所在位位序号所在位位序号 JNC EXILJNC EXIL INC R2 INC R2 ;R2 = R2+ 1;R2 = R2+ 1 DJNZ R1,LOOPCDJNZ R1,LOOPCEXIL: MOV A,R2 ;键序号键序号=行序号行序号8 8+列序号列序号 RL A RL A RL AADD A,R5 ADD A,R5 ; (A); (A)乃键序号,查表求键值码乃键序号,查表求键值码 MOV DPTR,#KEYTABLEMOV DPTR,#KEYTABLE MOVC A,A+DPTR MOV
33、C A,A+DPTR; ;取键值取键值 RETRET; ;有键按下返回有键按下返回KEYTABLE: KEYTABLE: DB ; DB ; 键值表键值表DB ; DB ; 键值表键值表 DB ; DB ; 键值表键值表DB ; DB ; 键值表键值表 (A) R211111110 011111101 111111011 211110111 3 矩阵式键盘处理程序,一般有如下过程: 1)判断是否有键按下 2)有则“键盘扫描”求键值:调用“键盘扫描子程序” 3)延时:延时主要是“去抖动”; 4) “键盘扫描”求键值,并与2)的结果比较:如果不相等,本次键盘扫描无效,结束;如果相等,此键值有效;
34、5)等待键释放:可采用1)中的方法判按键是否释放。判断是否有键按下子程序(出口参数:判断是否有键按下子程序(出口参数:(A)A)0 0,无键被击),无键被击)TESTKEY:MOV DPTR,#2000H TESTKEY:MOV DPTR,#2000H CLR A CLR A MOVX DPTR,A ; MOVX DPTR,A ;列值输出全列值输出全0 0 MOV DPTR,#2002H MOV DPTR,#2002H MOVX A,DPTR ; MOVX A,DPTR ;读行值读行值 CPL ACPL A ANL A,#0FH ; ANL A,#0FH ;高四位不用高四位不用 RETRET矩
35、阵式键盘处理程序框图开 始判是否有键按下?按列扫描键盘求键值延 时判两次键值是否相等?再次扫描键盘求键值等键释放否?#0FFHA返 回NNYNYY矩阵式键盘处理程序: 1)判断是否有键按下 调用“TESTKEY” 2)调用“键盘扫描子程序” 3)延时,“去抖动”; 4)调用“键盘扫描子程序”并与2)的结果比较: 不等,本次键盘扫描无效 相等,此键值有效; 5)等待键释放: 调用“TESTKEY”,之后作相应处理。矩阵式键盘处理程序:INTR0: LCALL TESTKEY TESTKEY ;出口参数:(A)0无键按下,否则有键按下JNZJNZ KN1 KN1;有键按下转KN1SJMP FRET
36、;无键按下返回A中0FFHKN1:LCALL KEY1;扫描键盘。出口参数:(A)=键值MOV R1,A;将键值送R1中暂存LCALL DELAY;延时,“去抖动”LCALL KEY1;再次扫描键盘。出口参数:(A)=键值XRL A,R1;两次扫描键值比较JNZ FRET;不相等,本次“键盘扫描”无效,跳FRETWAITREWAITRE: LCALL TESTKEYLCALL TESTKEY ;相等,等键释放:调TESTKEY,出口参数(A) JNZ WAITRE ;JNZ WAITRE ;(A)非0,有键按下(未释放)MOV A,R1;A中返回键值SJMP jieshuFRET: MOV A
37、,#0FFHJieshu:. 问题:什么时候执行这段程序?什么时候执行这段程序? 问题:什么时候执行问题:什么时候执行“矩阵式键盘处理程序矩阵式键盘处理程序”? 条件执行: 在系统某工况(编辑工况)下执行:扫描键盘,识别出被击键。 定时执行: CPU每隔一定时间,扫描键盘,识别出被击键。 中断方式: 1)当键盘上有键闭合时,向CPU请求中断。 2)CPU在中断服务程序中对键盘扫描,识别出被击键。 PC0PC1PC2PC3INT0 系统初始化时,使PA输出00000000B; 有键被击,PC0,PC1,PC2,PC3必有为0者产生中断请求( INT0 ) CPU响应中断,执行中断服务程序INTR
38、0 中断方式:增加中断请求电路(见小图)中断方式的程序安放 ORG 0000HORG 0000HLJMP STARTLJMP STARTORG 0003HORG 0003HLJMP INTR0LJMP INTR0START:START: MOV DPTR,#2000H MOV DPTR,#2000H MOV A,#10001001B MOV A,#10001001B; ;设置设置PA,PBPA,PB为基本输出口,为基本输出口,PCPC为输入口为输入口 MOVX DPTR,AMOVX DPTR,A;8255;8255初试化初试化 INC DPTR CLR AMOVX DPTR,A ;使使8255的的PA输出输出00000000B . .INTR0: LCALL TESTKEY TESTKEY ;出口参数:(A)0无键按下,否则有键按下JNZJNZ KN1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 巡察工作与数据分析精准决策的案例
- 工业互联网与设备能耗管理的融合创新
- 工业4.0背景下的网络安全策略
- 工业4.0背景下的企业管理新趋势
- 工业4.0时代的生产战略变革
- 嵌入式系统中的资源管理技术
- 展览会场宣传推广与市场分析
- 展览活动中的观众互动设计
- 财务报表分析在新零售中的价值
- 展览搭建与撤场安全操作规程
- 浪潮集团ERP实施岗在线测评题
- 低温水电解制氢系统 稳动态及电能质量性能测试方法(征求意见稿)
- 气象行业天气预报技能竞赛理论试题库资料(含答案)
- 校园环保之星事迹材料(7篇)
- 植物学基础智慧树知到期末考试答案章节答案2024年哈尔滨师范大学
- 建筑同层排水系统技术规程
- 六年级数学下册 期末综合模拟测试卷(冀教版)
- 红星美凯龙调研课件
- 施工重要环境因素清单
- 以学生发展为中心的三三制本科人才培养体系构建与实施
- 《智能物联网导论》AIoT导论-第1章课件
评论
0/150
提交评论