《第9章MCS51单片机的其他接口》由会员分享,可在线阅读,更多相关《第9章MCS51单片机的其他接口(86页珍藏版)》请在金锄头文库上搜索。
1、第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口第第9章章 MCS-51单片机的其他接口单片机的其他接口9.1 LCD与MCS-51接口液晶显示器按其功能可分为三类:笔段式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。9.1.1 字符型点阵式字符型点阵式LCD液晶显示器液晶显示器有16字1行、16字2行、20字2行和40字2行等的字符液晶显示模块。这些LCM虽然显示字数各不相同,但是都具有相同的输入输出界面。本节将以162字符型液晶显示模块RT-1602C为例,详细介绍字符型液晶显示模块的应用。一字符型液晶显示模块一字符型液晶显示模块RT-1602C的外观与
2、引脚的外观与引脚妮峙楷店梳涡镶朴洲亿二懦骑犬骚渴啥夏割剔哀苫际内郸响滤匝磋延宁顿第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口RT-1602C采用标准的16脚接口,各引脚情况如下:第1脚:VSS,电源地第2脚:VDD,+5V电源第3脚:VL,液晶显示偏压信号第4脚:RS,数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W,读/写选择端,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号
3、,当RS为高电平R/W为低电平时可以写入数据。 痪釉圆浆沾醛靖耀件爸回装己菏氨怠豫住泣铁娃腋扬恶鱼秆自笺笺馆蒸佃第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口第6脚:E,端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7,为8位双向数据线。第15脚:BLA,背光源正极第16脚:BLK,背光源负极二字符型液晶显示模块二字符型液晶显示模块RT-1602C的内部结构的内部结构液晶显示模块RT-C1602C的内部结构可以分成三部份:一为LCD控制器,二为LCD驱动器,三为LCD
4、显示装置,如图所示:LCD控制器LCD驱动器LCD显示装备VSSVDDVOVSV/WEDB0DB7藏督候屏互衍顽酵城萍舟傲秃笋庭梆弄犯黍牵扼跟瓦自块蒲斤惺琼掐躲确第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口控制器采用HD44780,驱动器采用HD44100。HD44780集成电路的特点:1、可选择57或510点字符。2、HD44780不仅作为控制器而且还具有驱动4016点阵液晶像素的能力,在外部加一HD44100外扩展多40路/列驱动,则可驱动162LCD。3、HD44780内藏显示缓冲区DDRA
5、M、字符发生存储器(ROM)及用户自定义的字符发生器CGRAM。HD44780有80个字节的显示缓冲区,分两行,地址分别为00H27H,40H67H,它下实际显示位置的排列顺序跟LCD的型号有关,液晶显示模块RT-1602C的显示地址与实际显示位置的关系如图所示。薄篡屁戏幸胆捆颧猾名男尼绘蜀回宜糊藻泼敖志隧体币赶苔馆脱娜碱砾辗第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口HD44780内藏的字符发生存储器(ROM)已经存储了160个不同的点阵字符图形,如图所示: 这些字符有:阿拉伯数字、英文字母的大
6、小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。比如数字“1”的代码是00110001B(31H),又如大写的英文字母“A”的代码是01000001B(41H),可以看出英文字母的代码与ASCII编码相同。要显示“1”时,我们只需将ASCII码31H存入DDRAM指定位置,显示模块将在相应的位置把数字“1”的点阵字符图形显示出来,我们就能看到数字“1”了。 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 27 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 67 LCD 1
7、6 字 2 行 梳腥刁镍幢安嗅子坍熟与港蛊巩辈樱舅耽在靠祖芝烧添羚春画倔虏锋誓喻第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口稽新劈湿慰血寻纵饲袒槽头澈奇垒寿婴芜土惶储柠脊苯感狈寿堰怪汗丽双第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口4、HD44780具有8位数据和4位数据传输两种方式,可与4/8位CPU相连。5、HD44780具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能。三指令格式与指令
8、功能三指令格式与指令功能 LCD控制器HD44780内有多个寄存器,通过RS和R/W引脚共同决定选择哪一个寄存器,选择情况如表 RSR/W寄存器及操作00指令寄存器写入01忙标志和地址计数器读出10数据寄存器写入11数据寄存器读出总共有11条指令,它们的格式和功能如下:实鸽谰章蹈乏磋震垢坯仁栈藩腊尝辈狡缉备郁漆辞狸莆扇卑胯拇击蔷娱含第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口1清屏命令清屏命令格式:RSR/WD7D6D5D4D3D2D1D00000000001功能:清除屏幕,将显示缓冲区DDRAM
9、的内容全部写入空格(ASCII20H)。光标复位,回到显示器的左上角。地址计数器AC清零。2光标复位命令光标复位命令格式: RSR/WD7D6D5D4D3D2D1D00000000010功能:光标复位,回到显示器的左上角。 地址计数器AC清零。 显示缓冲区DDRAM的内容不变。 羹豌溜淆据决揭仪砒倪最兄营鞋守祖例干柴膘丧绣控溢膊吸黑盗矾辛边介第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口3输入方式设置命令输入方式设置命令格式: RSR/WD7D6D5D4D3D2D1D000000001I/DS功能:
10、设定当写入一个字节后,光标的移动方向以及后面的内容是否移动。当I/D=1时,光标从左向右移动;I/D=0时,光标从右向左移动。当S=1时,内容移动,S=0时,内容不移动。4显示开关控制命令显示开关控制命令格式:RSR/WD7D6D5D4D3D2D1D00000001DCB功能:控制显示的开关,当D=1时显示,D=0时不显示。 控制光标开关,当C=1时光标显示,C=0时光标不显示。 控制字符是否闪烁,当B=1时字符闪烁,B=0时字符不闪烁。首寐际踞愉兵波方功蔡孝澎荫辊扁消胎岔逞鳞穴秤浅华淄袋球州扁奶诽沙第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-5
11、1 MCS-51单片机的其他接口单片机的其他接口5光标移位置命令光标移位置命令格式:RSR/WD7D6D5D4D3D2D1D0000001S/CR/L*功能:移动光标或整个显示字幕移位。当S/C=1时整个显示字幕移位,当S/C=0时只光标移位。当R/L=1时光标右移,R/L=0时光标左移。6功能设置命令功能设置命令格式:RSR/WD7D6D5D4D3D2D1D000001DLNF*功能:设置数据位数,当DL=1时数据位为8位,DL=0时数据位为4位。设置显示行数,当N=1时双行显示,N=0时单行显示。设置字形大小,当F=1时510点阵,F=0时为57点阵。炸涪奥镐人慑政罐钱杂庆抉成纹胞撩馏切坠
12、篡黄警苟衰吗鹰弄拳搪罩庆宿第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口7设置字库设置字库CGRAM地址命令地址命令格式:RSR/WD7D6D5D4D3D2D1D00001CGRAM的地址功能:设置用户自定义CGRAM的地址,对用户自定义CGRAM访问时,要先设定CGRAM的地址,地址范畴063。8显示缓冲区显示缓冲区DDRAM地址设置命令地址设置命令格式:RSR/WD7D6D5D4D3D2D1D0001DDRAM的地址功能:设置当前显示缓冲区DDRAM的地址,对DDRAM访问时,要先设定DDRAM
13、的地址,地址范畴0127。肮沪厘式奔共麓闰弯瞻衬蚜禾羡揭蔽蒜迭哲涉纷案讶诵挺洋矣禽六嚣榨中第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9读忙标志及地址计数器读忙标志及地址计数器AC命令命令格式:RSR/WD7D6D5D4D3D2D1D001BFAC的值功能:读忙标志及地址计数器AC,当BF=1时则表示忙,这时不能接收命令和数据;BF=0时表示不忙。低7位为读出的AC的地址,值为0127。10写写DDRAM或或CGRAM命令命令格式:RSR/WD7D6D5D4D3D2D1D010写入的数据功能:向D
14、DRAM或CGRAM当前位置中写入数据。对DDRAM或CGRAM写入数据之前须设定DDRAM或CGRAM的地址。鸿描侈摘渤淄局灭渭踊睡劝次毗雁协刃专狰括垫朽屁或六遁多歇悼少带郝第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口11读读DDRAM或或CGRAM命令命令格式:RSR/WD7D6D5D4D3D2D1D011读出的数据功能:从DDRAM或CGRAM当前位置中读邮数据。当DDRAM或CGRAM读出数据时,先须设定DDRAM或CGRAM的地址。四四LCD显示器的初始化显示器的初始化LCD使用之前须对
15、它进行初始化,初始化可通过复位完成,也可在复位后完成,初始化过程如下:1清屏。2功能设置。3开/关显示设置。4输入方式设置。狂玉乔责异耳菌龋高契暖柱唆遮活执檬烩干唬本厦尿纬疼刻韭蟹峪垛录匹第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9、12 LCD显示器与单片机的接口与应用显示器与单片机的接口与应用 下图是LCD显示器与8051单片机的接口图,图中RT-1602C的数据线与8051的P1口相连,RS与8051的P2.0相连,R/ W与8051的P2.1相连,E端与8051的P2.7相连。编程在LC
16、D显示器的第一行、第一列开始显示“GOOD”,第二行、第6列开始显示“BYE”。样脉树虚恳叶抠理电赞老熏嗓虾贺奇湾淖筐烹羡仇秘壹牧其况闪戳卉丛碾第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口汇编语言程序:RS BIT P2.0RW BIT P2.1E BIT P2.7ORG 00HAJMP STARTORG 50H;主程序START:MOV SP,#50HACALL INITMOV A,#10000000B ;写入显示缓冲区起始地址为第1行第1列。ACALL WC51RMOV A,“G” ;第1行第
17、1列显示字母“G”。ACALL WC51DDRMOV A,“O” ;第1行第2列显示字母“O”。ACALL WC51DDRMOV A,“O” ;第1行第3列显示字母“O”。ACALL WC51DDRMOV A,“D” ;第1行第4列显示字母“D”。ACALL WC51DDR脂幂仇兰斧译例趣沸析梆斤幢楼契矢醇幽吹高栈没憋宅头鳞腺潍陷碰灸涂第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口MOV A,#11000101B ;写入显示缓冲区起始地址为第2行第6列。ACALL WC51RMOV A,“B” ;第
18、2行第6列显示字母“B”。ACALL WC51DDRMOV A,“Y” ;第2行第7列显示字母“Y”。ACALL WC51DDRMOV A,“E” ;第2行第8列显示字母“E”。ACALL WC51DDRLOOP:AJMP LOOP;初始化子程序INIT:MOV A,#00000001H ;清屏ACALL WC51RMOV A,#00111000B ;使用8位数据,显示两行,使用5*7的字型。LCALL WC51RMOV A,#00001110B ;显示器开,光标开,字符不闪烁。LCALL WC51RMOV A,#00000110B ;字符不动,光标自动右移一格。LCALL WC51RRET邻
19、谁锤整华足晶虾沽季楼滦拈峭示辉虐咽鹅巴嘉结龋毋液剩睬移蛋瓤商稽第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口;检查忙子程序F_BUSY:PUSH ACC ;保护现场PUSH DPHPUSH DPLPUSH PSWWAIT:CLR RSSETB RWCLR ESETB EMOV A,P1CLR EJB ACC.7,WAIT ;忙,等待POP PSW ;不忙,恢复现场POP DPLPOP DPHPOP ACCACALL DELAYRET猩凡孤词拣作剃酉磅绕使铆簧积封疡仿硬阎孪兜痰栗寺滑肩氧荚咋禹箔痕第9
20、章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口;写入命令子程序。WC51R:ACALL F_BUSYCLR ECLR RSCLR RWSETB EMOV P1,ACCCLR EACALL DELAYRET;写入数据子程序。WC51DDR:ACALL F_BUSYCLR ESETB RSCLR RWSETB EMOV P1,ACCCLR EACALL DELAYRET爱下遭适连股坪唐硒抬咖盎崩归宿粒蜘负纯伦买戒属纵较铂敛郭敌贾卖伍第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9
21、9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口;延时子程序。DELAY:MOV R6,#5D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1RETEND说绿菜簧矛且图僧街脸蔷情液第绑底丛笔酪若杠删倾佛冶隔琳访肉入监蕾第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口C语言编程:#include #define uchar unsigned charsbit RS=P20;sbit RW=P21;sbit E=P27;void delay(void);void init
22、(void);void wc5r(uchar i);void wc51ddr(uchar i);void fbusy(void);/主函数void main()SP=0x50;init();wc51r(0x80); /写入显示缓冲区起始地址为第1行第1列wc51ddr(0x44); /第1行第1列显示字母“G”wc51ddr(0x4f); /第1行第2列显示字母“O”wc51ddr(0x4f); /第1行第3列显示字母“O”wc51ddr(0x47); /第1行第4列显示字母“D”注莱钩填衷做驶樊臣惋史翟距绣皂埔袱甲箕青疗挣频肆耐蹋肇甄域炎傀援第9章MCS-51单片机的其他接口第9章MCS-5
23、1单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口wc51r(0xc5); /写入显示缓冲区起始地址为第2行第6列wc51ddr(0x42); /第2行第6列显示字母“B”wc51ddr(0x59); /第2行第7列显示字母“Y”wc51ddr(0x45); /第2行第8列显示字母“E”while(1);/初始化函数void init()wc51r(0x01); /清屏wc51r(0x38); /使用8位数据,显示两行,使用5*7的字型wc51r(0x0e); /显示器开,光标开,字符不闪烁wc51r(0x06); /字符不动,光标自动右移一格资诬仲药
24、甩扛级桩姿甘吃芹持巳叮凰藐元娄况溶襟羔赁余泅贤鄙迎排允脏第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口/检查忙函数void fbusy()RS=0;RW=1;E=1;E=0;while (P1&0x80) E=0; E=1; /忙,等待delay();/写命令函数void wc51r(uchar j)fbusy();E=0;RS=0;RW=0;E=1;P1=j;E=0;delay();硒斡剪索尘刑搞榔丹盼琅刷臀咐凝装剔春挣健纵刑首副坍跪允鼓虹项柿阔第9章MCS-51单片机的其他接口第9章MCS-51
25、单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口/写数据函数void wc51ddr(uchar j)fbusy();E=0;RS=1;RW=0;E=1;P1=j;E=0;delay();/延时函数void delay()uchar y;for (y=0;y0xff;y+);驾握钱酶桃苗拼警氦饶铜汉梨氨逞睫汇丁艳亲漱赌中啸寇栖停颈课娥到恫第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.2 MCS-51单片机与单片机与I2C总线芯片接口总线芯片接口9.2.1
26、 I2C总线简介总线简介一一I2C总线的主要特点总线的主要特点I2C总线是由PHILIPS公司开发一种简单、双向二线制同步串行总线。它只需要两根线即在连接于总线上的器件之间传送信息。这种总线的主要特点有:1总线只有两根线,即串行时钟线(SCL)和串行数据线(SDA),这在设计中大大减少了硬件接口。2每个连接到总线上的都有一个用于识别的器件地址,器件地址由芯片内部硬件电路和外部地址引脚同时决定,避免了片选线的连接方法,并建立简单的主从关系,每个器件既可以作为发送器,又可以作为接收器。3同步时钟允许器件以不同的波特率进行通信。4同步时钟可以作为停止或重新启动串行口发送的握手信号。5串行的数据传输位
27、速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s。6连接到同一总线的集成电路数只受400pF的最大总线电容的限制。革买猜节拢嚏拄减拯咸肘愿近闪逆侣妖帆兵祝践枫价肝陡辕尼剐盏浓威淬第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口二二I2C总线的基本结构总线的基本结构锹渣檀摇卒盯某珍萎犯鸭询芜奉况痪淹碟谭消旷风糯板侯截序踊溺袱哎颧第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其
28、他接口单片机的其他接口三三I2C总线信息传送总线信息传送当I2C总线没有进行信息传送时,数据线(SDA)和时钟线(SCL)都为高电平时。当主控制器向某个器件传送信息时,首先应向总线送开始信号,然后才能传送信息,当信息传送结束时应送结束信号,开始信号和结束信号规定如下:开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。开始信号和结束信号之间传送的是信息,信息的字节数没有限制,但每个字节必须为8位,高位在前,低位在后。数据线SDA上每一位信息状态的改变只能发生在时钟线SCL为低电平的期间,因为SCL高电平的期
29、间SDA状态的改变已经被用来表示开始信号和结束信号。每个字节后面必须接收一个应答信号(ACK),ACK是从控制器在接收到8位数据后向主控制器发出的特定的低电平脉冲,用以表示已收到数据。主控制器接收到应答信号(ACK)后,可根据实际情况作出是否继续传递信号的判断。若未收到ACK,则判断为从控制器出现故障。具体情况如图所示:吗筏昌孜镜银椽仍侍胖倾柠邱聋版绽华烩丙驶许肛苞肚掂驹磨苗降链扭密第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口SDASCL开始信号12789应答位12891应答位结束信号主控制器每次
30、传送的信息的第一个字节必须是器件地址码,第二个字节为器件单元地址,用于实现选择所操作的器件的内部单元,从第三个字节开始为传送的数据。其中器件地址码格式如下:D7D6D5D4D3D2D1D0器件类型码片选R/W谎盛绪拟泄伍明州摔辛酒逊扔眷氖完钾嘉划鹊多头讳喝红男府呼饲亢沏访第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口四四I2C总线读、写操作总线读、写操作1当前地址读当前地址读该操作将从所选器件当前地址读,读的字节数不指定,格式如下:S控制码(R/W=1)A数据1A数据2AP2指定单元读指定单元读该操
31、作将从所选器件指定地址读,读的字节数不指定,格式如下:S控制码(R/W=0)A器件单元地址AS控制码(R/W=1)A数据1A数据2AP3指定单元写指定单元写该操作将从所选器件指定地址写,写的字节数不指定,格式如下:S控制码(R/W=0)A器件单元地址A数据1A数据2AP其中:S表示开始信号,A表示应答信号,P表示结束信号。 狞迈韧皆邻封寿睁圾佩辗票忌恤涂墒媚途郝须蔓糙兆供孪踪端梁篮潜侍歇第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.2.2 I2C总线总线EEPROM芯片与单片机接口芯片与单片机接
32、口一串行一串行EEPROM电路电路CAT24WCXX系列概述系列概述 CAT24WCXX系列是美国CATALYST公司出品的,包含1-256K位,支持I2C总线数据传送协议的串行CMOS EEPROM芯片,可用电擦除,可编程自定义写周期,自动擦除时间不超过10ms,典型时间为5ms。CAT24WCXX系列包含CAT24WC01020408163264128256共8种芯片,容量分别为1、2、4、8、16、32、64、128、256KB。串行EEPROM一般具有两种写入方式,一种是字节写入方式,还有另一种页写入方式。允许在一个写周期内同时对1个字节到一页的若干字节的编程写入,一页的大小取决于芯片
33、内页寄存器的大小。其中,CAT24WC01具有8字节数据的页面写能力,CAT24WC02040816具有16字节数据的页面写能力,CAT24WC3264具有32字节数据的页面写能力,CAT24WC128256具有64字节数据的页面写能力。 昼泛臆慎磋狐尔圭蜂拦舰护仗札屋逮尔食窥革学那诽呈憋柞痹矽茂狡剔低第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口二二CAT24WCXX的引脚的引脚CAT24WC01/02/04/08/16/32/64、CAT24WC128、CAT24WC256管脚排列图分别为如图(
34、1)、(2)、(3)所示: 其中:SCL:串行时钟线。这是一个输入管脚,用于形成器件所有数据发送或接收的时钟。 SDA:串行数据/地址线。它是一个双向传输线,用于传送地址和所有数据的发送或接收。它是一个漏极开路端,因此要求接一个上拉电阻到Vcc端(速率为100KHz时电阻为10K,400KHz时为1K)。对于一般的数据传输,仅在SCL为低电平期间SDA才允许变化。SCL为高电平期间,留给开始信号(START)和停止信号(STOP)。珊写迹痉秘拦抿蚁咎争拾众枫痰深床榨析审耽骆率敌邻硷备檀型汲百集揉第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 M
35、CS-51单片机的其他接口单片机的其他接口A0、A1、A2:器件地址输入端。这些输入端用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0(CAT24WC01除外)。WP:写保护。如果WP管脚连接到VCC,所有的内容都被写保护(只能读)。当WP管脚连接到VSS或悬空,允许对器件进行正常的读/写操作。VCC:电源线。VSS:地线。 三三CAT24WCXX的器件地址的器件地址型号控制码片选读写总线访问的器件CAT24WC011010A2 A1 A01/0最多8个CAT24WC021010A2 A1 A01/0最多8个CAT24WC041010A2 A1 a81/0最多4个CAT24WC0810
36、10A2 a9 a81/0最多2个CAT24WC161010a10 a9 a81/0最多1个CAT24WC321010A2 A1 A01/0最多8个CAT24WC641010A2 A1 A01/0最多8个CAT24WC1281010X X X1/0最多1个CAT24WC25610100 A1 A01/0最多4个玫剿殆严谨明萄冕韩噪向落辜仁矣叹搓嘱洱穆仔造王坞汤匠诡于哇鬼狡入第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口四四CAT24WCXX的写操作的写操作1字节写字节写结束应答信号数据数据器件内单元
37、地址应答信号应答信号读写位器件地址开始SDA线信号2页写页写应答信号数据1器件内单元地址应答信号应答信号读写位器件地址写开始SDA线信号数据n应答信号 结束赴哮谱幕日细锗拙彭陀秆辰恿墩吴柏原侵达弓啸青败狮甚灰施轻诚贝历坯第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口3应答查询应答查询 可以利用内部写周期时禁止数据输入这一特性。一旦主器件发送停止位指示主器件操作结束时,CAT24WCXX启动内部写周期,应答查询立即启动,包括发送一个起始信号和进行写操作的从器件地址。 4写保护写保护 写保护操作特性可使
38、用户避免由于不当操作而造成对存储区域内部数据的改写,当WP管脚接高电平时,整个寄存器区全部被保护起来而变为只可读取。 五五CAT24WCXX的读操作的读操作1当前地址读当前地址读SDA线信号开始读写位应答信号无应答信号结束数据器件地址糯巾城光秦摊涨缓栓择牢灶碰泌肖舔胚错或状俗吱可梧歌爬编摩谎罕遮釉第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口2随机地址读随机地址读读写位器件地址读器件内单元地址应答信号应答信号读写位器件地址写开始SDA线信号应答信号 结束器件内单元地址开始应答信号3顺序地址读顺序地址
39、读应答信号数据1应答信号读写位器件地址读SDA线信号数据2应答信号结束数据n无应答信号羽珊惶组斥凤硼莲鹅骏哪疡鼎砰穷沪饲芬型胯武沽眠攀伯艾桂毕伴吹沾负第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口六六CAT24WCXX与单片机的接口与编程与单片机的接口与编程下图是8051单片机与串行EEPROM芯片CAT24WCXX的接口电路。图中用的EEPROM芯片为CAT24WC04,其它芯片与单片机的连接与它相同。8051的P1.0、P1.1作为I2C总线与CAT24WC04的SDA和SCL相连,连接时注意I
40、2C总线须通过电阻接电源。P1.3与WP相连。CAT24WC04的地址线A2、A1、A0直接接地。则片选编码为000,CAT24WC04的器件地址码的高7位为1010000。8051P1.0P1.1P1.2VCCSDASCLWPVSSA0A1A2CAT24W04VCC20K20K编程(略) 阔冬慎监儡弘滴鞠浓趟斜扬锯模颈阎谬漳那携蚜特歉居磊笋拈露痪矽兰级第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.3 MCS-51单片机与时钟日历芯片接口单片机与时钟日历芯片接口9.3.1 并行日历时钟芯片并行日
41、历时钟芯片DS12887与单片机接口与单片机接口一一DS12887主要功能主要功能(1)内含一个锂电池,断电后运行十年以上不丢失数据。(2)计秒,分,时,天,星期,日,月,年,并有闰年补偿功能。(3)二进制数码或BCD码表示时间,日历和定闹。(4)12小时或24小时制,12小时时钟模式带有PM和AM指示,有夏令时功能。(5)Motorola和Intel总线时序选择。(6)有128个字节RAM单元与软件接口,其中:14个字节作为时钟寄存器和控制寄存器,114字节为通用RAM,所有RAM单元数据都具有掉电保护功能。(7)可编程方波信号输出。(8)中断信号输出(IRQ)和总线兼容,定闹中断、周期性中
42、断、时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试。秀划琵撰徽人路含烬辱命插你吵蜀陀毕向值浊芍迄丁悉曹热嗽惋烧娠雨氯第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口二二DS12887基本原理及引脚说明基本原理及引脚说明 DS12887内部由振荡电路,分频电路,周期中断/方波选择电路,14字节时钟寄存器和控制寄存器,114字节用户非易失RAM,十进制/二进制累加器,总线接口电路,电源开关写保护单元和内部锂电池等部分组成。DS12887引脚如图所示:效利屡东妆戴垃切咋耽箍椅旺古钳篷朝胆琼沁孪料令裂
43、撰灶伤段根赶堕娘第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口Vcc:直流电源+5V电压。当Vcc电压在正常范围内时,数据可读写;当Vcc低于4.25V,读写被禁止,计时功能仍继续;当Vcc下降到3V以下时,RAM和计时器供电被切换到内部锂电池。MOT(模式选择):MOT引脚接到Vcc时,选择MOTOROLA时序,当接到GND时,选择Intel时序。SQW(方波输出信号):SQW引脚能从实时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。AD0-AD7(双向
44、地址/数据复用线):总线接口,可与Motorola微机系列和Intel微机系列接口。ALE(地址锁存信号):在ALE的下降沿把AD0AD7输入的地址锁存入DS12887。(数据读信号):低电平有效。 (数据写信号):低电平有效。 (片选信号):在访问DS12887的总线周期内,片选信号必须保持为低。 珊懈淄垣挛畦用谗陪捞轰篙宗逸醛尼重爷氨磐鸽警尤秋踊质睛趋舶涣珊呐第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口 (中断请求信号):低电平有效,可作微处理的中断输入。没有中断的条件满足时, 处于高阻态。线
45、是漏极开路输入,要求外接上接电阻。 (复位信号):当该脚保持低电平时间大于200ms,保证DS12887有效复位。 三三内部寄存器内部寄存器 DS12887的内部有128个存储单元,其中:10字节的存放实时时钟时间、日历和定闹的RAM;4个字节的控制和状态特殊寄存器;114字节的带掉电保护的用户RAM。几乎所有的128个字节都可直接读写。1时间、日历和定闹单元时间、日历和定闹单元 时间、日历和定时闹钟通过写相应的存储单元字节设置或初始化,当前时间和日历信息通过读相应的存储单元字节来获取,其字节内容可以是二进制或BCD形式。时间可选择12小时制或24小时制,当选择12小时制时,小时字节的高位逻辑
46、“1”代表PM,逻辑“0”代表AM。时间、日历和定闹字节是双缓冲的,总是可访问的。每秒钟这10个字节走时1秒,检查一次定时闹钟条件,如在更新时,读时间和日历可能引起错误。烛霞孽粤辐禾晶握保慰处仅谤答硬养畸罚山烬聚荷檄琵冷悔牟忽朋恢惜痢第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口地址功能数范围二进制格式BCD码格式0秒059003BH0059H1秒闹钟059003BH0059H2分059003BH0059H3分闹钟059003BH0059H4小时(12时制)112010CH AM 818CH PM0
47、10CH AM 818CH PM小时(24时制)0230017H0023H5时闹钟(12时制)112010CH AM 818CH PM010CH AM 818CH PM时闹钟(24时制)0230017H0023H6星期(星期天=1)170007H0007H7日131011FH0131H8月112010CH0112H9年0990063H0099H忱镀愉甄岁障硝大揩敛佣廓撕苗伴方豆教之粹显藻龟摧吻夺珊打鸳腾贡网第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口2寄存器寄存器A寄存器0AH的格式如下:D7D6
48、D5D4D3D2D1D0UIPDV2DV1DV0RS3RS2RS1RS0UIP:更新(UIP)位用来标志芯片是否即将进行更新。当UIP位为1时,更新即将开始,这时不准对时钟、日历和闹钟信息寄存器进行读/写操作;当它为0时,表示在至少44s内芯片不会更新,此时,时钟、日历和闹钟信息可以通过读写相应的字节获得和设置。UIP位为只读位,并且不受复位信号(RESET)的影响。通过把寄存器B中的SET位设置为1,可以禁止更新并将UIP位清0。DV0,DV1,DV2:这3位是用来开关晶体振荡器和复位分频器。当DV0DV1DV2010时,晶体振荡器开启并且保持时钟运行;当DV0DV1DV211X时,晶体振荡
49、器开启,但分频器保持复位状态。 RS3,RS2,RS1,RS0:中断周期和SQW输出频率选择位。4位编码与中断周期和SQW输出频率的对应关系见下表:禽加妻愿板坷尖姻恶字窍述低启料纶旋地轮倡明琐谊诺胳履翻姜着咯长醒第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口RS3 RS2 RS1 RS0中断周期SQW输出频率0000-00013.90625ms256Hz00107.8125ms128 Hz0011122.070s8192 Hz0100244.141s4069 Hz0101488.281s2048 H
50、z0110976.562s1024 Hz01111.953125ms512 Hz10003.90625 ms256 Hz10017.8125 ms128 Hz101015.625 ms64 Hz101131.25 ms32 Hz110062.5 ms16 Hz1101125 ms8 Hz1110250 ms4 Hz1111500 ms2 Hz弘睦苹霖象脆墟泵岳塑暴泪胜铅洱八窗狮旱束掘蔷稗还兢惰静卤撅搜四离第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口3寄存器寄存器B寄存器0BH的格式如下:D7D6D
51、5D4D3D2D1D0SETPIEAIEUIESQWEDM24/12DSESET:当SET0,芯片更新正常进行;当SET1,芯片更新被禁止。SET位可读写,并不会受复位信号的影响。PIE:当PIE0,禁止周期中断输出到 IRQ;当PIE1,允许周期中断输出到 IRQ.AIE:当AIE0,禁止闹钟中断输出到IRQ ;当AIE1,允许闹钟中断输出到 IRQ.UIE:当UIE0,禁止更新结束中断输出到 IRQ;当UIE1,允许更新结束中断输出到IRQ 。此位在复位或设置SET为高时清0. SQWE:当SQWE0,SQW脚为低;当SQWE1,SQW输出设定频率的方波。DM:DM0,BCD;DM1,二进
52、制,此位不受复位信号影响。24/12:此位为1,24时制;为0,12小时制疫戚锄淬绥罕锚漱卫水泄厨送倘女过领亮耻度仗迟越斯多瘟撕鬃擒众贯兑第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口DSE:夏令时允许标志。在四月的第一个星期日的15959AM,时钟调到30000AM;在十月的最后一个星期日的15959AM,时钟调到10000AM。4寄存器寄存器C寄存器0CH的格式如下:D7D6D5D4D3D2D1D0IRQFPFAFUF0000IRQF:当有以下情况中的一种或几种发生时,中断请求标志位(IRQF)
53、置1;PFPIE1或AFAIE1或UFUIE1,既IRQFPFPIE+AFAIE+UFUIE,IRQF旦置1,IRQ脚输出低电平,送出中断请求。所有标志位在读寄存器C或复位后清0。PF:周期中断标志。AF:闹钟中断标志。UF:更新中断标志。第0位到第3位无用,不能写入,只能读出,且读出的值恒为0。 暮歪士袁豆噶段捌纤柜旷槐酗翁苏贩辉齿讫锐宪肥草联烧须辆第滓翌剖邻第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口5寄存器寄存器D寄存器0DH的格式如下:D7D6D5D4D3D2D1D0VRT0000000V
54、RT:当VRT0时表示内置电池能量耗尽,此时RAM中的数据的正确性就不能保证了。第0位到第6位无用,只能读出,且读出的值恒为0。6用户RAM在DS12887中,114字节带掉电保护RAM不专用一任何特殊功能,它们可被处理器程序用作非易失内存,在更新周期也可访问,它的地址范围为0DH7FH。如果片选地址CS =0F000H,则DS12887内部128个存储单元的地址为0F000H0F07FH。 颤臂柯秧雅宠甜幢肋熏推淆劳盛搓祭氛京琼袒汀榨鼓赢零吏染亦阀个隧甩第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接
55、口四四DS12887与单片机的接口与单片机的接口 下图是8051与DS12887的接口电路,DS12887的片选信号接P2.7,则DS12887的片内128个单元的地址可为7F00H7F7FH。 崇瓢芒秦衷挎络危茄魄救舔蒜砸入泅剪滞墟噬搭鸳袁干疾讲夯肃扁玛触庄第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口DS12887的处理过程为:1寄存器B的SET位置1,芯片停止工作。2时间、日历和定闹单元置初值。3读寄存器C,以消除已有的中断标志。4读寄存器D,使片内寄存器和RAM数据有效。5寄存器B的SET位
56、清0,启动DS12887开始工作。DS12887的驱动程序(略)治林匣葛噎辉幂罩峦溉缕剩坊莲后绩谚词宿散治浆篆菲析架阎酥腥拘要屈第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.3.2 串行日历时钟芯片与单片机接口串行日历时钟芯片与单片机接口一一DS1302的主要性能指标的主要性能指标(1)DS1302实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力。(2)内部含有31个字节静态RAM,可提供用户访问。(3)采用串行数据传送方式,使得管脚数量最少,简单3
57、 线接口。(4)工作电压范围宽:2.05.5V。(5)工作电流:2.0V时,小于300nA。(6)时钟或RAM数据的读/写有两种传送方式:单字节传送和多字节传送方式。(7)采用8脚DIP封装或SOIC封装。(8)与TTL兼容,Vcc=5V。(9)可选工业级温度范围:-40C+85C。(10)具有涓流充电能力。(11)采用主电源和备份电源双电源供应。(12)备份电源可由电池或大容量电容实现。写体判宇汛笼苍宝长久漆构惨群划厄月魂浪腋毕雄典暮拷理偷拉痔盛于裴第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口二
58、引脚功能二引脚功能DS1302的引脚如图所示其中:X1、X2:32.768KHz晶振接入引脚。GND:地。 :复位引脚,低电平有效。I/O:数据输入/输出引脚,具有三态功能。SCLK:串行时钟输入引脚。Vcc1:工作电源引脚。Vcc2:备用电源引脚。弊层狗奢帆建盂盗傲狱土瘁职宣橡救脂窃伸悲疏绍永豪娇仔驼蔗屡唯类伊第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口三三DS1302的寄存器及片内的寄存器及片内RAMDS1302有一个控制寄存器、12个日历、时钟寄存器和31个RAM。1控制寄存器控制寄存器 控
59、制寄存器用于存放DS1302的控制命令字,DS1302的RST引脚回到高电平后写入的第一个字就为控制命令。它用于对DS1302读写过程进行控制,它的格式如下: D7D6D5D4D3D2D1D01RAM/CKA4A3A2A1A0RD/W其中:D7:固定为1D6:RAM/CK位,片内RAM或日历、时钟寄存器选择位。 D5D1:地址位,用于选择进行读写的日历、时钟寄存器或片内RAM。对日历、时钟寄存器或片内RAM的选择见表。枉磋必痰煎箭涛雄晕伤绎伺孵彻柄威踊欲肝绘设浮蝴贮黔而鼻悯规钱氖赌第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片
60、机的其他接口单片机的其他接口寄存器名称D7D6D5D4D3D2D1D01RAM/CKA4A3A2A1A0R/W秒寄存器10000000或1分寄存器10000010或1小时寄存器10000100或1日寄存器10000110或1月寄存器10001000或1星期寄存器10001010或1年寄存器10001100或1写保护寄存器10001110或1慢充电寄存器10010000或1时钟突发模式10111110或1RAM011000000或1110或1RAM3011111100或1RAM突发模式11111110或1捉成丘廊孵雪舌档斋索响治晓掏辕共秋傍乙垮替铜瞧褐敲概喂浅举韶殆膜第9章MCS-51单片机的其
61、他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口2日历、时钟寄存器日历、时钟寄存器DS1302共有12个寄存器,其中有7个与日历、时钟相关,存放的数据为BCD码形式。日历、时钟寄存器的格式如表。寄存器名称取值范围D7D6D5D4D3D2D1D0秒寄存器0059CH秒的十位秒的个位分寄存器00590分的十位分的个位小时寄存器0112或002312/240A/PHR小时的个位日寄存器013100日的十位日的个位月寄存器01120001或0月的个位星期寄存器01070000星期几年寄存器0199年的十位年的个位写保护寄存器WP0000
62、000慢充电寄存器TCSTCSTCSTCSDSDSRSRS时钟突发寄存器瘦渺食角铁筏差耘童右逐览诡呛与汝搞馒酝云办薯舱涤烁饮猖稠拱骑扫镍第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口说明:(1)数据都以BCD码形式。(2)小时寄存器的D7位为12小时制/24小时制的选择位,当为1时选12小时制,当为0时选24小时制。当12小时制时,D5位为1是上午,D5位为0是下午,D4为小时的十位。当24小时制时,D5、D4位为小时的十位。(3)秒寄存器中的CH位为时钟暂停位,当为1时钟暂停,为0时钟开始启动。(
63、4)写保护寄存器中的WP为写保护位,当WP=1,写保护,当WP=0未写保护,当对日历、时钟寄存器或片内RAM进行写时WP应清零,当对日历、时钟寄存器或片内RAM进行读时WP一般置1。(5)慢充电寄存器的TCS位为控制慢充电的选择,当它为1010才能使慢充电工作。DS为二极管选择位。DS为01选择一个二极管,DS为10选择二个二极管,DS为11或00充电器被禁止,与TCS无关。RS用于选择连接在VCC2与VCC1之间的电阻,RS为00,充电器被禁止,与TCS无关,电阻选择情况见表.饺辛军霉刮寞汾亨摔栖哲潭赊替渊矽绘螺挽峰乌套螟邵郁敦捏般特题虹景第9章MCS-51单片机的其他接口第9章MCS-51
64、单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口RS位电阻器阻值00无无01R12K10R24K11R38K3.片内片内RAMDS1302片内有31个RAM单元,对片内RAM的操作有两种方式:单字节方式和多字节方式。当控制命令字为C0HFDH时为单字节读写方式,命令字中的D5D1用于选择对应的RAM单元,其中奇数为读操作,偶数为写操作。当控制命令字为FEH、FFH时为多字节操作(表9.5中的RAM突发模式),多字节操作可一次把所有的RAM单元内容进行读写。FEH为写操作,FFH为读操作。 陶沂弟阵茵铱原外癌癣员疗丸寨澄垄涸银渤霉趾瓦班现摇吮粤褂堤膛涕厦
65、第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口 DS1302通过RST引脚驱动输入输出过程,当置RST高电平启动输入输出过程,在SCLK时钟的控制下,首先把控制命令字写入DS1302的控制寄存器,其次根据写入的控制命令字,依次读写内部寄存器或片内RAM单元的数据,对于日历、时钟寄存器,根据控制命令字,一次可以读写一个日历、时钟寄存器,也可以一次读写8个字节,对所有的日历、时钟寄存器(表9.5中的时钟突发模式),写的控制命令字为0BEH,读的控制命令字为0BFH;对于片内RAM单元,根据控制命令字,一
66、次可读写一个字节,一次也可读写31个字节。当数据读写完后,RST变为低电平结束输入输出过程。无论是命令字还是数据,一个字节传送时都是低位在前,高位在后,每一位的读写发生在时钟的上升沿。 4DS1302的输入输出过程的输入输出过程狂猜喉身蓉厕灵喀置绩谢傣祭匈茅撇媚化壬讥掘凭毁陈厕晾裸篇童缠埃家第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口四、四、DS1302与单片机的接口与单片机的接口 DS1302与单片机的连接仅需要3条线:时钟线SCLK、数据线I/O和复位线 RST。连接图如图。时钟线SCLK与P
67、1.0相连,数据线I/O与P1.1相连,复位线 RST与P1.2相连。 VCC2X1X2GNDVCC1SCLKI/ORST+5V8051P1.0P1.1P1.2+5V图中DS1302的驱动程序。(略)彬鼎酶烈补跳天茹故硼实涕斜浪棵绷扭蝗沥翼铬坏败岿帕酥梦翼杜咕瑶滇第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.4 MCS-51单片机与数字温度传感器的接口9.4.1 DS18B20简介9.4.2 DS18B20的主要特性(1)适应电压范围宽:3.05.5V,在寄生电源方式下可由数据线供电。(2)在使
68、用中不需要任何外围元件。(3)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条信号线即可实现微处理器与DS18B20的双向通信。(4)测温范围:-55+125,在-10+85时精度为0.5。(5)编程可实现分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(6)在9位分辨率时最多在93.75ms内把温度值转换为数字,12位分辨率时最多在750ms内把温度值转换为数字。(7)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;(8)用户可自设定非易失性的报警上下限值。(9)负压特性:电源极性接反时,温度计不
69、会因发热而烧毁,但不能正常工作。嘎酷糯怀卿设障尾型预释咬诽氦险壮呜踪光览蚕族雪疫圈拿倡扮木莽辗愧第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.4.3 DS18B20的外部结构 1 2 3 DALLAS DS18B20 GND DQ VDD 1 2 3 NC NC NC NC NC VDD DQ GND (a) TO-92封装 (b) SOIC封装 (1) DQ:数字信号输入/输出端。(2) GND:电源地。(3) VDD:外接供电电源输入端(在寄生电源接线方式时接地)。蜕奥铆摘藏直茅供秦铃壁递聘
70、跌妨款雏逼逞段辞枷碉喝城寐朽汁济细啊糟第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.4.4 DS18B20的内部结构 DS18B20内部主要由4部分组成:64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器等。其内部结构图如图所示。翻逞差哀砾容卉缅奏译窑扒遵充枉毛觅弧顽靖狼镇怖燕鹰夯冬寻瘁陌突较第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口1光刻ROM存储器64位序列号的排列是:
71、开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。 2高速暂存存储器字节序号功 能0温度转换后的低字节1温度转换后的高字节2高温度触发器TH3低温度触发器TL4配置寄存器5保留6保留7保留8CRC校验寄存器卵碘轿椎举克朝竭踩燕食帜苇应钩默彩吭翻狡播赵团颤今尘吝押畦沾区庄第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口D7D6D5D4D3D2D1D0LS Byte232221202-12-22-32-4D7D6D5D4D3D2D1D0MS
72、 ByteSSSSS262524用符号扩展的二进制补码数表示,S为符号位。上表是12位转化后得到的12位数据,高字节的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘以0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘以0.0625即可得到实际温度。 彻哭戊蛮呈融呵擅谗堂闯饲乾浊翻协辫挛扒赣慨埂狈爱醋掂港掺驱曹啸矽第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口温度/16位二进制编码十六进制表示1250000 0111 1101 000007D0
73、H850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90HDS18B20部分温度数据表晌菩职具瘫做粥韭瘩假赚匀讨樱截土考菊诵氟肝芝瑟增茹
74、您童中飘信豪极第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口配置寄存器用于确定温度值的数字转换分辨率,该字节各位的意义如下:D7D6D5D4D3D2D1D0TMR1R011111温度值分辨率设置表与转换时间R1R0分辨率/位温度最大转换时间/ms00993.750110187.51011275.001112750.00淋凄检粟事垦厄钨绳儡酬确今籽穗梭恶取欧琼滨荒紊姐敬秃蔗鞭笨剿协泽第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其
75、他接口单片机的其他接口9.4.5 DS18B20的温度转换过程主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。 ROM指令表指 令约定代码功 能读ROM33H读DS18B20温度传感器ROM中的编码(即64位地址)匹配 ROM55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS18B20 使之作出响应,为下一步对该 DS18B20 的读写作准备搜索 ROM0F0H用于确定挂接在同一总线上 DS18B20 的个数和识别 6
76、4 位 ROM 地址。为操作各器件做好准备跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才作出响应市窘硅财控缺枚迈暮肺比胀宣壮赢尊灼坦长沦盗恿瞅峨沂沼稚懈企眉像墓第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口RAM指令表指 令约定代码功 能温度变换44H启动DS18B20进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中读暂存器0BEH读内部
77、RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据复制暂存器48H将RAM中第3、4字节的内容复制到EEPROM中重调 EEPROM0B8H将EEPROM中的内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式。寄生供电时DS18B20发送“0”,外接电源供电时DS18B20发送“1”倾法某刑凶姐刨窥喜剿匪赵翘坛票屑眼团施贿任湍超帖糜觅磨伯屋忙蜜攒第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.4.6 D
78、S18B20与单片机的接口进行远距离测温时,无需本地电源;可以在没有常规电源的条件下读取ROM;电路更加简洁,仅用一根I/O口来实现测温。 单片寄生电源供电方式连接 违吟摇汇葬雁驼峦顽挞舜想瀑龋却二譬去弘澄宏祟嘎来贰肩怎衷酣竟扛粹第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口改进的单片寄生电源供电图解决电流供应不足的问题,适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。 娘弟杖跟傻熙柠浅非邑忧尺郸媳鲤楚漱寄戈鸿下粹单苯帽颤姥歇挝皿丧澎第9章MCS-51单片机的其他接口第9章MCS-
79、51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口单片外部电源供电方式 撮挂蚀着旦杏计农蔽朔犀钳反儒慌存薪泼行杉愤丫毯新制旬窘炳法剿歉磋第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口外部供电方式的多点测温电路图 支烃邪灰雅鲍换流篮昔劈狙恢锋烦贴纽杰旗烹纯箭忽条汕本玫哈坛谈钟杰第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.4.7 DS18B20使用中的注意事项
80、(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格地保证读写时序,否则将无法读取测温结果。对DS18B20操作最好采用汇编语言实现。 (2) 在DS1820的有关资料中均未提及单总线上所挂DS18B20数量的问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中却并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 (3)连接DS18B20的总线电缆是有长度限制的。普通信号电缆50m,双绞线带屏蔽电缆可达150m. (4
81、) 在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。 霜品侦举忘未誓好壹抽杜驴蚜彰郴凶纵化咎诸彼茄垄嚼章苦磷眉煞镭誉乃第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.5 MCS-51单片机与串行A/D、D/A的接口9.5.1 MCS-51单片机与串行A/D芯片MAX1241的接口1MAX1241的功能特点(1)+2.7+5.25 V单电源供电。
82、(2)12位分辨率。(3)8脚DIP/SO封装。(4)低功耗:Pmax=3mW(73 KSPS),Pmin=5W(待机工作方式)。(5)内部提供采样/保持电路。(6)兼容于SPI/QSPI/MICROWIRE 串行三线外设接口。(7)内部提供转换时钟。MAX1241是MAXIM公司推出的一种单通道12位逐次逼近型串行A/D转换器,具有低功耗、高精度、转换速度快、体积小、接口简单等优点。挡哈唱扒胶蹄轩禹柏铃赢灯服墨裁榨宅竞侠诡近桨议免矩萍脐啤鳖烯酋烬第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口2MA
83、X1241的外部特性:关断控制输入端,可实现MAX1241两种工作模式的切换,接低电平,MAX1241工作于待机工作模式,输入电流可减小至10A以下,处于节能模式;接高电平,MAX1241工作于正常工作模式,可实现D/A转换。 REF:基准电压输入端,范围为0VDD。 GND:接地端。 DOUT:数据输出端。 片选端,低电平有效。 SCLK:外部时钟脉冲输入端。 洁梧勤搬沮亏悬湃捻瓮限茂泼裹虐故陕巡绊寸企怔儡阀荒顷凋粪粉吹骏恫第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口3MAX1241的工作过程(
84、1)在 为高电平的条件下,每次使片选信号 由高电平变为低电平则启动转换,此时时钟脉冲 SCLK必须为低电平。(2)A/D转换启动后,内部控制逻辑切换采样/保持电路为保持状态,并使输出数据线DOUT变低,转换结束时DOUT由低变高。在整个转换期内,SCLK应保持低电平。盔惶德棱刷憎逃往钒税撬奸栋芭条疽顽仆藉征煮超趾洲野钡君萨梢稽荆诅第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口(3)一次转换结束后,内部控制逻辑将自动把采样/保持电路切换为捕捉状态。在外部时钟脉冲SCLK作用下读出数据,从时序图可以看出
85、每一位数据是在时钟脉冲由高电平变低电平时送到数据输出端DOUT上,并一直保持到时钟脉冲下一次下降沿,因而每一位数据可以在时钟脉冲上升沿读出。在13个时钟脉冲后,数据读取结束,可将片选信号 置为高电平,DOUT端输出高电平。只要使片选信号再次有效,就可以重新开始一轮新的A/D转换和读取过程。 (4)数据读取完成后,如果仍然保持片选信号有效,则DOUT端始终输出低电平。膳伏只人龟枫静絮噶挠耶舵递秧聋迄蛹弥除素曝子硝剖膛巍奶招杆丫岭昂第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口4MAX1241与单片机的
86、接口MAX1241与8051单片机常见的接口电路如图 腹学谭卸树止蒂辗财偿冈燎近聚睹惰清疽残臀蒲阶冕沮呢氦厅策腥体映臣第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口汇编语言程序:;功能:本程序主要是读出MAX1241芯片的A/D转换值。A/D转换值放在地址20H和21H两单元中,高位在21H中,低位在20H中。MAX1241的DOUT数据输出端、 CS片选控制端和SCLK时钟输入端分别由8051的P1.1、P1.2和P1.3控制,而MAX1241的SHDN由P1.0控制 SHDNEQU P1.0DO
87、UTEQU P1.1CSEQU P1.2SCLKEQU P1.3 ORG 0000H MOV SP,#60H CLR EA MOV20H,#0 MOV 21H,#0 LCALL DC ;调A/D转换子程序 SJMP $DC: CLR SCLK ;A/D转换子程序 CLR CS SETB SHDN ;使SHDN脚为高电平,MAX1241处于工作模式驻名占蹈饭舶厢怪襟巡七隋弱矫蛙汪褒噶尚填库雹砾止谨酬妙毒捐饯砧恼第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口HERE: JNB DOUT,HERE SET
88、BSCLK ACALL QUS MOV 0BH,C ACALL QUS MOV 0AH,C ACALL QUS MOV 09H,C ACALL QUS MOV 08H,C ACALLQUS MOV 07H,C ACALL QUS MOV 06H,C ACALL QUS MOV 05H,C ACALL QUS MOV 04H,C ACALL QUS MOV 03H,C ACALL QUS MOV 02H,C ACALL QUS MOV 01H,C ACALL QUS MOV 00H,C SETB CS CLR SHDN ;使SHDN脚为低电平,MAX1241工作于关断模式 RETQUS: CLR
89、 SCLK NOP SETB SCLK MOV C,DOUT RET END陌惦卖诊叮像赊洁炸表披莱氧罪哆虞吠梅邪鲜追人奔蒜吝瞅题爸矽种豫市第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口C语言程序/*/* 功能:本程序主要是读入MAX1241芯片的12位A/D转换值放在变量temp1中/* 编码变换后所得值在变量volt中*/*/#include #include #define uchar unsigned char#define uint unsigned intsbitSHDN=P10;sbi
90、tDOUT=P11;sbitCS=P12;sbitSCLK=P13;uintbdatatemp;sbittemp00=temp0;uinttemp1;float idata volt;void delay1(uint x);uint adc( );弹拾订娱毁谢晋队够列啤韵馒抿傅批仟俭裳帕峡谦渝胳稳桔劝债拱潭娶僻第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口void main() /主程序 SP=0xcf; delay1(1000); EA=0; temp1=adc(); /读出MAX1241芯片的A
91、/D转换值放入变量temp1中 volt=(temp1/4096.0)*5.0;/编码转换成电压值 while(1);void delay1(uint x) /延时程序 uint j; uchar i; for (j=0;jx;j+) for (i=0;i125;i+);豺朔杉凿桐谈领儒锑酬遇饺侗释芯烷涡雹秉段能友玲倘琵镍噪钒幕餐缮陨第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口uint adc( ) /读A/D转换值函数, 返回A/D转换的12位编码 uchar i;temp=0;SCLK=0;C
92、S=0;SHDN=1;while(!DOUT);for (i=0;i13;i+)temp=temp1;SCLK=0;_nop_();SCLK=1;temp00=DOUT;CS=1;SHDN=0;return(temp);晋螟乌随内焊鳖治露疹许邀剪描脏穴趟段逢束婚澜批碘甲捌抹捎从闰带佯第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.5.2 MCS-51单片机与串行D/A芯片MAX517的接口MAX517是美国MAXIM公司生产的8位电压输出型串行D/A芯片。它采用I2C总线接口,允许多个设备之间进行
93、通信。 1MAX517的主要特点(1)采用单一5V电源供电。(2)I2C总线接口。(3)8脚SO/DIP封装。(4)上电复位所有锁存器。(5)掉电模式电流:4A。(6)参考电压最大为输入电压。未嗜谷墩寿冕格赞孺凑船糙梳剔希让力谢傍鲸棱开妹曼忙喘骋遁鼎沃桃诬第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口2MAX517的外部特性的外部特性OUT0:D/A转换输出端。GND:接地。SCL:时钟线。SDA:数据线。AD1、AD0:通道选择端,用于选择哪个D/A通道的转换输出。由于MAX517只有一个D/A通
94、道,所以使用时,这两个引脚通常接地。VDD:工作电源端。REF0(OUT1):参考电压输入端。撰寒陛舍郡瞪旺到告跺酝祸颖碟缝爵砧疵淳振廊韦挎猿账烬兢萄牙候尼米第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口3MAX517的工作时序MAX517使用I2C总线接口,信息传送只需要两根信号线:数据线SDA和时钟线SCL。在每一次信息的传输过程中,主控制器首先产生开始信号,然后给MAX517发送一个地址位字节,MAX517收到地址字节位后,给主控制器发送一个应答信号;其次,主控制器给MAX517发送一个控制位
95、字节,MAX517收到控制字节位后,再给主控制器发送一个应答信号;最后,主控制器给MAX517发送位的转换数据。MAX517收到数据后进行转换,再给主控制器发送一个应答信号;主控制器收到后产生结束信号。至此,一次转换过程完成。每个字节的传送都是高位在前低位在后。数据线SDA上每一位信息状态的改变只能发生在时钟线SCL为低电平的期间。 矢命宴孵薪枷谭暖壶板屡捧必砰钵藉员粳郭静菏阀痰胸歇茸书椿唾展盖彦第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口地址字节格式如下:BIT7BIT6BIT5BIT4BIT3
96、BIT2BIT1BIT001011AD1AD00控制字节格式如下:BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0R2R1R0RSTPDXXA0重朴仪跃骑垄柑奉销助妈帛博枯蔼竹鞘船晒膛芳帮吉埠廓鹿留撼湃瞄昂煌第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口4MAX517与单片机的接口与单片机的接口MAX517与单片机的常见连接图如图所示 程序见书 亿黎溅芬棺伟蔚饮爆各摄冷恩嵌嚣绝籽肘私月赠榜传量菩王蹦询枫侨铭图第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口作业习题 2、4、7、9、10、11、12革洞拱讳格扳酥千霉屎吠于添柠滔欲峰杉辗财福顺慨论匆盏惶存终檬士般第9章MCS-51单片机的其他接口第9章MCS-51单片机的其他接口