第9章接口技术 9,⊥LED显示器接口 9,2键盘与单片机接口 9,3D/A转换器接口 9,4A/D转换器接口 9,5扩展I0口(8155)
第9章 接口技术 9.1 LED 显示器接口 9.2 键盘与单片机接口 9.3 D/A转换器接口 9.4 A/D转换器接口 9.5 扩展IO口(8155)
9.1LED显示器接口 LED显示器用于显示工业控制 参数、过程状态。 b 1.0~1.7 COM 9.1.1LED数码管 g h 共阴极LED和共阳极LED MCS-51 当LED字段引线与数据线连接, 每个显示字形对应一个字形码。LED的字形码(字段码) a b h 显示字符共阴极共阳极 0 3FH COH 06H F9H 8 FFH 00H O COM 灭 00 FFH F 71H84H D7 D d5 da D3 d2 D1 do 3EH CIH h g f e d cba F3H 02H
9.1 LED 显示器接口 LED显示器用于显示工业控制 参数、过程状态。 9.1.1LED数码管 共阴极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.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
9.1.2LED接口电路 显刻数据的两种电路: 1)静态显示 a h ab h ab h 多位LE用一b8位字段 a 口,各位LE公共端用字位口 控制,扫描输出显未不同字形。 g 总 区与多住LED 对应 COM COMCOM COMCOM对感位线:DD1D2D3D4D 每个LED需要一个8信并行口 地址内容 ZAHI 7BH 7CH ZDH ZEH L7FH T
9.1.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: MOV RO, #7AH 指向显示缓冲区起始单元 MOV R3, #OIH 字位码初值→R3 MOV A, R3 ;取字位码 DLP: MOV DPTR,#PAAR;指向字位口PA口) MOVX ODPTR,A;输出字位码,显示其中1位 MOv A, aRO 取一个显示数据 ADD A, #OCH ;查表偏移量 MOCA,@A+PC;取出字形码 INC DPTR ;指向字段口(PB口) MOVX DPTR, 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子程序