
第6章单片机应用系统的接口技术 本章重难点: I、单片机LED显示接口技术的原理 2、AD转换、DA转换的工作原理 3、通过各种芯片扩展后的程序编制 教学基本要求: 通过学习本章内容,让同学基本李据各种芯片扩展后的基本原理,能够读懂扩展后的程序, 对程序的结构有一定的了解:了解AD转换,D/A转换的工作原理。 教学内容: 6~1 键盘输入接口 实际应用中,键盘的结构形式通常分为独立式键盘和矩阵式键盘,单片机应用开发人员应 用时可根据需要选择,下面主要介绍这两种键盘的结构形式及与单片机接口的软硬件设计方 法。 一、按键输入的抖动现象 技下键 松开 前沿料动键宜稳定后沿料动 (a)键输入 6)键抖动 图6-】键操作和键抖动 抖动时何取决于按键机械特性,一般为5一1Oms,而键闭合稳定时间则由键操作人员按键 动作决定,可为零点几秒至数秒。在实际应用中对按键的输入必须进行去抖动处理,以保证 CPU对键的一次闭合,仅作一次键输入处理。 去抖动的办法有硬件和款件两种。硬件去抖常采用RS触发器或双稳态电路,这种方法 需增加系统硬件成本,仅适合于按健数量较少的场合。软件去料是最常使用的办法,其方法为 当检测到有键闭合时,用款件经过5-10s的廷时以避开前沿抖动,然后再次检测键的状态, 如键仍为闭合,则认为确实有键按下。同样,在检测到按键释故时,也要经过5-10s的廷时 以避开后沿抖动,确认键释放后再进行键的处理。 二、独立式技键的接口及编程
第 6 章 单片机应用系统的接口技术 本章重难点: 1、单片机 LED 显示接口技术的原理 2、A/D 转换、D/A 转换的工作原理 3、通过各种芯片扩展后的程序编制 教学基本要求: 通过学习本章内容,让同学基本掌握各种芯片扩展后的基本原理,能够读懂扩展后的程序, 对程序的结构有一定的了解;了解 A/D 转换、D/A 转换的工作原理。 教学内容: §6~1 键盘输入接口 实际应用中,键盘的结构形式通常分为独立式键盘和矩阵式键盘,单片机应用开发人员应 用时可根据需要选择,下面主要介绍这两种键盘的结构形式及与单片机接口的软硬件设计方 法。 一、 按键输入的抖动现象 图 6-1 键操作和键抖动 抖动时间取决于按键机械特性,一般为 5—10ms。而键闭合稳定时间则由键操作人员按键 动作决定,可为零点几秒至数秒。在实际应用中对按键的输入必须进行去抖动处理,以保证 CPU 对键的一次闭合,仅作一次键输入处理。 去抖动的办法有硬件和软件两种。硬件去抖常采用 R—S 触发器或双稳态电路,这种方法 需增加系统硬件成本,仅适合于按键数量较少的场合。软件去抖是最常使用的办法,其方法为 当检测到有键闭合时,用软件经过 5-10ms 的延时以避开前沿抖动,然后再次检测键的状态, 如键仍为闭合,则认为确实有键按下。同样,在检测到按键释放时,也要经过 5-10ms 的延时 以避开后沿抖动,确认键释放后再进行键的处理。 二、 独立式按键的接口及编程

