第八章微型计算机接口技术8-1LED显示器接口8-2键盘与单片机接口8-3D/A转换器接口8-4A/D转换器接口8-2LED显示器接口LED显示器用于显示工业控制参数、过程状态。1.LED数码管共阴极LED和共阳极LED当LED字段引线与数据线连接,每个显示字形对应一个字形码。COMP1.0~1.7MCS-51afbgecdhabhabhCOMLED的字形码(字段码)显示字符共阴极共阳极03FHC0H106HF9H8.FFH00H‘灭’00FFHF71H84HU3EHC1HP.F3H02HD7D6D5D4D3D2D1D0hgfedcba显示程序任务:1.设置显示缓冲区,存放待显示数据和字符(位置码)。2.显示译码:程序存储器中建立字形码常数表,查表得出对应数据和字符的字形码。3.输出显示:输出字形码到显示端口。例:MOVDPTR,#WTAB;指向字形码表首地址MOVA,@R0;取显示缓冲区中数据MOVCA,@A+DPTR;查表显示译码MOVP1,A;输出显示…WTAB:DB3FH,06H,5BH;字形码表…COMP1.0~1.7MCS-51afbgecdhabh2.LED接口电路显示多位数据的两种电路:1.静态显示abhCOMafbgecdhabhCOMabhCOMCOMhCOMD7…D1D0D0D1D2hbbhCOMafbgecdhaaba2.动态显示对应字位线:D0D1D2D3D4D5显示缓冲区地址内容7AH7BH7CH7DH7EH7FH每个LED需要一个8位并行口多位LED共用一个8位字段口,各位LED公共端用字位口控制,扫描输出显示不同字形。显示缓冲区与多位LED对应关系:显示程序:DIS:MOVR0,#7AH;指向显示缓冲区起始单元MOVR3,#01H;字位码初值→R3MOVA,R3;取字位码DLP:MOVDPTR,#PAAR;指向字位口(PA口)MOVX@DPTR,A;输出字位码,显示其中1位MOVA,@R0;取一个显示数据ADDA,#0CH;查表偏移量MOVCA,@A+PC;取出字形码INCDPTR;指向字段口(PB口)MOVX@DPTR,A;输出字形码ACALLDLY1MS;延时1msINCR0;指向显缓区下一单元MOVA,R3;修改字位码RLA;显示下一位MOVR3,AJNBACC.6,DLP;未显示到最右边LED,继续显示RET;全部扫描一遍,结束DTAB:DB0C0H,0F9H,0A4H;字形表DB0B0H,99H,DLY1MS…;延时1ms子程序8-3键盘与单片机接口键盘处理程序任务1.键输入检查键盘是否有键被按下,消除按键抖动。确定被按键的键号,获取键号。硬件电路消除抖动或软件消除抖动。2.键译码键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键0~9、字符键0AH~0FH、功能键10H~。延时等待10ms仍有按键信号?Y有按键信号?NYN键盘处理按键释放?NY3.键处理根据键值转移到不同程序段。若键值属于数字、字符键,则调用显示数字和字符的子程序。若键值属于功能键,则进行多分支转移,执行各个功能程序段。抖动时间<10ms开关动作时间>100ms“1”“0”<10ms&I/O接口&+5v+5v消除抖动电路开关单片机8-3-1独立式键盘电路8-3-2矩阵式键盘01+5vC0C1R0R1键盘I/O接口1.扫描法列线输出,行线输入。列线逐行输出0,某行有按键,行线输入有0,若无按键,行线输入全部为1。2.反转法行列线交换输入、输出,两步获取按键键号。P1.0P1.1P1.7+5v每个按键单独占有一根I/O接口引线。按键处理程序:延时消抖键扫描求键号延时等待键译码求键值修改显示缓冲区跳转各功能程序有按键输入?确有按键?按键释放?是数字键?8-5D/A转换器接口8-5-1D/A转换原理n位数字量与模拟量的关系式:VO=VREF/2n×D(VREF-参考电压)8-5-2集成D/A转换器DAC0832:8位双缓冲器结构的D/A转换器。8位DACDAC寄存器输入寄存器-+IOUT2IOUT1RVERVOD0~7AGNDPA0PA1DAC0832与单片机连接例:D/A转换程序,用DAC0832输出0~5V锯齿波,电路为直通方式。设VREF=-5V,DAC0832地址为7FFFH,脉冲周期要求为100ms。100msDACS:MOVDPTR,#7FFFH;0832I/O地址MOVA,#0;开始输出0VDACL:MOVX@DPTR,A;输出模拟量INCA;升压ACALLDELAY;延时100ms/256AJMPDACL;连续输出DELAY:…;延时子程序直通方式:输入寄存器和DAC寄存器共用一个地址,同时选通输出。双缓冲器方式:输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。8-6A/D转换器接口8-6-2集成A/D转换器ADC0809/0808为8路输入通道、8位逐次逼近式A/D转换器,可分时转换8路模拟信号。一.结构一个8位逐次逼近式A/D转换器、8路模拟转换开关、3-8地址锁存译码器和三态输出数据锁存器。二.引脚8路模拟量输入信号端:IN0~IN78位数字量输出信号端:D0~D7通道选择地址信号输入端:ADDA、ADDB、ADDC多路转换开关ABCIN0IN1IN7A/D转换三.ADC0809与单片机连接A/D转换程序:MOVDPTR,#0FE00H;ADC口地址MOVA,#00;转换IN0MOVX@DPTR,A;启动A/D转换LCALLDELAY;等待转换结束MOVXA,@DPTR;取转换结果AD0~7ALEINTWRP2.0RDD0~7ADDABCCLKEOCALESCOE≥1≥1111MCS-51ADC080983IN0~7复习一.概念填空二.指令分析指令寻址方式、计算相对转移偏移量、指令执行结果和如何影响标志位三.程序分析为程序加注释、说明程序功能、写出程序执行结果、计算延时程序执行时间。四.编写程序数据处理程序、片内I/O接口编程。五.单片机应用系统硬件电路设计8-3-2可编程键盘、显示接口芯片8279自动完成键盘扫描输入和LED动态扫描输出有自动消抖和多个按键处理功能16×8显示RAM中的段码连续扫描输出。