《单片机第八章单片机的接口技术--华中科技大学课件》由会员分享,可在线阅读,更多相关《单片机第八章单片机的接口技术--华中科技大学课件(67页珍藏版)》请在金锄头文库上搜索。
1、第8章 单片机的I/O接口技术,8.1 I/O接口技术概述,数字计算机系统CPU对外设的控制、处理,或者CPU与各种外设之间交换数据信息,往往是通过挂在系统总线上的接口电路实现的。在单片机诞生之前就有接口电路的概念,早期专指外部设备与CPU总线相连的电路。 接口技术指的就是这部分电路相应的硬件和软件技术。,8.2 单片机与LED显示器的接口技术,1)单个LED的控制,2)多个LED的控制,例8.1利用图8-2电路实现“跑马灯”功能,使8个指示灯循环点亮。,LIGHTEQU62H ORG0000H AJMPSTART ORG0030H START:MOVSP,#30H CLRP1.0 CLRP1
2、.1 CLRP1.2 CLRP1.3 MOVLIGHT,#01H NOP MAIN:LCALLFLY_LED LCALLDELAYAJMPMAIN,FLYLED:MOVA,LIGHT CLRC RLCA CPLC MOVP1.0,C SETBP1.1 NOP CLRP1.1 SETBP1.2 NOP CLRP1.2 CJNEA,#0,FLYCON MOVA,#01H FLYCON:MOVLIGHT ,A RET,8.2.2 单片机与LED数码管显示器的接口,LED显示器的串行静态控制电路,例8.2假定需输出显示的数据存储在内部RAM以LEDDATA命名的2个存储单元中,试基于图8-4所示的控制
3、电路编写数码管显示程序。,LEDO:MOVR0,#LEDDATA MOVR1,#2 OUT1:MOVA,R0 MOVR2,#8 OUT2:RLCA MOVP1.0,C SETBP1.1 NOP CLRP1.1 DJNZR2,OUT2 INCR0 DJNZR1,OUT1 SETBP1.2 NOP CLRP1.2 RET,LED显示器的并行动态控制电路,D_DAT0EQU6AH D_DAT1EQU6BH D_DAT2EQU6CH D_DAT3EQU6DH ORG0000H AJMPSTART,ORG0030H START:MOVSP,#30H MOVD_DAT0,#0 MOVD_DAT1,#1 M
4、OVD_DAT2,#2 MOVD_DAT3,#3 MOVD_DAT2,#4 MOVD_DAT3,#5 MOVP0,#0 CLRP1.1 CLRP1.2 MOVR0,#D_DAT0MOVR1,#01HNOP MAIN:LCALLDISPLCALLDELAYAJMPMAIN,DISP:MOVA,R1 MOVP0,A SETBP1.1 NOP CLRP1.1 MOVA,R0 MOVDPTR,#DISPD MOVCA,A+DPTR MOVP0,A SETBP1.2 NOP CLRP1.2 INCR0 MOVA,R1 CLRC RLCA MOVR1,A JNBACC.4,DISP1 MOVR0,#D_D
5、AT0 MOVR1,#1 DISP1:RET,;数字笔画代码表,; 0 1 2 3 DISPD:DB 3FH,06H,5BH,4FH,,8.4 单片机与按键的接口技术,例8.5将3个按键设计为一个实用的温度控制系统的按键功能,通过按键设定一个上限值和一个下限值。,KBMEQU63H D_MAXEQU64H D_MINEQU65H T_DAT0EQU66H T_DAT1EQU67H ,MOVKBM,#0 MOVD_MAX,#80 MOVD_MIN,#70 MOVT_DAT0,#66 MOVT_DAT1,#0 MOVH_DAT0,T_DAT0 MOVH_DAT1,T_DAT1 LCALLHTD M
6、AIN:LCALLDISPLCALLDELAY,JBP1.7,KEY1 LCALLDISP LCALLDELAY JBP1.7,KEY1 INCKBM MOVA,KBM CJNEA,#3,KEY01 MOVKBM,#0 KEY01:NOP AJMPKEND,KEY1:JBP1.6,KEY2LCALLDISP LCALLDELAY JBP1.6,KEY2 MOVA,KBM CJNEA,#1,KEY11 INCD_MAX AJMPKEND KEY11:CJNEA,#2,KEY12 INCD_MIN KEY12:AJMPKEND,8.7 单片机与A/D转换器的接口技术,工程实际中需要测量的信号,一般
7、都是模拟信号,而计算机系统只能对数字信号进行运算、处理和存储。因此要用计算机系统测量模拟信号,必须先将模拟电压信号转换为数字信号,这一过程称为模/数(A/D)转换。,A/D转换原理,2、采样/保持电路,3、模拟多路开关 CD4051,10位A/D转换器件TLC1551及应用,时序图,ADC:CLRP1.0 CLRP1.2 NOP SETBP1.2 SETBP1.0 ADCON:JBP1.3,$ CLRP1.0 CLRP1.1 MOVADCL,P0 MOVADCH,P2 SETBP1.1 SETBP1.0 RET,10位A/D转换器件TLC1543及应用,时序图,AD_ADDREQU21H AD
8、_DAT0EQU64H AD_DAT1EQU65H MAIN: CLRP1.7 CLRP1.5 CLRP1.4 MOVAD_ADDR,#0 LCALLAD_C LCALLAD_C,AD_C:CLRP1.4 MOVA,#00H MOVC,0BH MOVP1.6,C SETBP1.7 ;第一个时钟信号 MOVC,P1.5 RLCA CLRP1.7 MOVC,0AH MOVP1.6,C SETBP1.7 ;第二个时钟信号,MOVC,P1.5 RLCA CLRP1.7 MOVAD_DAT1,A MOVA,#00H MOVC,09H MOVP1.6,C SETBP1.7 ;第三个时钟信号 MOVC,P1
9、.5 RLCA CLRP1.7 MOVC,08H MOVP1.6,C SETBP1.7 ;第四个时钟信号,MOVC,P1.5 RLCA CLRP1.7 CLRP1.6 SETBP1.7 ;第五个时钟信号 MOVC,P1.5 RLCA CLRP1.7 SETBP1.7 ;第六个时钟信号 ,;第十个时钟信号 MOVC,P1.5 RLCA CLRP1.7 MOVAD_DAT0,A SETBP1.4 RET,8.8 单片机与D/A转换器的接口技术,在利用计算机的电气测量与控制系统中,有时只要将测量、计算的结果以数字量的方式显示、存储,或者直接以数字信号输出的方式控制输出开关,起到控制的作用;有时则需将
10、数字信号转换成模拟电压信号输出。将数字信号转换成模拟电压信号的过程称为数/模(D/A)转换。,D/A转换原理,一个多位二进制数中每一位的1所代表的数值大小称为这一位的权。如果一个n位二进制自然数用 aDn-1Dn-2D1D0 B 表示 从最高位Dn-1(简写作MSB)到最低位D0 (简写作LSB)的权依次为 2n-1、2n-2、21、20。,显然上式括号中的值即为输入二进制数值,也就是说输出模拟电压值对应于输入二进制数值。增加权电阻和电子开关的数量,就可以增加输入数据的位数,输出模拟电压值能够反映更多位数输入二进制数字的值,从而提高D/A转换的精度。,并行接口8位D/A转换器件DAC0832,
11、DAC0832是采用CMOS工艺制成的电流输出型8位数/模转换器,是一种较早出现,至今仍应用较广泛的一种D/A转换器件。,0832工作原理,片选信号由高4位地址信号译码产生。假定连接到DAC0832的地址为0A800H,则向该地址写数据,就能够产生相应的D/A输出。例如执行指令: MOVDPTR,#0A800H MOVA,#100 MOVXDPTR,A 就能够将数值100转换为相应的电压信号输出。,串行接口10位D/A转换器件TLC5617,TLV5617A 是带有灵活3 线串行接口的双10 位电压输出数/模转换器件。串行接口可与串行外设接口SPI兼容,也可用串行16 位字符方式接口。MCS5
12、1没有串行外设接口SPI,只能采用采用字符方式接口的方法。,时序图,SPD:速度控制位 1 快速方式 0 慢速方式 当设定为快速方式,转换时间为2.5s,当设定为慢速方式,转换时间为12s PWR:功率控制位,若不进行D/A转换,可以使器件处于关断(不工作)状态以省电 1 低功耗省电状态 0 正常工作状态 在上电时,SPD和 PWR都被复位为 0(设定为慢速方式和正常工作状态),R1、R0:寄存器操作选择位 00写数据到DAC B寄存器和缓冲寄存器 01写数据到缓冲寄存器 10写数据到DAC A寄存器并且用缓冲寄 存器内容更新DAC B寄存器 11保留,在TLV5617A内部有3个数据寄存器:
13、 DAC A数据寄存器用于存放A路D/A转换的数据,当将A路需转换的数据写入DAC A寄存器时,即启动A路D/A转换; DAC B数据寄存器用于存放B路D/A转换的数据,当将B路需转换的数据写入DAC B寄存器时,即启动B路D/A转换; 另外还有一个缓冲寄存器,当先将B路需转换的数据写入缓冲寄存器,再将A路需转换数据写到DAC A寄存器并且同时用缓冲寄存器内容更新DAC B寄存器,就能够实现两路D/A转换同步启动。,例8.11 电路连接如图8-34所示,定义4个变量存储单元DATA_AH、DATA_AL和DATA_BH、DATA_BL,分别存放需D/A转换输出的两个10位数据,其中高位字节只有
14、最低2位有效。将这两个10位数据,通过TLC5617的OUTA、OUTB转换为模拟电压输出,请编写程序实现 。,DATA_ALEQU60H DATA_AH EQU61H DATA_BL EQU62H DATA_BH EQU63H ,DA_C:MOVR2,#2 CH1:CLRC MOVA,DATA_AL RLCA MOVDATA_AL,A MOVA,DATA_AH RLCA MOVDATA_AH,A DJNZR2,CH1,MOVR2,#2 CH2:CLRC MOVA,DATA_BL RLCA MOVDATA_BL,A MOVA,DATA_BH RLCA MOVDATA_BH,A DJNZR2,C
15、H2,CLRP3.7 MOVR2,#8 MOVA,DATA_BH ORA,#10H SBYTE1:RLCA MOVP3.4,C SETBP3.5 NOP CLRP3.5 DJNZR2,SBYTE1,MOVR2,#8 MOVA,DATA_BL SBYTE2:RLCA MOVP3.4,C SETBP3.5 NOP CLRP3.5 DJNZR2,SBYTE2,SETBP3.7 NOP CLRP3.7 MOVR2,#8 MOVA,DATA_AH ORA,#80H SBYTE3:RLCA MOVP3.4,C SETBP3.5 NOP CLRP3.5 DJNZR2,SBYTE3,MOVR2,#8 MOVA,DATA_AL SBYTE4:RLCA MOVP3.4,C SETBP3.5 NOP CLRP3.5 DJNZR2,SBYTE4 SETBP3.7 RET,本章不做习题,第8章完,