1。独立式按键结构及接口 特征:每个键都占用一位1/0口线,且各1/0口线上按键工作状态互不影响,具有电路配置 灵活、软件结构及编程简单的优点。 +5V 80C51 80C5l +5V P1.0 0 P1.0 K1 K1 P1.1 P1.1 2 2 P1.2 P1.2 (a】 6) 图62独立式按键接口电路 图a中每个按键所接的上拉电阻保证了键断开时,【/O口线有确定的高电平。当按键按下 时,触点闭合使对应口线接地而为低电平。如单片机1/0口内部有上拉电阻,外部接口电路 中可不另接上拉电阻。 2.独立式按键的软件设计 设计思路是采用查子方式对按键的输入进行扫描。有键人时调用软件延时去抖动,再依次 判断是哪一个键按下,转入相应的键处理程序。 【例】按图6-2(a)、b),试分别编制按键扫描子程序。 解:按图6-2(a)编程如下: KEYA:ORL P1.07刀 :置P1.0一P12为输入态 MOV A,PI :读键值,键闭合相应位为0 CPL A 取反,键闭合相应位为1 ANLA00000111B:屏蔽高5位.保留有键值信息的低3位 Z GRET :全0,无键闭合,返回 LCALL DY1Oms:全0,有键闭合.延时I0ms.款件去抖动 MOV A.PI :重读键值键闭合相应位为0 CPL A 取反,键闭合相应位为1
1.独立式按键结构及接口 特征:每个键都占用一位 I/O 口线,且各 I/O 口线上按键工作状态互不影响,具有电路配置 灵活、软件结构及编程简单的优点。 图 6-2 独立式按键接口电路 图 a 中每个按键所接的上拉电阻保证了键断开时,I/O 口线有确定的高电平。当按键按下 时,触点闭合使对应口线接地而为低电平。如单片机 I/O 口内部有上拉电阻,外部接口电路 中可不另接上拉电阻。 2.独立式按键的软件设计 设计思路是采用查寻方式对按键的输入进行扫描,有键人时调用软件延时去抖动,再依次 判断是哪一个键按下,转入相应的键处理程序。 【例】按图 6-2(a)、(b),试分别编制按键扫描子程序。 解:按图 6-2(a)编程如下: KEYA:ORL P1,#07H ;置 P1.0~P1.2 为输入态 MOV A,P1 ;读键值,键闭合相应位为 0 CPL A ;取反,键闭合相应位为 1 ANL A,#00000111B ;屏蔽高 5 位,保留有键值信息的低 3 位 JZ GRET ;全 0,无键闭合,返回 LCALL DY10ms ;非全 0,有键闭合,延时 10ms,软件去抖动 MOV A,P1 ;重读键值,键闭合相应位为 0 CPL A ;取反,键闭合相应位为 1

ANLA.00000111B:屏蔽高5位.保留有键值信息的低3位 JZ GRET :全0,无键闭合,返回:非全0,确认有键闭合 B Acc0.KA0:转0#键功能程序 B Acc.1.KAI :转1#键功能程序 B Acc.2.KA2 :转2#键功能程序 GRETRET KAO:LCALL WORKO :执行0胖键功能子程序 RET KAI:LCALL WORKI 执行1#键功能子程序 RET KA2:LCALL WORK2 :执行2#键功能子程序 RET 按图913(6)编程如下: KEYBORL P1,07H ,置P1.0~P12为输入态 MOV A,PI ,读键值,键闭合相应位为1 ANLA,00000111B,屏蔽高5位,保留有键值信息的低3位 Z GRET :全0,无键闭合,返回 LCALL DY10ms :非全0.有键闭合.廷时10ms款件去抖动 MOV API :重读键值键闭合相应位为1 ANL A,00000111B:屏蔽高5位保留有键值信息的低3位 JZ GRET ,全0,无健闭合,返回,非全0,确认有键闭合 B Ace0.KBO ,转0键功能程序 B Ace.1.KB1 :转1#键功能程序 B Ace 2.KB2 ,转2#键功能程序 GRETRET
ANL A,#00000111B ;屏蔽高 5 位,保留有键值信息的低 3 位 JZ GRET ;全 0,无键闭合,返回;非全 0,确认有键闭合 JB Acc.0,KA0 ;转 0#键功能程序 JB Acc.1,KA1 ;转 1#键功能程序 JB Acc.2,KA2 ;转 2#键功能程序 GRET:RET KA0: LCALL WORK0 ;执行 0#键功能子程序 RET KA1: LCALL WORK1 ;执行 1#键功能子程序 RET KA2: LCALL WORK2 ;执行 2#键功能子程序 RET 按图 9-13(b)编程如下: KEYB:ORL P1,#07H ;置 P1.0~P1.2 为输入态 MOV A,P1 ;读键值,键闭合相应位为 1 ANL A,#00000111B ;屏蔽高 5 位,保留有键值信息的低 3 位 JZ GRET ;全 0,无键闭合,返回 LCALL DY10ms ;非全 0,有键闭合,延时 10ms,软件去抖动 MOV A,P1 ;重读键值,键闭合相应位为 1 ANL A,#00000111B ;屏蔽高 5 位,保留有键值信息的低 3 位 JZ GRET ;全 0,无键闭合,返回;非全 0,确认有键闭合 JB Acc.0,KB0 ;转 0#键功能程序 JB Acc.1,KB1 ;转 1#键功能程序 JB Acc.2,KB2 ;转 2#键功能程序 GRET:RET

