1、21:57,单片机原理与接口技术,第9章 MCS-51单片机 系统应用扩展技术,21:57,本章教学要求,(1) 熟悉常用ADC和DAC芯片工作原理。 (2) 掌握含ADC和DAC芯片的单片机应用系统的硬件设计和程序设计方法。 (3) 了解高于8位的ADC和DAC芯片工作原理及其单片机应用系统设计过程。 (4) 了解I2C总线工作原理,熟悉软件模拟I2C总线时序的程序设计方法。 (5) 熟悉日历时钟芯片、IC卡、串行EEPROM存储器接口设计方法。,-第9章 MCS-51单片机系统应用扩展技术,21:57,本章目录,9.1 D/A转换器与单片机接口技术9.1.1 8位D/A转换器与单片机接口技
2、术9.1.2 高于8位的D/A转换器与单片机接口技术 9.2 A/D转换器与单片机接口技术9.2.1 8位A/D转换器与单片机接口技术9.2.2 高于8位的A/D转换器与单片机接口技术 9.3 串行EEPROM与单片机接口技术9.3.1 I2C串行总线概述9.3.2 24CXX EEPROM存储器9.3.3 24C01与单片机接口技术,-第9章 MCS-51单片机系统应用扩展技术,21:57,本章目录,9.4 日历时钟芯片与单片机接口技术9.4.1 日历时钟芯片8563的工作原理9.4.2 日历时钟芯片8563与单片机接口技术 9.5 IC卡与单片机接口技术9.5.1 SLE4442 IC卡9
3、.5.2 SLE4442 IC卡数据传送协议9.5.3 SLE4442 IC卡操作命令9.5.4 SLE4442 IC卡与单片机接口技术 习题与思考题,-第9章 MCS-51单片机系统应用扩展技术,21:57,D/A转换器是一种将数字信号转换成模拟信号的器件,为计算机系统的数字信号和模拟信号环境的连续信号之间提供了一种接口。,9.1 D/A转换器及其与单片机接口技术,21:57,D/A转换器(DAC)根据其内部是否具有锁存器可以分为两类:一类是芯片内部有数据锁存器、片选信号和写信号,数据输入引脚可以直接和单片机的总线进行连接,不需要中间接口器件;另一类是芯片内部没有锁存器,不能直接与单片机的总
4、线连接,中间必须加锁存器,或者通过并行接口或串行接口与单片机进行连接。从分辨率角度看,D/A转换器有8位分辨率器件和高于8位分辩率器件。单片机与D/A转换器接口时,以上两方面内容都必须兼顾。,9.1 D/A转换器及其与单片机接口技术,21:57,9.1.1 8位D/A转换器与单片机接口技术,-8位D/A转换器芯片DAC0832,DAC0832的主要技术特性:转换时间为1 s。数据输入可以采用单缓冲、双缓冲或直通方式。分辨率为8位。逻辑电平输入与TTL电平兼容。采用单一正电源供电。,21:57,-DAC0832与单片机的接口电路,9.1.1 常用DAC芯片简介,图9-2 DAC0832与MCS-
5、51单片机的接口电路,21:57,-DAC0832与单片机的接口电路,9.1.1 常用DAC芯片简介,【例9-1】 根据图9-2所示DAC0832与单片机的接口电路,编写程序,实现在VOUT端输出锯齿波形。,21:57,-DAC0832与单片机的接口电路,9.1.1 常用DAC芯片简介,分析:DAC0832工作在单缓冲方式,并且其端口地址为7FFFH。程序如下。 P0832:MOV DPTR, #7FFFH ;DPTR指向DAC0832MOV A, #0 LOOP: MOVX DPTR, A ;数据送到DAC0832NOP ;延时,调整该时间可改变输出波形斜率INC ALJMP LOOP,21
6、:57,9.1.2 高于8位的D/A转换器与单片机接口技术,图9-3 DAC1210引脚及内部结构,21:57,【例9-2】 设计DAC1210与MCS-51单片机的接口电路并编写完成一次D/A转换的程序。,9.1.2 高于8位的D/A转换器与单片机接口技术,21:57,分析:根据图9-3及其功能描述,DAC1210与MCS-51单片机的接口电路如图9-4所示。从图中连接关系可以看出,高8位数据写入地址为E000H(P2.7 = 1,P2.6 = 1,P2.5 = 1),低4位数据的写入地址为C000H(P2.7 = 1,P2.6 = 1,P2.5 = 0),12位DAC寄存器的写入地址为20
7、00H(P2.7 = 0,P2.6 = 0,P2.5 = 1)。设:R2中为D/A转换高8位数据,R3中为D/A转换低4位数据。,9.1.2 高于8位的D/A转换器与单片机接口技术,21:57,9.1.2 高于8位的D/A转换器与单片机接口技术,DA1210:PUSH DPLPUSH DPHMOV DPTR, #0E000H ;DPTR指向8位输入缓冲器MOV A, R2MOVX DPTR, A ;送出高8位数据MOV DPTR, #0C000H ;DATR指向4位输入缓冲器MOV A, R3MOVX DPTR, A ;送出低4位数据MOV DPTR, #2000H ;DPTR指向12位DAC
8、寄存器MOVX DPTR, A ;选通12位DAC寄存器POP DPHPOP DPLRET,D/A转换程序,21:57,9.2 A/D转换器与单片机接口技术,A/D转换器是单片机应用系统进行数据采集的重要器件,它是将连续的模拟信号转换成二进制数的器件。从工作原理上看,常用A/D器件有双积分型、逐次逼近型等;从分辨率角度看,有8位A/D器件及分辨率高于8位的A/D器件。,21:57,9.2.1 8位A/D转换器与单片机接口技术,18位A/D转换器芯片ADC0809,图9-5 ADC0809内部结构,21:57,2ADC0809与单片机的接口电路,9.2.1 8位A/D转换器与单片机接口技术,图9
9、-7 ADC0809的控制时序,21:57,9.2.1 8位A/D转换器与单片机接口技术,【例9-3】 根据图9-8所示ADC0809与MCS-51的硬件连接,要求采用中断方法,编写进行8路A/D转换的程序。,21:57,9.2.1 8位A/D转换器与单片机接口技术,分析:由图9-8连接关系可知,8个A/D通道的地址范围是7FF8H7FFFH,将IN0IN7转换结果分别存入片内RAM的30H37H地址单元中。,21:57,;*主程序*ORG 0000HLJMP MAIN ;转主程序ORG 0003H ;中断服务程序入口地址LJMP INT0F ;中断服务程序ORG 0100H MAIN:MOV
10、 R0, #30H ;内部数据指针指向30H单元MOV DPTR, #7FF8H ;指向P2.7口,且选通IN0;(低3位地址为000)SETB IT0 ;设置外部中断0为下降沿触发SETB EX0 ;允许中断SETB EA ;开总中断允许MOVX DPTR, A ;启动A/D转换LJMP $ ;等待转换结束中断,9.2.1 8位A/D转换器与单片机接口技术,21:57,;*中断服务程序* INT0F:MOVX A, DPTR ;取A/D转换结果MOV R0, A ;存结果INC R0 ;内部指针下移INC DPTR ;外部指针下移,指向下一路CJNE R0, #38H, NEXT ;未转换完
11、8路,继续转换CLR EX0 ;关中断允许RETI ;中断返回 NEXT:MOVX DPTR, A ;启动下一路A/D转换RETI ;中断返回END,9.2.1 8位A/D转换器与单片机接口技术,21:57,9.2.2 高于8位的A/D转换器与单片机接口技术,112位A/D转换器芯片AD574,图9-9 AD574的引脚,21:57,9.2.2 高于8位的A/D转换器与单片机接口技术,表9-2 AD574的控制信号组合表,21:57,9.2.2 高于8位的A/D转换器与单片机接口技术,2AD574与单片机的接口电路,21:57,9.2.2 高于8位的A/D转换器与单片机接口技术,AD574:M
12、OV R1, #30H ;R1指向数据缓冲区MOV R0, #0FCH ;R0指向启动地址MOVX R0, A ;启动A/D转换 LOOP:JB P1.0, LOOP ;等待转换结束INC R0 ;指向读高8位数据地址INC R0MOVX A, R0 ;读高8位数据MOV R1, A ;存高8位数据INC R0 ;指向读低4位数据地址INC R1 ;指向缓冲区下一字节地址MOVX A, R0 ;读低4位数据MOV R1, A ;保存低4位数据RET,21:57,9.3 串行EEPROM与单片机接口技术,为了简化集成电路之间的互连,Philips公司开发出一种标准外围总线互连接口,称为“集成电路
13、间总线”或“内部集成电路总线”I2C(Inter-IC),I2C总线是一个两线双向串行总线接口标准。采用这种接口标准的器件只需要使用两条信号线与单片机进行连接,就可以完成单片机与接口器件之间的信息交互。,21:57,9.3.1 I2C串行总线概述,I2C总线运用主/从双向通信。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主控器件和被控器件都可以工作于接收和发送状态。总线必须由主控器件控制,主控器件产生串行时钟控制总线的传输方向,并产生起始和停止条件。串行数据线(SDA)上的数据状态仅在串行时钟线(SCL)为低电平期间才能改变,SCL为高电平期间,SDA状态的改变被用来表示
14、起始和停止条件。I2C总线数据传输过程如图9-11所示。,21:57,9.3.1 I2C串行总线概述,图9-11 I2C总线数据传输过程,21:57,9.3.2 24CXX EEPROM存储器,1串行EEPROM引脚功能,图9-12 24CXX封装,2串行EEPROM寻址,3串行EEPROM操作,21:57,9.3.3 24C01与单片机接口技术,图9-13 MCS-51单片机与24C01 EEPROM的硬件接口电路,21:57,9.4 日历时钟芯片与单片机接口技术,在单片机应用系统中经常用到与日期、时间有关的控制操作,如在收费系统、计量系统中有许多与日期、时间有关的操作。这时在系统中加入一个
15、日历时钟芯片,将给编程及操作带来很大的方便。,21:57,9.4.1 日历时钟芯片8563的工作原理,8563的内部组成包括:一个可自动产生增量的地址寄存器,一个内置的32.768 kHz的振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟RTC提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个400 kHz I2C总线接口。,图9-14 8563引脚定义,21:57,9.4.1 日历时钟芯片8563的工作原理,8563有16个寄存器。16个寄存器被设计成可寻址的8位并行寄存器:两个控制/状态寄存器的地址是00H和01H;秒-年寄存器的地址是02H08H;
16、报警寄存器的地址是090CH,用于定义报警条件;地址是0DH的寄存器用于控制CLKOUT引脚的输出频率;定时器控制寄存器的地址是0EH;定时器寄存器的地址是0FH。秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄存器的编码格式为BCD,星期和星期报警寄存器不以BCD格式编码。,21:57,9.4.2 日历时钟芯片8563与单片机接口技术,【例9-6】 设计8563与MCS-51单片机的接口电路并编写读写操作程序代码。 分析:根据8563工作原理,其接口方法和24C01与单片机接口方法相同,接口电路如图9-15所示。,21:57,9.4.2 日历时钟芯片8563与单片机接口技术,;读85
17、63时间参数至单片机内部RAM的30H36H单元。DT EQU BDATA0 EQU 0 ;R0ADDR EQU 1 ;R1 READTIME: MOV A, #2MOV ADDR, AMOV A, #30HMOV DATA0, AMOV A, #0A3HMOV DT, ACALL READN ;该子程序在例9-5中给出RET,21:57,9.4.2 日历时钟芯片8563与单片机接口技术,;将内部RAM的30H36H单元的时间参数写入8563。 WTIME: MOV A, #2MOV ADDR, AMOV A, #30HMOV DATA0, AMOV A, #0A2HMOV DT, ACALL
18、 WRITEN ;该子程序在例9-5中给出RET,21:57,9.5 IC卡与单片机接口技术,IC卡是将集成电路芯片镶嵌于塑料基片中、封装成卡的形状,外形与磁卡相似。IC卡是一种电路卡,它在读写性能上优于磁卡和光卡,在使用上更容易进行操作,因而得到了广泛应用。IC卡可以分成下列3类。 (1) 存储卡:卡中的集成电路仅是EEPROM芯片,是较简单的IC卡。 (2) 逻辑加密卡:卡中的集成电路除具有EEPROM芯片外,还有加密逻辑。 (3) CPU卡:卡中的集成电路包括CPU,RAM,ROM,EEPROM和固化在ROM中的片内操作系统。,21:57,9.5.1 SLE4442 IC卡,图9-16
19、SLE4442 IC卡触点分布,表9-9 SLE4442 IC卡触点的定义和功能,1EEPROM主存储器,232位PROM型保护存储器,348位EEPROM型加密存储器,21:57,9.5.2 SLE4442 IC卡数据传送协议,1复位和复位响应,图9-18 SLE4442 IC卡复位响应时序图,21:57,2命令模式,9.5.2 SLE4442 IC卡数据传送协议,图9-20 SLE4442 IC卡命令模式的时序,3输出数据模式,4处理数据模式,21:57,9.5.3 SLE4442 IC卡操作命令,表9-10 SLE4442 IC卡命令格式,表9-11 SLE4442 IC卡命令列表,21
20、:57,9.5.4 SLE4442 IC卡与单片机接口技术,图9-23 SLE4442 IC卡与MCS-51单片机的接口电路,21:57,习题与思考题,9-1. AD及DA转换的含义是什么? 9-2. DAC0832器件有哪些主要技术指标?其含义是什么? 9-3. ADC0809器件有哪些主要技术指标?其含义是什么? 9-4. 设计DA转换接口电路时应注意哪些问题? 9-5. 设计AD转换接口电路时应注意哪些问题? 9-6. 试说明4442卡的读、写工作过程? 9-7. 说明I2C总线主机从机数据传输过程?,-第9章 MCS-51单片机输入输出扩展技术,21:57,习题与思考题,9-8. 光电耦合器为什么具有较强的抗干扰作用?使用光电耦合器时应注意什么? 9-9. 8563芯片主要应用在什么场合?使用该芯片应注意哪些问题? 9-10. 用DAC0832双缓冲结构特性,设计一个接口电路并编制相应程序,实现双路模拟信号同时输出。 9-11. 用ADC0809设计一个接口电路,每隔5秒对8个模拟通道各采样一次,并将采样结果保存在外部RAM的1000H开始单元。画出原理图并编制相应程序。,-第9章 MCS-51单片机输入输出扩展技术,