第八章微型计算机接口技术 8=LLED显示器接口 8-2键盘与单片机接口 8-3D/A转换器接口 8=4A/D转换器接口
第八章 微型计算机接口技术 8-1 LED 显示器接口 8-2 键盘与单片机接口 8-3 D/A转换器接口 8-4 A/D转换器接口
8-2LED显示器接口 LED显示器用于显示工业控制 参数、过程状态。 b 1.0~1.7 COM 1.LED数码管 g h 共阴极LED和共阳极LED MCS-51 当LED字段引线与数据线连接, 每个显示字形对应一个字形码。_LED的字形码字段码 b h 显示字符共阴极共阳极 0 3FH COH 06H F9H 8 FFH 00H O COM 灭 00 FFH F 71H84H D7 D d5 da D3 d2 D1 de 3EH CIH h gf e d cb a F3H 02H
8-2 LED 显示器接口 LED显示器用于显示工业控制 参数、过程状态。 1. LED数码管 共阴极LED和共阳极LED 当LED字段引线与数据线连接, 每个显示字形对应一个字形码。 P1.0~1.7 COM MCS-51 a f b g e c d h a b h a b h COM LED 的字形码(字段码) 显示字符 共阴极 共阳极 0 3FH C0H 1 06H F9H 8. FFH 00H ‘灭’ 00 FFH F 71H 84H U 3EH C1H P. F3H 02H D7 D6 D5 D4 D3 D2 D1 D0 h g f e d c b a
显示程序任务: 1.设置显示缓冲区,存放待 显示数据和字符(位置码)。 b f 1.0~1.7 COM 2.显示译码:程序存储器中 建立字形码常数表,查表得出对 hi e MCS-51 d°h 应数据和字符的字形码 3输出显示:输出字形码到 显示端口。 例: MOV DPTR,#wTAB;指向字形码表首地址 MOv A, RO 取显示缓冲区中数据 MOCA,aA+DPTR;查表显示译码 MOV P1, A 输出显示 wTAB:DB3FH,06H,5BH;字形码表
显示程序任务: 1.设置显示缓冲区,存放待 显示数据和字符(位置码)。 2.显示译码:程序存储器中 建立字形码常数表,查表得出对 应数据和字符的字形码。 3.输出显示:输出字形码到 显示端口。 例: MOV DPTR,#WTAB;指向字形码表首地址 MOV A,@R0 ;取显示缓冲区中数据 MOVC A,@A+DPTR;查表显示译码 MOV P1,A ;输出显示 … WTAB: DB 3FH,06H,5BH ;字形码表 … P1.0~1.7 COM MCS-51 a f b g e c d h a b h
2.LED接口电路 显际刻燚据的两种电路: 1.静态显示 D ab h ab h ab h 位E共用一8位字段 口,各位L公共端用字位口 控制,扫描输出显未不同字形。 g 区与多住LED 对应 COM COMCOM COMCOM对感位线:DD1D2D3D4D 每个LED需要一个8信并行口 地址内容 ZAHI 7BH 7CH ZDH ZEH L7FH T
2. LED接口电路 显示多位数据的两种电路: 1.静态显示 a b h COM a f b g e c d h a b h COM a b h COM COM h COM D7 … D1 D0 D0 D1 D2 h b h b COM a f b g e c d h a b a a 2.动态显示 对应字位线: D0 D1 D2 D3 D4 D5 显示缓冲区 地址 内容 7AH 7BH 7CH 7DH 7EH 7FH 每个LED需要一个8位并行口 多位LED共用一个8位字段 口,各位LED公共端用字位口 控制,扫描输出显示不同字形。 显示缓冲区与多位LED 对应关系:
显示程序: DIS:MOVR0,#7AH;指向显示缓冲区起始单元 MOV R3,#OIH ;字位码初值→R3 MOV A, R3 ;取字位码 DLP: MOV DPTR,#AAR;指向字位口PA口 MOVX ODPTR,A;输出字位码,显示其中1位 MOV A, RO ;取一个显示数据 ADD A, #OCH ;查表偏移量 MOVC A,@A+PC;取出字形码 INC DPTR ;指向字段口(PB口) MOVX aDPTR, A 输出字形码 ACALL DLYIMS 延时1ms NC RO ;指向显缓区下一单元 MOV A, R3 ;修改字位码 RL A 显示下一位 MOV R3, A JNB ACC.6,DLP;未显示到最右边LED,继续显示 RET ;全部扫描一遍,结束 DTAB:DB0C0H,0F9H,0A4H;字形表 DB OBOH, 99H, DLYIMS: ;延时1ms子程序
显示程序: DIS: MOV R0,#7AH ;指向显示缓冲区起始单元 MOV R3,#01H ;字位码初值→R3 MOV A,R3 ;取字位码 DLP: MOV DPTR,#PAAR;指向字位口 (PA口) MOVX @DPTR,A ;输出字位码,显示其中1位 MOV A,@R0 ;取一个显示数据 ADD A,#0CH ;查表偏移量 MOVC A,@A+PC ;取出字形码 INC DPTR ;指向字段口(PB口) MOVX @DPTR,A ;输出字形码 ACALL DLY1MS ;延时1ms INC R0 ;指向显缓区下一单元 MOV A,R3 ;修改字位码 RL A ;显示下一位 MOV R3,A JNB ACC.6,DLP ;未显示到最右边LED,继续显示 RET ;全部扫描一遍,结束 DTAB:DB 0C0H,0F9H,0A4H ;字形表 DB 0B0H,99H, DLY1MS … ;延时1ms子程序
8-3键盘与单片机接口 键盘处理程序任务 1.键输入 消除按键抖动。确定被按键的动“0 检査键盘是否有键被按下, 100ms 除抖动。 2键译码 N 口 根据锥值转私动不同程殳。机 若键值 字则用显示 键盘处理 数字和字符的子程序。 若键值属子勤能键,则进行多分支转移,N 执行各个功能程序段
8-3 键盘与单片机接口 键盘处理程序任务 1.键输入 检查键盘是否有键被按下, 消除按键抖动。确定被按键的 键号,获取键号。 硬件电路消除抖动或软件消 除抖动。 2.键译码 键号为键盘位置码,根据键号查表得出 被按键的键值。键值:数字键0~9、字符键 0AH~0FH、功能键10H~ 。 延时等待10ms 仍有按键信号? Y 有按键信号? N Y N 键盘处理 按键释放? N Y 3.键处理 根据键值转移到不同程序段。 若键值属于数字、字符键,则调用显示 数字和字符的子程序。 若键值属于功能键,则进行多分支转移, 执行各个功能程序段。 抖动时间 <10ms 开关动作时间 >100ms “ 1 ” “ 0 ” <10ms & I/O 接 口 & +5v +5v 消除抖动电路 开关 单 片 机
8-3-1独立式键盘电路 8-3-2矩阵式键盘 +5v +5v P1.0 P1.1 R P1.7 键盘 I/O接口 01 每个按键单独占有一根IO 接口引线。 1.扫描法 列线输出,行线输入 列线逐行输出0,某行有按键,行线输入有0,若无按键,行线 输入全部为1 2.反转法 行列线交换输入、输出,两步获取按键键号
8-3-1 独立式键盘电路 8-3-2 矩阵式键盘 0 1 +5v C0 C1 R0 R1 键盘 I/O接口 1.扫描法 列线输出,行线输入。 列线逐行输出0,某行有按键,行线输入有0,若无按键,行线 输入全部为1。 2.反转法 行列线交换输入、输出,两步获取按键键号。 P1.0 P1.1 P1.7 +5v 每个按键单独占有一根I/O 接口引线
按键处理程序: 「延时消抖 确有按键? 键扫描求键号 延时等待 按键释放? 键译码求键值 是数字键? 修改显示缓冲区跳转各功能程序
按键处理程序: 延时消抖 键扫描求键号 延时等待 键译码求键值 修改显示缓冲区 跳转各功能程序 有按键输入? 确有按键? 按键释放? 是数字键?
8-5D/A转换器接口 8-5-1D/A转换原理 n位数字量与模拟量的关系式: =VRF/2n×D REF 参考电压) 8-5-2集成D/A转换器 DAC0832:8位双缓冲器结构的D/A转换器。 输入 R DAO 8位 ⅤER D0~7 寄存器寄存器 DACI OuTI OUT2 PAo AgnD PAI
8-5 D/A转换器接口 8-5-1 D/A转换原理 n位数字量与模拟量的关系式: VO = VREF / 2n ×D (VREF - 参考电压) 8-5-2 集成D/A转换器 DAC 0832:8位双缓冲器结构的D/A转换器。 8位 DAC DAC 寄存器 输入 寄存器 - + IOUT2 IOUT1 RVER VO D0~7 PA0 AGND PA1
DAC0832与单片机连接 直通方式: 双缓冲器方式: 输入寄存器和DAC寄存 输入寄存器和DAC寄存器分配 器共用一个地址,同 有各自的地址,可分别选通 时选通输出。 用同时输出多路模拟信号。 例:D/A转换程序,用DAC0832输出0~5V锯齿波,电路为直通方式 设VREF=-5V,DAC0832地址为7FFFH,脉冲周期要求为100ms。 DACS: MOV DPTR,#7FFFH;0832I/0地址 MOv A,#0 ;开始输出0V DACL: MOVX @DPTR, A 输出模拟量 100ms INC A ;升压 ACALL DELAY ;延时100ms/256 AJMP DACL ;连续输出 DELAY: ;延时子程序
DAC 0832与单片机连接 例:D/A转换程序,用DAC 0832输出0~5V锯齿波,电路为直通方式。 设VREF= - 5V,DAC 0832地址为7FFFH,脉冲周期要求为100ms。 100ms DACS:MOV DPTR,#7FFFH;0832 I/O地址 MOV A,#0 ;开始输出0V DACL:MOVX @DPTR,A ;输出模拟量 INC A ;升压 ACALL DELAY ;延时100ms/256 AJMP DACL ;连续输出 DELAY:… ;延时子程序 直通方式: 输入寄存器和DAC寄存 器共用一个地址,同 时选通输出。 双缓冲器方式: 输入寄存器和DAC寄存器分配 有各自的地址,可分别选通 用同时输出多路模拟信号