KBO:LCALL WORKO 执行0#键功能子程序 RET KBI:LCALL WORKI :执行1#键功能子程序 RET KB2:LCALL WORK2 :执行2#键功能子程序 RET 三、矩阵式键盘接口编程 1.炬阵式键盘的结构及工作原理 LO端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线发生短路。 特点:①占用0端线较少:②软件结构教复杂。适用于按键较多的场合。 2键盘的工作方式 ()程序控制扫描方式 键处理程序固定在主程序的某个程序段。 特点:对CU工作影响小,但应考虑键盘处理程序的运行间隔周期不能太长,否则会影 响对键输入响应的及时性, 2)定时控制扫描方式 利用定时计数器每隔一段时间产生定时中新,CPU响应中断后对健盘进行扫描。 特点:与程序控制扫描方式的区别是,在扫描间隔时间内,前者用CU工作程序填充, 后者用定时/计数器定时控制。定时控制扫描方式也应考虑定时时间不能太长,否则会影响对 健输入响应的及时性。 图中断控制方式 中断控制方式是利用外部中断源,响应键输入信号。 特点:克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时 处理键输入,又能提高CPU运行效率,但要占用一个宝贵的中断资源。 8051 P1.0 P1.1 K4596 P1.2 K899102X91X P1.3 12之93914X952 P1.4 P1.5 列 P1.6 P1.7 图63 矩阵式键盘的结构
KB0: LCALL WORK0 ;执行 0#键功能子程序 RET KB1: LCALL WORK1 ;执行 1#键功能子程序 RET KB2: LCALL WORK2 ;执行 2#键功能子程序 RET 三、 矩阵式键盘接口编程 1. 矩阵式键盘的结构及工作原理 I/O 端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线发生短路。 特点: ①占用 I/O 端线较少; ②软件结构教复杂。 适用于按键较多的场合。 2. 键盘的工作方式 ⑴ 程序控制扫描方式 键处理程序固定在主程序的某个程序段。 特点:对 CPU 工作影响小,但应考虑键盘处理程序的运行间隔周期不能太长,否则会影 响对键输入响应的及时性。 ⑵ 定时控制扫描方式 利用定时/计数器每隔一段时间产生定时中断,CPU 响应中断后对键盘进行扫描。 特点:与程序控制扫描方式的区别是,在扫描间隔时间内,前者用 CPU 工作程序填充, 后者用定时/计数器定时控制。定时控制扫描方式也应考虑定时时间不能太长,否则会影响对 键输入响应的及时性。 ⑶ 中断控制方式 中断控制方式是利用外部中断源,响应键输入信号。 特点:克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时 处理键输入,又能提高 CPU 运行效率,但要占用一个宝贵的中断资源。 图 6-3 矩阵式键盘的结构

【例】试编制矩阵式键盘扫描程序。 解:KEY: MOV P1.#0F0H ,行线置低电平列线置输入态 KEYO: MOV AP1 ,读列线数据 CPL A ,数据取反,“1”有效 ANL A.#0FOH :屏蔽行线保留列线数据 MOV RIA ,存列线数据R1高4位) Z GRET :全0,无键按下返回 KEYI MOV P1#0FH :行线置输入态列线置低电平 MOV A,PI :读行线数据 CPL A 数据取反“1有效 ANL A.#OFH :屏蔽列线保留行线数据 MOV R2.A :存行线数据R2低4位) Z GRET :全0,无键按下返回 JBC FO.WAIT :己有消抖标志转 SETB FO :无消抖标志,置消抖标志 LCALL DY10ms :调用10ms廷时子程序消抖 SJMP KEYO :重读行线列线数据 GRET RET WAIT: MOV A.PI ,等特按健释放 CPL A ANL A.#0FH JNZ WAIT :按键未释放继续等待 KEY2: MOV A.RI :取列线数据(高4位) MOV R103H:取列线编号初值 MOV R303H:置循环数 CLR KEY3:RLC A :依次左移入C中
【例】试编制矩阵式键盘扫描程序。 解: KEY: MOV P1,#0F0H ;行线置低电平,列线置输入态 KEY0: MOV A,P1 ;读列线数据 CPL A ;数据取反,“1”有效 ANL A,#0F0H ;屏蔽行线,保留列线数据 MOV R1,A ;存列线数据(R1 高 4 位) JZ GRET ;全 0,无键按下,返回 KEY1: MOV P1,#0FH ;行线置输入态,列线置低电平 MOV A, P1 ;读行线数据 CPL A ;数据取反,“1”有效 ANL A, #0FH ;屏蔽列线,保留行线数据 MOV R2,A ;存行线数据(R2 低 4 位) JZ GRET ;全 0,无键按下,返回 JBC F0,WAIT ;已有消抖标志,转 SETB F0 ;无消抖标志,置消抖标志 LCALL DY10ms ;调用 10ms 延时子程序消抖 SJMP KEY0 ;重读行线列线数据 GRET: RET ; WAIT: MOV A,P1 ;等待按键释放 CPL A ; ANL A,#0FH ; JNZ WAIT ;按键未释放,继续等待 KEY2: MOV A,R1 ;取列线数据(高 4 位) MOV R1,#03H ;取列线编号初值 MOV R3,#03H ;置循环数 CLR C ; KEY3: RLC A ;依次左移入 C 中

