《第7章单片机接口技术》由会员分享,可在线阅读,更多相关《第7章单片机接口技术(56页珍藏版)》请在金锄头文库上搜索。
1、第第7章章 单片机接口技术单片机接口技术7.1 LED显示接口技术1、LED显示器结构与原理显示器结构与原理7.1 LED显示接口技术2、LED数码管限流电阻的取值数码管限流电阻的取值 电路如下电路如下7.1 LED显示接口技术2、LED数码管电路的形式数码管电路的形式7.1 LED显示接口技术3.LED的字形码的字形码7.1 LED显示接口技术3、LED的字形码(以共阳为例)的字形码(以共阳为例)显示数对应的状态、低电平有效(字形码)十六进制011000000C0H111111001F9H210100100A4H310110000B0H91001000090HA1000100088H7.1
2、LED显示接口技术3、LED的字形码的字形码7.1 LED显示接口技术4、LED接口电路的译码方法接口电路的译码方法显示数 二进制数二进制字形码B3B2B1B0dpgfedcba00000110000001000111111001200101010010030011101100009100110010000A1010100010007.1 LED显示接口技术4、LED接口电路的译码方法接口电路的译码方法(1)硬件译码硬件译码 单片机送出单片机送出四位二进制数四位二进制数由硬件电路将由硬件电路将二进制数译成二进制数译成对应的字形码对应的字形码(增加硬件成增加硬件成本应用较少)。本应用较少)。7.
3、1 LED显示接口技术4、LED接口电路的译码方法接口电路的译码方法(2)软件译码软件译码 单片机通过内部单片机通过内部软件将二进制数译软件将二进制数译成对应的字形码直成对应的字形码直接从端口送出(应接从端口送出(应用较多)。用较多)。7.1 LED显示接口技术5、LED的显示方法的显示方法(1)静态显示)静态显示 在静态显示方式下,每位数码管的在静态显示方式下,每位数码管的和端与一个位的和端与一个位的 相连。要相连。要在某一位数码管上显示字符时,只要从对在某一位数码管上显示字符时,只要从对应的应的 口输出其显示代码即可。其特口输出其显示代码即可。其特点为:数码管中的发光二极管恒定地导通点为:
4、数码管中的发光二极管恒定地导通或截至,直到显示字符改变为止。或截至,直到显示字符改变为止。7.1 LED显示接口技术5、LED的显示方法(硬件电路)的显示方法(硬件电路)(1)静态显示)静态显示优点:不占用优点:不占用CPU的时间。的时间。缺点:占用过缺点:占用过多输出端口。多输出端口。7.1 LED显示接口技术5、LED的显示方法的显示方法(1)静态显示(程序)静态显示(程序) MOV A , R2 ;R2为显示缓冲区(要显示的数为显示缓冲区(要显示的数) MOV DPTR , #TAB MOVC A , A+DPTR MOV P1 , A RET TAB: DB 0C0H,0F9H, 0A
5、4H,0B0H,99H,92H DB 82H,0F8H,80H,90H 见:静态显示见:静态显示 注:单片机的四个并行注:单片机的四个并行I/O口,都有锁存功口,都有锁存功 能。能。7.1 LED显示接口技术5、LED的显示方法的显示方法(2)动态显示)动态显示(硬件电路)硬件电路) 工作原理:逐个地循环点亮各位显示器,工作原理:逐个地循环点亮各位显示器,为了使人看到所有的显示器都在显示,就为了使人看到所有的显示器都在显示,就得加快循环点亮各位显示器的速度,利用得加快循环点亮各位显示器的速度,利用人眼视觉残留效应,给人感觉到与全部显人眼视觉残留效应,给人感觉到与全部显示器持续点亮的效果一样。示
6、器持续点亮的效果一样。注:循环扫描的频率不低于注:循环扫描的频率不低于50Hz50Hz。7.1 LED显示接口技术5、LED的显示方法的显示方法(2)动态显示)动态显示(硬件电路)硬件电路)优点:用较少的优点:用较少的端口,可扩展多位端口,可扩展多位LEDLED显示器。显示器。缺点:过多的占用缺点:过多的占用CPUCPU的时间。的时间。7.1 LED显示接口技术5、LED的显示方法的显示方法(2)动态显示)动态显示(程序)程序)DEY:MOV DPTR , #TAB MOV A , 50H ;首位显示缓冲区首位显示缓冲区MOVC A,A+DPTRMOV P1,ACLR P2.0ACALL DE
7、Y1SETB P2.0MOV A,55HMOVC A,A+DPTRMOV P1,ACLR P2.5ACALL DEY1SETB P2.5SJMP DEYTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H DEY1:MOV R6,#250DEY2:DJNZ R6,DEY2 RET见:动态显示见:动态显示0.ASM 7.1 LED显示接口技术5、LED的显示方法的显示方法(2)动态显示)动态显示(实用程序)实用程序) MOV DPTR , #TAB MOV R7 , #0FEH MOV R0,#50HL: MOV A,R0 MOVC A,A
8、+DPTR MOV P1,A MOV P2,R7 LCALL DEY INC R0 MOV A,R7 RL A MOV R7,A JB ACC.6,L RETTAB:DB 0C0H,0F9H,0A4H,0B0H, DB 99H,92H,82H,0F8H, DB 80H,90HDEY:MOV R6,#250DEY1: DJNZ R6,DEY1 RET END见:见:动态显示1.ASM7.2 键盘接口技术 键的识别键的识别 按键工作处于两种状态:按下与释放。按键工作处于两种状态:按下与释放。()外部中断捕捉()外部中断捕捉 图是用外部中断捕捉键按下的示意图图是用外部中断捕捉键按下的示意图7.2 键
9、盘接口技术()定时查询()定时查询 定时查询键盘方法的电路,优点是电定时查询键盘方法的电路,优点是电路简洁、节省硬件、抗干扰能力强、应用路简洁、节省硬件、抗干扰能力强、应用灵活。缺点是占用较多的灵活。缺点是占用较多的 时间资源时间资源(但这对大多数单片机应用系统来说不是(但这对大多数单片机应用系统来说不是个问题)。一般情况下推荐使用该方法。个问题)。一般情况下推荐使用该方法。7.2 键盘接口技术 键的消抖键的消抖消除抖动的方法有两种,一种是采取硬件消除抖动的方法有两种,一种是采取硬件来实现,如用滤波器电路、双稳态电路等。来实现,如用滤波器电路、双稳态电路等。图是一种比较简单、实用、可靠的方法。
10、图是一种比较简单、实用、可靠的方法。7.2 键盘接口技术7.1.1独立式键盘独立式键盘 独立式键盘是指直接用独立式键盘是指直接用 口线构口线构成单个按键电路,每个按键占用一条成单个按键电路,每个按键占用一条 口线,如图所示。口线,如图所示。优点:程序简单优点:程序简单缺点:不利于多键盘缺点:不利于多键盘 的扩展的扩展7.2 键盘接口技术程序: KEY: MOV P3,#0FFH MOV A , P3 CPL A JZ NEXT ;无键合返回无键合返回 LCALL DEY ;消抖延时;消抖延时10ms MOV A , P3 CPL A JZ NEXT ;无键合返回;无键合返回 JNB ACC.0
11、, LOP1 MOV R2,#00H SJMP NEXTLOP1:JNB ACC.1 ,LOOP2 MOV R2,#01H SJMP NEXT .LOP7:JNB ACC.7,NEXT MOV R2,#08HNEXT: RET DEY: MOV R5 , #10 DEY1:MOV R6 , #250 DJNZ R6 , $ DJNZ R5 , DEY1 RET见:独立式键盘见:独立式键盘.ASM7.2 键盘接口技术.2.2.行列式键盘行列式键盘 一、电路:将一、电路:将 口线的一部分作为口线的一部分作为行线,另一部分作为列线,按键设置在行行线,另一部分作为列线,按键设置在行线和列线的交叉点上,
12、如图所示。线和列线的交叉点上,如图所示。7.2 键盘接口技术 二、工作原理:行线工作原理:行线P3.0P3.3是输入是输入线,无键合时全为线,无键合时全为“1”;CPU通过其电平通过其电平的高低来判断键是否被按下;列线的高低来判断键是否被按下;列线P3.4P3.7是扫描线,正常是为是扫描线,正常是为“0”。若。若有键合时,闭合键所在的行被所在的列拉有键合时,闭合键所在的行被所在的列拉成低电平。成低电平。7.2 键盘接口技术 三、程序框图7.2 键盘接口技术7.2 键盘接口技术KEY:MOV P3,#0FH MOV A,P3 ORL A,#0F0H CPL A JZ NEXT LCALL DEL
13、10 ;消抖 MOV A,P3 ORL A,#0F0H CPL A JZ NEXT7.2 键盘接口技术 MOV P3,#11101111B ;判0列有键合 MOV A,P3 ORL A,#0F0H CPL A JZ LOP1 MOV R1,#00H ;给行号 SJMP LINE LOP1:MOV P3,#11011111B ;判1列有键合 MOV A,P3 ORL A,#0F0H CPL A JZ LOP2 MOV R1,#01H SJMP LINE7.2 键盘接口技术LOP2:MOV P3,#10111111B ;判2列有键合 MOV A,P3 ORL A,#0F0H CPL A JZ LO
14、P3 MOV R1,#02H SJMP LINE LOP3:MOV P3,#01111111B ;判3列有键合 MOV A,P3 ORL A,#0F0H CPL A JZ NEXT MOV R1,#03H7.2 键盘接口技术LINE: JNB ACC.0,LOP4 ;判0行有键合 MOV R3,#00H SJMP AAA LOP4:JNB ACC.1,LOP5 ;判1列有键合 MOV R3,#01H SJMP AAA LOP5:JNB ACC.2,LOP6 ;判2列有键合 MOV R3,#02H SJMP AAA LOP6:JNB ACC.3,NEXT ;判3列有键合 MOV R3,#03H7
15、.2 键盘接口技术AAA: MOV A,R1 MOV B,#4 ;键号列号总行号列号 MUL AB ADD A,R3 MOV R2,A NEXT:RET DEL10:MOV R5,#10H ;延时10ms,消抖 DEY1: MOV R6,#250 DJNZ R6,$ DJNZ R5,DEY1 RET7.2 键盘接口技术例题: ORG 0000H CLR P2.0 L: LCALL DIR LCALL KEY SJMP L 注意:该程序没有判断键释放。注意:该程序没有判断键释放。 见:4乘4键盘.ASM 加法器:单位计算器.ASM7.3模数(A/D)转换接口1. 概述概述 A/D转换器用以实现模
16、拟量向数字量的转换。转换器用以实现模拟量向数字量的转换。 转换的过程包括:采样、保持、量化和编码。转换的过程包括:采样、保持、量化和编码。 按转换原理可分为按转换原理可分为 4 种种: 计数式、计数式、 双积分式、逐双积分式、逐次逼近式以及并行式次逼近式以及并行式A/D转换器。转换器。 逐次逼近式逐次逼近式A/D转换器是一种速度较快转换器是一种速度较快, 精度精度较高的转换器较高的转换器, 其转换时间大约在几微秒到几百其转换时间大约在几微秒到几百微秒之间。常用的这种芯片有微秒之间。常用的这种芯片有: (1) ADC0801ADC0805型 8 位MOS型A/D转换器; (2) ADC0808/
17、0809 型 8 位MOS型A/D转换器; (3) ADC0816/0817 型 8 位MOS型A/D转换器; 7.3模数(A/D)转换接口2. 典型典型A/D转换器芯片转换器芯片ADC0809 简介简介7.3模数(A/D)转换接口7.3模数(A/D)转换接口地址码与输入通道的对应关系7.3模数(A/D)转换接口7.3模数(A/D)转换接口3. ADC0809与与89S51 的接口电路的接口电路(1) 查询方式7.3模数(A/D)转换接口下面的程序是采用查询方法, 分别对 8 路模拟信号轮流采样一次, 并依次把结果转存到数据存储区的采样转换程序。 MOV R1, data ; 置数据区首址 M
18、OV DPTR, 7FF8H ; P2.7=0, 指向通道 0 MOV R7, 08H ; 置通道数 LP1: MOVX DPTR, A ; 启动A/D转换 MOV R6, 0AH ; 软件延时 DALY: NOP NOP NOP7.3模数(A/D)转换接口 NOP NOP DJNZ R6, DALY MOVX A, DPTR ; 读取转换结果 MOV R1, A ; 存储数据 INC DPTR ; 指向下一个通道 INC R1 ; 修改数据区指针 DJNZ R7, LP1 ; 8 个通道全采样完了吗?7.3模数(A/D)转换接口4. 中断方式中断方式7.3模数(A/D)转换接口 这里将ADC
19、0809 作为一个外部扩展的并行I/O口, 直接由8031的P2.0和WR脉冲进行启动。因而其端口地址为 0FEFFH。用中断方式读取转换结果的数字量, 模拟量输入通道选择端ADD A、ADD B、ADD C分别与8031的P0.0、 P0.1、P0.2 直接相连, CLK由 8031 的ALE提供。其读取通道 0 转换后的数字量程序段如下: ORG 1000H INADC: SETB IT1 ; INT1设为边沿触发 SETB EA ; 开中断INT1 SETB EX1 7.3模数(A/D)转换接口MOV DPTR, 0FEFFH ; 端口地址送DPTRMOV A, 00H ; 选择 0 通
20、道输入MOVX DPTR, A ; 启动输入 ORG 0013HAJMP PINT1 PINT1: MOV DPTR, 0FEFFH ; 端口地址送DPTR MOVX A, DPTR ; 读取IN0 的转换结果 MOV 50H, A ; 存入 50H单元 MOV A, 00H MOVX DPTR, A ; 启动A/D, IN0 通道输入并转换 RETI ; 返回7.4数模(D/A)转换器 1. D/A转换器的性能指标转换器的性能指标 (1) 分辨率。分辨率是D/A转换器对输入量变敏感程度的描述, 与输入数字量的位数有关。如果数字量的位数为n, 则D/A转换器的分辨率为 2-n。 (2) 建立时
21、间。建立时间是描述 D/A转换速度的一个参数, 具体是指从输入数字量变化到输出达到终值误差1/2LSB(最低有效位)时所需的时间。通常以建立时间来表明转换速度。 (3) 接口形式。 D/A转换器有两类: 一类不带锁存器, 另一类则带锁存器。对于不带锁存器的D/A转换器, 为保存单片机的转换数据, 在接口处要加锁存器。7.4数模(D/A)转换器2. 典型典型D/A转换器转换器DAC0832简介简介7.4数模(D/A)转换器7.4数模(D/A)转换器7.4数模(D/A)转换器3. DAC0832与与MCS - 51 的接口及应用的接口及应用1) 单缓冲方式7.4数模(D/A)转换器 执行下面的几条
22、指令就能完成一次执行下面的几条指令就能完成一次D/A转换转换: MOV DPTR, 7FFFH; 指向DAC0832 MOV A, DATA; 数字量装入A MOVX DPTR, A; 完成一次D/A输入与转换7.4数模(D/A)转换器2) 双缓冲方式7.4数模(D/A)转换器MOV DPTR, 0DFFFH ; 指向DAC0832(1)MOV A, data1 ; data1送入DAC0832(1)中锁存MOVX DPTR, A ; MOV DPTR, 0BFFFH ; 指向DAC0832(2)MOV A, data2 ; data2送入DAC0832(2)中锁存MOVX DPTR, AMO
23、V DPTR, 7FFFH ; 给0832(1)和(2)提供WR信号MOVX DPTR, A ; 同时完成D/A转换输出 7.4数模(D/A)转换器例题:产生阶梯波7.4数模(D/A)转换器START: MOV A, 00H ; MOV DPTR, 7FFFH ; 0832 的地址送DPTR MOV R1, 0AH ; 台阶数为 10LP: MOVX DPTR, A ; 送数据至 0832 CALL DELAY ; 1 ms延时 DJN2 R1, NEXT ; 不到 10 台阶转移 SJMP STRT ; 产生下一个周期NEXT: ADD A, 10 ; 台阶增幅 SJMP LP ; 产生下一台阶DELAY: MOV 20H, 249 ; 1 ms延时程序AGAIN: NOP NOP DJNZ 20H, AGAIN 7.4数模(D/A)转换器7.4数模(D/A)转换器7.4数模(D/A)转换器