200 likes | 498 Views
MCS-51 单片机原理及应用教程. 清华大学出版社 刘迎春 主编. 第 9 章 接 口 技 术. 键盘接口 LED 显示器接口 A/D 转换器接口 D/A 转换器接口. 9.1 键 盘 接 口. 9.1.1 键盘接口所涉及的问题 1. 键盘输入的特点 2. 按键的确认 3. 按键消抖. 9.1.2 键盘设计. 1. 独立式按键 2. 键盘矩阵. 9.1.3 按键的识别编程. 1. 程控按键扫描 2. 定时按键扫描 3. 外部中断按键扫描. 9.1.4 键盘识别举例
E N D
MCS-51 单片机原理及应用教程 清华大学出版社 刘迎春 主编
第9章 接 口 技 术 • 键盘接口 • LED显示器接口 • A/D转换器接口 • D/A转换器接口
9.1 键 盘 接 口 9.1.1 键盘接口所涉及的问题 1. 键盘输入的特点 2. 按键的确认 3. 按键消抖
9.1.2 键盘设计 1. 独立式按键 2. 键盘矩阵
9.1.3 按键的识别编程 1. 程控按键扫描 2. 定时按键扫描 3. 外部中断按键扫描 9.1.4 键盘识别举例 例1采用查询法对如图9.2所示的电路图进行按键扫描编程:
ORG 0000H AJMP MAIN ORG 0040H MAIN: MOV SP, #60H … LOOP: … JNB P1.0, KEY0 ;如果P1.0为低,则转至以KEY0为标号的程序段执行 JNB P1.1, KEY1 ;如果P1.1为低,则转至以KEY1为标号的程序段执行 JNB P1.2, KEY2 ;如果P1.2为低,则转至以KEY2为标号的程序段执行 JNB P1.3, KEY3 ;如果P1.3为低,则转至以KEY3为标号的程序段执行 … LJMP LOOP KEY0: CALL DELAY10MS … RET
KEY1: CALL DELAY10MS … RET KEY2: CALL DELAY10MS … RET KEY3: CALL DELAY10MS … RET
例4编程对图9.3所示键盘进行识别。 • 判断是否有键按下。 • (2) 判断哪个键按下 。
9.2 LED显示器接口 9.2.1 LED简介 图9.5 LED结构原理及外形图 图9.6 LED各段的传统排列顺序
9.2.2 LED显示器及显示方式 9.2.3 LED与单片机的接口设计 例1对于并行接口的LED显示,其应用较为简单,如图9.7所示为通过P1口驱动一只LED显示器的例子。
其例程为: ORG 0000H AJMP MAIN ORG 0040H MAIN: MOV SP, #60H MOV R0, #00H MOV DPTR, #TAB LOOP: MOV A, R0 MOVC A, @A+DPTR MOV P1, A CALL DELAY1S INC R0 CJNE R0, #0AH, LOOP MOV R0, #00H AJMP LOOP TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH … DELAY1S: … RET END
9.3 A/D转换器接口 9.3.1 ADC0809简介 ADC0809的管脚分布图及内部结构如图9.10所示。
9.3.2 8051与ADC0809的接口设计 例1图9.11是8051与ADC0809的接口设计。 例程为: (1)查询方式读数 (2)应用中断方式读取数据
9.4 D/A转换器接口 9.4.1 DAC0832的管脚及内部结构 (a)管脚分布 (b)内部结构
9.4.2 DAC0832与8051的接口设计 例1图9.13为单缓冲工作模式下的DAC0832与单片机的接口设计。 ORG 0000H AJMP MAIN ORG 0040H MAIN: MOV SP, #60H MOV DPTR, #0FE00H MOV A, 30H MOVX @DPTR, A END
程序段如下 : ORG 0000H AJMP MAIN ORG 0040H MAIN: MOV SP, #60H MOV DPTR, #0FD00H MOV A, 30H MOVX @DPTR, A ;向DAC0832-1中写入要转换的数据 MOV DPTR, #0FE00H MOV A, 31H MOVX @DPTR, A ;向DAC0832-2中写入要转换的数据 MOV DPTR, #0FB00H MOV A, #35H ;向A内写入一个无意义的数; ;也可仍旧使用原A中的数 MOVX @DPTR, A ;使两片DAC0832的同时为低, ;转换开始 END
9.5 思考练习题 (1)为什么要进行按键消抖?有哪些方法? (2)试画出用一只74LS165和两只74LS164驱动128只按键的电路原理图,并写出其程序段。 (3)试编写用P1.0和P1.1口模拟TXD和RXD口的静态驱动数码管显示的程序段。 (4)试应用最少的硬件电路,设计一个具有16只数码管显示和16只按键的电路。 (5)在某滚珠丝杠误差检测系统中,有三只温度传感器和一只湿度传感器,一只气压传感器,设其温度传感器输出的电信号为1~2.5V,湿度传感器输出的电信号为1~1.5V,气压传感器输出的信号为3~4V,试应用单片机设计一套对所有传感器进行数据采集并同时显示的系统。要求应用较少的硬件电路。
(6)PSD是一种一维或二维的光学位置传感器。当一个光斑照射到PSD的表面上时,其垂直的两边的电阻将产生变化,如果该PSD有效接受光斑的面积为3×3mm2,如果用单片机通过A/D转换芯片将其数据得到,当要求精度在1µm时,试计算需要多少位的A/D转换芯片?(6)PSD是一种一维或二维的光学位置传感器。当一个光斑照射到PSD的表面上时,其垂直的两边的电阻将产生变化,如果该PSD有效接受光斑的面积为3×3mm2,如果用单片机通过A/D转换芯片将其数据得到,当要求精度在1µm时,试计算需要多少位的A/D转换芯片? (7)某种压电陶瓷微位移器在两端电压为50~300V时,其伸长量为9µm,如对其电压应用D/A转换芯片进行控制,我们所能控制的理论微位移步长会是多少? (8)登录WWW.MAXIM-IC.COM.CN网站免费索要一片MAX197并行12位A/D转换器,设计其与单片机的接口电路并编写程序。