C KEY4 :C=l,该列有健按下,(列线编号存R1) DEC RI C0.无键按下,修正列偏号 DJNZ R3.KEY3 :判循环结束否?未结束雏续寻找有键按下的列线 KEY4: MOV A.R2 :取行线数据(低4位) MOV R2.00H :置行线编号初值 MOV R3.03H :置循环数 CLR KEY5: RRC A :依次右移入C中 JC KEY6 :C=l,该行有键按下(行线偏号存R2) INC R2 ,C-0.无键按下修正行线编号 DJNZ R3KEY5:判循环结東否?未继续寻找有键按下的行线 KEY6: MOV A.R2 :取行线编号 CLR RLC A ,行编号×2 RLC A ,行编号×4 ADD A,RI ,行编号4+列编号-按键编号 KEY7: CLR C RLC A ,按键编号×2 RLC 4 :按键编号×4 LCALL+RET共4字节) MOV DPTR#TABJ JMP @A+DPTR :散转执行相应键功能子程序 TABJ: LCALL WORKO :调用执行0#键功能子程序 RET LCALL WORKI :调用执行1#键功能子程序 RET LCALL WORK15 :调用执行15#键功能子程序
JC KEY4 ;C=1,该列有键按下,(列线编号存 R1) DEC R1 ;C=0,无键按下,修正列编号 DJNZ R3,KEY3 ;判循环结束否?未结束继续寻找有键按下的列线 KEY4: MOV A,R2 ;取行线数据(低 4 位) MOV R2,#00H ;置行线编号初值 MOV R3,#03H ;置循环数 CLR C ; KEY5: RRC A ;依次右移入 C 中 JC KEY6 ;C=1,该行有键按下,(行线编号存 R2) INC R2 ;C=0,无键按下,修正行线编号 DJNZ R3,KEY5 ;判循环结束否?未继续寻找有键按下的行线 KEY6: MOV A,R2 ;取行线编号 CLR C ; RLC A ;行编号×2 RLC A ;行编号×4 ADD A,R1 ;行编号×4+列编号=按键编号 KEY7: CLR C ; RLC A ;按键编号×2 RLC A ;按键编号×4(LCALL+ RET 共 4 字节) MOV DPTR,#TABJ ; JMP @A+DPTR ;散转,执行相应键功能子程序 TABJ: LCALL WORK0 ;调用执行 0#键功能子程序 RET ; LCALL WORK1 ;调用执行 1#键功能子程序 RET ; … … LCALL WORK15 ;调用执行 15#键功能子程序

RET 【例】按图64,试编制中断方式键盘扫描程序将键盘序号存入内RAM30H。 INTO +5N 8051 0 P1.0 4 5 6 P1.1 8 9 10 11 P1.2 12 13 15 P1.3 P.4 P1.5 P1.6 P1.7 图6-5 工作于中断方式的矩阵式键盘接口电路 ORG 0000H :复位地址 LJMP STAT :转初始化 ORG 00031H :中断入口地址 LJMP PINTO :转中断服务程序 ORG 0100H 初始化程序首地址 STAT MOV SPN60H :置堆栈指针 SETB 10 :置为边沿触发方式 MOV IP00000001B:置为高优先级中断 MOVP1,00001111B:置P1.01.3为输入,置P1.41.7输出 SETB EA CPU开中 SETB EXO :开中 LJMP MAIN ;主程序并等待有键按下时中断 OGR 2000H :中断服务程序首地址 PINTO:PUSH Acc :保护现场 PUSH PSW MOV A.PI :读行线(P1.0一P1.3)数据
RET ; 【例】按图 6-4,试编制中断方式键盘扫描程序,将键盘序号存入内 RAM30H。 图 6-5 工作于中断方式的矩阵式键盘接口电路 ORG 0000H ;复位地址 LJMP STAT ;转初始化 ORG 0003H ;中断入口地址 LJMP PINT0 ;转中断服务程序 ORG 0100H ;初始化程序首地址 STAT: MOV SP,#60H ;置堆栈指针 SETB IT0 ;置为边沿触发方式 MOV IP,#00000001B ;置为高优先级中断 MOV P1,#00001111B ;置 P1.0~1.3 为输入,置 P1.4~1.7 输出 SETB EA ;CPU 开中 SETB EX0 ;开中 LJMP MAIN ;主程序,并等待有键按下时中断 OGR 2000H ;中断服务程序首地址 PINT0: PUSH Acc ;保护现场 PUSH PSW ; MOV A,P1 ;读行线(P1.0~P1.3)数据

CPL A 数据取反,“1有效 ANL A.#OFH :屏蔽列线保留行线数据 MOV R2A ,存行线(P1.0一P13)数据(R2低4位) MOV P10FOH:行线置低电平,列线置输入态 MOV A.PI :读列线(P1.4一P1.7数据 CPL A ,数据取反,“1有效 ANL A #OFOH :屏蔽行线保留列线数据(A中高4位) MOV R1.#03H :取列线编号初值 MOV R3.#03H :置循环数 CLR C PINTOI:RLC A :依次左移入C中 JC PINT02 :C=1,该列有键按下(列线编号存R1) DEC RI C-0无键按下,修正列编号 DJNZ R3,P叫NT四1判循环结束否?未继续寻找有键按下列线 PINTO2:MOV A.R2 :取行线数据(低4位) MOV R2.#00H :置行线编号初值 MOV R3.03H :置循环数 PINTO3:RRC A :依次右移入C中 JC PINTO4 C=l该行有键按下,(行线编号存R2) INC R2 C0,无键按下,修正行线编号 DJNZ R3.PINTO3,判循环结束否?未维续寻找有键按下行线 PINT04:MOV A.R2 :取行线编号 CLR RLC ,行编号×2 RLC A :行编号×4 ADD A,RI ,行编号×4+列编号-按键编号 MOV 30H,A :存按键编号
CPL A ;数据取反,“1”有效 ANL A, #0FH ;屏蔽列线,保留行线数据 MOV R2 ,A ;存行线(P1.0~P1.3)数据(R2 低 4 位) MOV P1,#0F0H ;行线置低电平,列线置输入态 MOV A,P1 ;读列线(P1.4~P1.7)数据 CPL A ;数据取反,“1”有效 ANL A ,#0F0H ;屏蔽行线,保留列线数据(A 中高 4 位) MOV R1,#03H ;取列线编号初值 MOV R3,#03H ;置循环数 CLR C ; PINT01:RLC A ;依次左移入 C 中 JC PINT02 ;C=1,该列有键按下,(列线编号存 R1) DEC R1 ;C=0,无键按下,修正列编号 DJNZ R3,PINT01 ;判循环结束否?未继续寻找有键按下列线 PINT02:MOV A,R2 ;取行线数据(低 4 位) MOV R2,#00H ;置行线编号初值 MOV R3,#03H ;置循环数 PINT03:RRC A ;依次右移入 C 中 JC PINT04 ;C=1,该行有键按下,(行线编号存 R2) INC R2 ;C=0,无键按下,修正行线编号 DJNZ R3,PINT03 ;判循环结束否?未继续寻找有键按下行线 PINT04: MOV A ,R2 ;取行线编号 CLR C ; RLC A ;行编号×2 RLC A ;行编号×4 ADD A,R1 ;行编号×4+列编号=按键编号 MOV 30H,A ;存按键编号

POP PSW POP Acc RETI $6~2LED显示器及接口技术 一、LED显示器结构与工作原理 LED显示块是由发光二极管显示字段的显示器件。在微机应用系统中通常使用的是七段 LED。这种显示块有共阴极与共阳极两种,如图66所示。七段显示块与微机接口非常容易。 如表所示。 g+5 b o- 10986 d 0 g 0 dp dpo e d GkDe dp (a)共阴极 (b)共阳极 (e)管园配置 显家李存 共队极餐总鼠 阳耀假话码 程保字将 大明耀餐济弱 阳耀援选精 0 3FH CH c 39 COH 1 0 F州 D E AIH H AM 州 86H 3 零用 B0H F 71H 84H 6 90H P 7 82H 3 ODH 92州 H CIH 6 7DH 州 M CEH 7 0 F8H y 6 91H 8 用 明 F用 H PH 0用 “灭” 000 FFH A 图 83H NCH 83H 二、LED显示器与单片机接口技术 (一)静态显示方式及其典型应用电路 LED数码管显示分类:静态显示方式和动态显示方式。 ()静态显示方式,每一位字段码分别从1O控制口输出,保持不变直至CPU刷新。 特点:编程较简单,但占用O口线多,一般适用于显示位数较少的场合, ☒动志显示方式,在某一髯时显示一位,依次循环扫描,轮流显示,由于人的视觉滞留 效应,人们看到的是多位同时稳定显示
POP PSW ; POP Acc ; RETI ; §6~2 LED 显示器及接口技术 一、LED 显示器结构与工作原理 LED 显示块是由发光二极管显示字段的显示器件。在微机应用系统中通常使用的是七段 LED。这种显示块有共阴极与共阳极两种,如图 6-6 所示。七段显示块与微机接口非常容易。 如表所示。 (a)共阴极 (b)共阳极 (c)管脚配置 二、LED 显示器与单片机接口技术 (一) 静态显示方式及其典型应用电路 LED 数码管显示分类:静态显示方式和动态显示方式。 ⑴ 静态显示方式,每一位字段码分别从 I/O 控制口输出,保持不变直至 CPU 刷新。 特点:编程较简单,但占用 I/O 口线多,一般适用于显示位数较少的场合。 ⑵ 动态显示方式,在某一瞬时显示一位,依次循环扫描,轮流显示,由于人的视觉滞留 效应,人们看到的是多位同时稳定显示

特点:占用IO端线少,电路较简单,编程较复杂,CPU要定时扫描刚新显示。一般适用 于显示位数较多的场合。 例: 位线 图6-7动态显示LED数码管连接方式 (二)动态显示器接可 动态显示电路连结形式: ①显示各位的所有相同字段线连在一起,共8段,由一个8位10口控制: ②每一位的公共端(共阳或共阴COM)由另一个IO口控制。 例:共阴型8位动态显示电路 5 亚 2 P1.0 P1.1 P1.2 7 74138 0c51 P2.7 T4377 瓦 黑 PO 10-17 图6-8 其阴型8位动态显示电路 【例】按图68,试编制循环扫描(10次)显示子程序,已知显示字段码存在以30H(低位) 为首址的8字节内RAM中, 解:编程如下, DIR4:MOV R2,#10 ,置循环扫描次数 MOV DPTR. #7FFFH :置74377口地址 DLP1:ANLP1,#11111000B :第0位先显示
特点:占用 I/O 端线少,电路较简单,编程较复杂,CPU 要定时扫描刷新显示。一般适用 于显示位数较多的场合。 例: 图 6-7 动态显示 LED 数码管连接方式 (二)动态显示器接口 动态显示电路连结形式: ① 显示各位的所有相同字段线连在一起,共 8 段,由一个 8 位 I/O 口控制; ② 每一位的公共端(共阳或共阴 COM)由另一个 I/O 口控制。 例:共阴型 8 位动态显示电路 图 6-8 共阴型 8 位动态显示电路 【例】按图 6-8,试编制循环扫描(10 次)显示子程序,已知显示字段码存在以 30H(低位) 为首址的 8 字节内 RAM 中。 解:编程如下: DIR4: MOV R2 , #10 ;置循环扫描次数 MOV DPTR , #7FFFH ;置 74377 口地址 DLP1: ANL P1 , #11111000B ;第 0 位先显示