




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第九章MCS-51單片機(jī)的其他接口9.1LCD與MCS-51接口
液晶顯示器簡(jiǎn)稱LCD顯示器。它是利用液晶經(jīng)過處理后能改變光線的傳輸方向的特性實(shí)現(xiàn)顯示信息。液晶顯示器按其功能可分為三類:筆段式液晶顯示器、字符點(diǎn)陣式液晶顯示器和圖形點(diǎn)陣式液晶顯示器。前兩種可顯示數(shù)字、字符和符號(hào)等,而圖形點(diǎn)陣式液晶顯示器還可以顯示漢字和任意圖形,達(dá)到圖文并茂的效果。9.1.1字符型點(diǎn)陣式LCD液晶顯示器目前市面上常用的有16字1行、16字2行、20字2行和40字2行等的字符液晶顯示模塊。這些LCM雖然顯示字?jǐn)?shù)各不相同,但是都具有相同的輸入輸出界面。本節(jié)將以162字符型液晶顯示模塊RT-1602C為例,詳細(xì)介紹字符型液晶顯示模塊的應(yīng)用。一.字符型液晶顯示模塊RT-1602C的外觀與引腳RT-1602C采用標(biāo)準(zhǔn)的16腳接口,各引腳情況如下:第1腳:VSS,電源地第2腳:VDD,+5V電源第3腳:VL,液晶顯示偏壓信號(hào)第4腳:RS,數(shù)據(jù)/命令選擇端,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W,讀/寫選擇端,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E,端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7,為8位雙向數(shù)據(jù)線。第15腳:BLA,背光源正極第16腳:BLK,背光源負(fù)極二.字符型液晶顯示模塊RT-1602C的內(nèi)部結(jié)構(gòu)液晶顯示模塊RT-C1602C的內(nèi)部結(jié)構(gòu)可以分成三部份:一為L(zhǎng)CD控制器,二為L(zhǎng)CD驅(qū)動(dòng)器,三為L(zhǎng)CD顯示裝置,如圖所示:LCD控制器LCD驅(qū)動(dòng)器LCD顯示裝備VSSVDDVOVSV/WEDB0~DB7
控制器采用HD44780,驅(qū)動(dòng)器采用HD44100。HD44780是集控制器,驅(qū)動(dòng)器于一體,專用于字符顯示控制驅(qū)動(dòng)集成電路。HD44100是作擴(kuò)展顯示字符位的。HD44780是字符型液晶顯示控制器的代表電路。HD44780集成電路的特點(diǎn):1、可選擇5×7或5×10點(diǎn)字符。2、HD44780不僅作為控制器而且還具有驅(qū)動(dòng)40×16點(diǎn)陣液晶像素的能力,并且HD44780的驅(qū)動(dòng)能力可通過外接驅(qū)動(dòng)器擴(kuò)展360列驅(qū)動(dòng)。HD44780可控制的字符高達(dá)每行80個(gè)字,也就是580=400點(diǎn),HD44780內(nèi)藏有16路行驅(qū)動(dòng)器和40路列驅(qū)動(dòng)器,所以HD44780本身就具驅(qū)動(dòng)有16×40點(diǎn)陣LCD的能力(即單行16個(gè)字符或兩行8個(gè)字符)。如果在外部加一HD44100外擴(kuò)展多40路/列驅(qū)動(dòng),則可驅(qū)動(dòng)16×2LCD。3、HD44780的顯示緩沖區(qū)DDRAM、字符發(fā)生存儲(chǔ)器(ROM)及用戶自定義的字符發(fā)生器CGRAM全部?jī)?nèi)藏在芯片內(nèi)。HD44780有80個(gè)字節(jié)的顯示緩沖區(qū),分兩行,地址分別為00H~27H,40H~67H,它下實(shí)際顯示位置的排列順序跟LCD的型號(hào)有關(guān),液晶顯示模塊RT-1602C的顯示地址與實(shí)際顯示位置的關(guān)系如圖所示。HD44780內(nèi)藏的字符發(fā)生存儲(chǔ)器(ROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如圖所示:
這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼。比如數(shù)字“1”的代碼是00110001B(31H),又如大寫的英文字母“A”的代碼是01000001B(41H),可以看出英文字母的代碼與ASCII編碼相同。要顯示“1”時(shí),我們只需將ASCII碼31H存入DDRAM指定位置,顯示模塊將在相應(yīng)的位置把數(shù)字“1”的點(diǎn)陣字符圖形顯示出來,我們就能看到數(shù)字“1”了。4、HD44780具有8位數(shù)據(jù)和4位數(shù)據(jù)傳輸兩種方式,可與4/8位CPU相連。5、HD44780具有簡(jiǎn)單而功能較強(qiáng)的指令集,可實(shí)現(xiàn)字符移動(dòng),閃爍等顯示功能。三.指令格式與指令功能LCD控制器HD44780內(nèi)有多個(gè)寄存器,通過RS和R/W引腳共同決定選擇哪一個(gè)寄存器,選擇情況如表RSR/W寄存器及操作00指令寄存器寫入01忙標(biāo)志和地址計(jì)數(shù)器讀出10數(shù)據(jù)寄存器寫入11數(shù)據(jù)寄存器讀出總共有11條指令,它們的格式和功能如下:1.清屏命令格式:RSR/WD7D6D5D4D3D2D1D00000000001功能:清除屏幕,將顯示緩沖區(qū)DDRAM的內(nèi)容全部寫入空格(ASCII20H)。光標(biāo)復(fù)位,回到顯示器的左上角。地址計(jì)數(shù)器AC清零。2.光標(biāo)復(fù)位命令格式:功能:設(shè)定當(dāng)寫入一個(gè)字節(jié)后,光標(biāo)的移動(dòng)方向以及后面的內(nèi)容是否移動(dòng)。當(dāng)I/D=1時(shí),光標(biāo)從左向右移動(dòng);I/D=0時(shí),光標(biāo)從右向左移動(dòng)。當(dāng)S=1時(shí),內(nèi)容移動(dòng),S=0時(shí),內(nèi)容不移動(dòng)。RSR/WD7D6D5D4D3D2D1D000000000103.輸入方式設(shè)置命令格式:RSR/WD7D6D5D4D3D2D1D000000001I/DS功能:設(shè)定當(dāng)寫入一個(gè)字節(jié)后,光標(biāo)的移動(dòng)方向以及后面的內(nèi)容是否移動(dòng)。當(dāng)I/D=1時(shí),光標(biāo)從左向右移動(dòng);I/D=0時(shí),光標(biāo)從右向左移動(dòng)。當(dāng)S=1時(shí),內(nèi)容移動(dòng),S=0時(shí),內(nèi)容不移動(dòng)。4.顯示開關(guān)控制命令格式:RSR/WD7D6D5D4D3D2D1D00000001DCB功能:控制顯示的開關(guān),當(dāng)D=1時(shí)顯示,D=0時(shí)不顯示??刂乒鈽?biāo)開關(guān),當(dāng)C=1時(shí)光標(biāo)顯示,C=0時(shí)光標(biāo)不顯示??刂谱址欠耖W爍,當(dāng)B=1時(shí)字符閃爍,B=0時(shí)字符不閃爍。5.光標(biāo)移位置命令格式:RSR/WD7D6D5D4D3D2D1D0000001S/CR/L**功能:移動(dòng)光標(biāo)或整個(gè)顯示字幕移位。當(dāng)S/C=1時(shí)整個(gè)顯示字幕移位,當(dāng)S/C=0時(shí)只光標(biāo)移位。當(dāng)R/L=1時(shí)光標(biāo)右移,R/L=0時(shí)光標(biāo)左移。6.功能設(shè)置命令格式:RSR/WD7D6D5D4D3D2D1D000001DLNF**功能:設(shè)置數(shù)據(jù)位數(shù),當(dāng)DL=1時(shí)數(shù)據(jù)位為8位,DL=0時(shí)數(shù)據(jù)位為4位。設(shè)置顯示行數(shù),當(dāng)N=1時(shí)雙行顯示,N=0時(shí)單行顯示。設(shè)置字形大小,當(dāng)F=1時(shí)5×10點(diǎn)陣,F(xiàn)=0時(shí)為5×7點(diǎn)陣。7.設(shè)置字庫CGRAM地址命令格式:RSR/WD7D6D5D4D3D2D1D00001CGRAM的地址功能:設(shè)置用戶自定義CGRAM的地址,對(duì)用戶自定義CGRAM訪問時(shí),要先設(shè)定CGRAM的地址,地址范疇0~63。8.顯示緩沖區(qū)DDRAM地址設(shè)置命令格式:RSR/WD7D6D5D4D3D2D1D0001DDRAM的地址功能:設(shè)置當(dāng)前顯示緩沖區(qū)DDRAM的地址,對(duì)DDRAM訪問時(shí),要先設(shè)定DDRAM的地址,地址范疇0~127。9.讀忙標(biāo)志及地址計(jì)數(shù)器AC命令格式:RSR/WD7D6D5D4D3D2D1D001BFAC的值功能:讀忙標(biāo)志及地址計(jì)數(shù)器AC,當(dāng)BF=1時(shí)則表示忙,這時(shí)不能接收命令和數(shù)據(jù);BF=0時(shí)表示不忙。低7位為讀出的AC的地址,值為0~127。10.寫DDRAM或CGRAM命令格式:RSR/WD7D6D5D4D3D2D1D010寫入的數(shù)據(jù)功能:向DDRAM或CGRAM當(dāng)前位置中寫入數(shù)據(jù)。對(duì)DDRAM或CGRAM寫入數(shù)據(jù)之前須設(shè)定DDRAM或CGRAM的地址。11.讀DDRAM或CGRAM命令格式:RSR/WD7D6D5D4D3D2D1D011讀出的數(shù)據(jù)功能:從DDRAM或CGRAM當(dāng)前位置中讀郵數(shù)據(jù)。當(dāng)DDRAM或CGRAM讀出數(shù)據(jù)時(shí),先須設(shè)定DDRAM或CGRAM的地址。四.LCD顯示器的初始化LCD使用之前須對(duì)它進(jìn)行初始化,初始化可通過復(fù)位完成,也可在復(fù)位后完成,初始化過程如下:1.清屏。2.功能設(shè)置。3.開/關(guān)顯示設(shè)置。4.輸入方式設(shè)置。9.1.2LCD顯示器與單片機(jī)的接口與應(yīng)用
下圖是LCD顯示器與8051單片機(jī)的接口圖,圖中RT-1602C的數(shù)據(jù)線與8051的P1口相連,RS與8051的P2.0相連,R/W與8051的P2.1相連,E端與8051的P2.7相連。編程在LCD顯示器的第一行、第一列開始顯示“GOOD”,第二行、第6列開始顯示“BYE”。P1.7P2.7P2.1P2.0P1.08051…………DB0……DB7ERSR/WRT-1602VLBLKBLKP=10KOVOV+5VR=10歐姆1/2W匯編語言程序:RSBITP2.0RWBITP2.1EBITP2.7ORG00HAJMPSTARTORG50H;主程序START:MOVSP,#50HACALLINITMOVA,#10000000B;寫入顯示緩沖區(qū)起始地址為第1行第1列。ACALLWC51RMOVA,“G”;第1行第1列顯示字母“G”。ACALLWC51DDRMOVA,“O”;第1行第2列顯示字母“O”。ACALLWC51DDRMOVA,“O”;第1行第3列顯示字母“O”。ACALLWC51DDRMOVA,“D”;第1行第4列顯示字母“D”。ACALLWC51DDRMOVA,#11000101B;寫入顯示緩沖區(qū)起始地址為第2行第6列。ACALLWC51RMOVA,“B”;第2行第6列顯示字母“B”。ACALLWC51DDRMOVA,“Y”;第2行第7列顯示字母“Y”。ACALLWC51DDRMOVA,“E”;第2行第8列顯示字母“E”。ACALLWC51DDRLOOP:AJMPLOOP;初始化子程序INIT:MOVA,#00000001H;清屏ACALLWC51RMOVA,#00111000B;使用8位數(shù)據(jù),顯示兩行,使用5*7的字型。LCALLWC51RMOVA,#00001110B;顯示器開,光標(biāo)開,字符不閃爍。LCALLWC51RMOVA,#00000110B;字符不動(dòng),光標(biāo)自動(dòng)右移一格。LCALLWC51RRET;檢查忙子程序F_BUSY:PUSHACC;保護(hù)現(xiàn)場(chǎng)PUSHDPHPUSHDPLPUSHPSWWAIT:CLRRSSETBRWCLRESETBEMOVA,P1CLREJBACC.7,WAIT;忙,等待POPPSW;不忙,恢復(fù)現(xiàn)場(chǎng)POPDPLPOPDPHPOPACCACALLDELAYRET;寫入命令子程序。WC51R:ACALLF_BUSYCLRECLRRSCLRRWSETBEMOVP1,ACCCLREACALLDELAYRET;寫入數(shù)據(jù)子程序。WC51DDR:ACALLF_BUSYCLRESETBRSCLRRWSETBEMOVP1,ACCCLREACALLDELAYRET;延時(shí)子程序。DELAY:MOVR6,#5D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETENDC語言編程:#include<reg51.h>#defineucharunsignedcharsbitRS=P2^0;sbitRW=P2^1;sbitE=P2^7;voiddelay(void);voidinit(void);voidwc5r(uchari);voidwc51ddr(uchari);voidfbusy(void);//主函數(shù)voidmain(){SP=0x50;init();wc51r(0x80);//寫入顯示緩沖區(qū)起始地址為第1行第1列wc51ddr(0x44);//第1行第1列顯示字母“G”wc51ddr(0x4f);//第1行第2列顯示字母“O”wc51ddr(0x4f);//第1行第3列顯示字母“O”wc51ddr(0x47);//第1行第4列顯示字母“D”wc51r(0xc5);//寫入顯示緩沖區(qū)起始地址為第2行第6列wc51ddr(0x42);//第2行第6列顯示字母“B”wc51ddr(0x59);//第2行第7列顯示字母“Y”wc51ddr(0x45);//第2行第8列顯示字母“E”while(1);}//初始化函數(shù)voidinit(){wc51r(0x01);//清屏wc51r(0x38);//使用8位數(shù)據(jù),顯示兩行,使用5*7的字型wc51r(0x0e);//顯示器開,光標(biāo)開,字符不閃爍wc51r(0x06);//字符不動(dòng),光標(biāo)自動(dòng)右移一格}//檢查忙函數(shù)voidfbusy(){RS=0;RW=1;E=1;E=0;while(P1&0x80);//忙,等待delay();}//寫命令函數(shù)voidwc51r(ucharj){fbusy();E=0;RS=0;RW=0;E=1;P1=j;E=0;delay();}//寫數(shù)據(jù)函數(shù)voidwc51ddr(ucharj){fbusy();E=0;RS=1;RW=0;E=1;P1=j;E=0;delay();}//延時(shí)函數(shù)voiddelay(){uchary;for(y=0;y<0xff;y++){;}}9.2MCS-51單片機(jī)與I2C總線芯片接口9.2.1I2C總線簡(jiǎn)介一.I2C總線的主要特點(diǎn)I2C總線是由PHILIPS公司開發(fā)一種簡(jiǎn)單、雙向二線制同步串行總線。它只需要兩根線即在連接于總線上的器件之間傳送信息。這種總線的主要特點(diǎn)有:1.總線只有兩根線,即串行時(shí)鐘線(SCL)和串行數(shù)據(jù)線(SDA),這在設(shè)計(jì)中大大減少了硬件接口。2.每個(gè)連接到總線上的都有一個(gè)用于識(shí)別的器件地址,器件地址由芯片內(nèi)部硬件電路和外部地址引腳同時(shí)決定,避免了片選線的連接方法,并建立簡(jiǎn)單的主從關(guān)系,每個(gè)器件既可以作為發(fā)送器,又可以作為接收器。3.同步時(shí)鐘允許器件以不同的波特率進(jìn)行通信。4.同步時(shí)鐘可以作為停止或重新啟動(dòng)串行口發(fā)送的握手信號(hào)。5.串行的數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá)3.4Mbit/s。6.連接到同一總線的集成電路數(shù)只受400pF的最大總線電容的限制。二.I2C總線的基本結(jié)構(gòu)三.I2C總線信息傳送
當(dāng)I2C總線沒有進(jìn)行信息傳送時(shí),數(shù)據(jù)線(SDA)和時(shí)鐘線(SCL)都為高電平時(shí)。當(dāng)主控制器向某個(gè)器件傳送信息時(shí),首先應(yīng)向總線送開始信號(hào),然后才能傳送信息,當(dāng)信息傳送結(jié)束時(shí)應(yīng)送結(jié)束信號(hào),開始信號(hào)和結(jié)束信號(hào)規(guī)定如下:開始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。結(jié)束信號(hào):SCL為高電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。開始信號(hào)和結(jié)束信號(hào)之間傳送的是信息,信息的字節(jié)數(shù)沒有限制,但每個(gè)字節(jié)必須為8位,高位在前,低位在后。數(shù)據(jù)線SDA上每一位信息狀態(tài)的改變只能發(fā)生在時(shí)鐘線SCL為低電平的期間,因?yàn)镾CL高電平的期間SDA狀態(tài)的改變已經(jīng)被用來表示開始信號(hào)和結(jié)束信號(hào)。每個(gè)字節(jié)后面必須接收一個(gè)應(yīng)答信號(hào)(ACK),ACK是從控制器在接收到8位數(shù)據(jù)后向主控制器發(fā)出的特定的低電平脈沖,用以表示已收到數(shù)據(jù)。主控制器接收到應(yīng)答信號(hào)(ACK)后,可根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到ACK,則判斷為從控制器出現(xiàn)故障。具體情況如圖所示:SDASCL開始信號(hào)12789應(yīng)答位12891應(yīng)答位結(jié)束信號(hào)主控制器每次傳送的信息的第一個(gè)字節(jié)必須是器件地址碼,第二個(gè)字節(jié)為器件單元地址,用于實(shí)現(xiàn)選擇所操作的器件的內(nèi)部單元,從第三個(gè)字節(jié)開始為傳送的數(shù)據(jù)。其中器件地址碼格式如下:D7D6D5D4D3D2D1D0器件類型碼片選R/W四.I2C總線讀、寫操作1.當(dāng)前地址讀該操作將從所選器件當(dāng)前地址讀,讀的字節(jié)數(shù)不指定,格式如下:S控制碼(R/W=1)A數(shù)據(jù)1A數(shù)據(jù)2AP2.指定單元讀該操作將從所選器件指定地址讀,讀的字節(jié)數(shù)不指定,格式如下:S控制碼(R/W=0)A器件單元地址AS控制碼(R/W=1)A數(shù)據(jù)1A數(shù)據(jù)2AP3.指定單元寫該操作將從所選器件指定地址寫,寫的字節(jié)數(shù)不指定,格式如下:S控制碼(R/W=0)A器件單元地址A數(shù)據(jù)1A數(shù)據(jù)2AP其中:S表示開始信號(hào),A表示應(yīng)答信號(hào),P表示結(jié)束信號(hào)。9.2.2I2C總線EEPROM芯片與單片機(jī)接口一.串行EEPROM電路CAT24WCXX系列概述CAT24WCXX系列是美國CATALYST公司出品的,包含1-256K位,支持I2C總線數(shù)據(jù)傳送協(xié)議的串行CMOSEEPROM芯片,可用電擦除,可編程自定義寫周期,自動(dòng)擦除時(shí)間不超過10ms,典型時(shí)間為5ms。CAT24WCXX系列包含CAT24WC01/02/04/08/16/32/64/128/256共8種芯片,容量分別為1、2、4、8、16、32、64、128、256KB。串行EEPROM一般具有兩種寫入方式,一種是字節(jié)寫入方式,還有另一種頁寫入方式。允許在一個(gè)寫周期內(nèi)同時(shí)對(duì)1個(gè)字節(jié)到一頁的若干字節(jié)的編程寫入,一頁的大小取決于芯片內(nèi)頁寄存器的大小。其中,CAT24WC01具有8字節(jié)數(shù)據(jù)的頁面寫能力,CAT24WC02/04/08/16具有16字節(jié)數(shù)據(jù)的頁面寫能力,CAT24WC32/64具有32字節(jié)數(shù)據(jù)的頁面寫能力,CAT24WC128/256具有64字節(jié)數(shù)據(jù)的頁面寫能力。二.CAT24WCXX的引腳CAT24WC01/02/04/08/16/32/64、CAT24WC128、CAT24WC256管腳排列圖分別為如圖(1)、(2)、(3)所示:其中:SCL:串行時(shí)鐘線。這是一個(gè)輸入管腳,用于形成器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘。SDA:串行數(shù)據(jù)/地址線。它是一個(gè)雙向傳輸線,用于傳送地址和所有數(shù)據(jù)的發(fā)送或接收。它是一個(gè)漏極開路端,因此要求接一個(gè)上拉電阻到Vcc端(速率為100KHz時(shí)電阻為10K,400KHz時(shí)為1K)。對(duì)于一般的數(shù)據(jù)傳輸,僅在SCL為低電平期間SDA才允許變化。SCL為高電平期間,留給開始信號(hào)(START)和停止信號(hào)(STOP)。A0、A1、A2:器件地址輸入端。這些輸入端用于多個(gè)器件級(jí)聯(lián)時(shí)設(shè)置器件地址,當(dāng)這些腳懸空時(shí)默認(rèn)值為0(CAT24WC01除外)。WP:寫保護(hù)。如果WP管腳連接到VCC,所有的內(nèi)容都被寫保護(hù)(只能讀)。當(dāng)WP管腳連接到VSS或懸空,允許對(duì)器件進(jìn)行正常的讀/寫操作。VCC:電源線。VSS:地線。三.CAT24WCXX的器件地址型號(hào)控制碼片選讀寫總線訪問的器件CAT24WC011010A2A1A01/0最多8個(gè)CAT24WC021010A2A1A01/0最多8個(gè)CAT24WC041010A2A1a81/0最多4個(gè)CAT24WC081010A2a9a81/0最多2個(gè)CAT24WC161010a10a9a81/0最多1個(gè)CAT24WC321010A2A1A01/0最多8個(gè)CAT24WC641010A2A1A01/0最多8個(gè)CAT24WC1281010XXX1/0最多1個(gè)CAT24WC25610100A1A01/0最多4個(gè)四.CAT24WCXX的寫操作1.字節(jié)寫結(jié)束應(yīng)答信號(hào)數(shù)據(jù)數(shù)據(jù)器件內(nèi)單元地址應(yīng)答信號(hào)應(yīng)答信號(hào)讀寫位器件地址開始SDA線信號(hào)2.頁寫應(yīng)答信號(hào)數(shù)據(jù)1器件內(nèi)單元地址應(yīng)答信號(hào)應(yīng)答信號(hào)讀寫位器件地址寫開始SDA線信號(hào)數(shù)據(jù)n應(yīng)答信號(hào)結(jié)束3.應(yīng)答查詢
可以利用內(nèi)部寫周期時(shí)禁止數(shù)據(jù)輸入這一特性。一旦主器件發(fā)送停止位指示主器件操作結(jié)束時(shí),CAT24WCXX啟動(dòng)內(nèi)部寫周期,應(yīng)答查詢立即啟動(dòng),包括發(fā)送一個(gè)起始信號(hào)和進(jìn)行寫操作的從器件地址。4.寫保護(hù)
寫保護(hù)操作特性可使用戶避免由于不當(dāng)操作而造成對(duì)存儲(chǔ)區(qū)域內(nèi)部數(shù)據(jù)的改寫,當(dāng)WP管腳接高電平時(shí),整個(gè)寄存器區(qū)全部被保護(hù)起來而變?yōu)橹豢勺x取。五.CAT24WCXX的讀操作1.當(dāng)前地址讀SDA線信號(hào)開始讀寫位應(yīng)答信號(hào)無應(yīng)答信號(hào)結(jié)束數(shù)據(jù)器件地址2.隨機(jī)地址讀讀寫位器件地址讀器件內(nèi)單元地址應(yīng)答信號(hào)應(yīng)答信號(hào)讀寫位器件地址寫開始SDA線信號(hào)應(yīng)答信號(hào)結(jié)束器件內(nèi)單元地址開始應(yīng)答信號(hào)3.順序地址讀應(yīng)答信號(hào)數(shù)據(jù)1應(yīng)答信號(hào)讀寫位器件地址讀SDA線信號(hào)數(shù)據(jù)2應(yīng)答信號(hào)結(jié)束數(shù)據(jù)n無應(yīng)答信號(hào)六.CAT24WCXX與單片機(jī)的接口與編程下圖是8051單片機(jī)與串行EEPROM芯片CAT24WCXX的接口電路。圖中用的EEPROM芯片為CAT24WC04,其它芯片與單片機(jī)的連接與它相同。8051的P1.0、P1.1作為I2C總線與CAT24WC04的SDA和SCL相連,連接時(shí)注意I2C總線須通過電阻接電源。P1.3與WP相連。CAT24WC04的地址線A2、A1、A0直接接地。則片選編碼為000,CAT24WC04的器件地址碼的高7位為1010000。8051P1.0P1.1P1.2VCCSDASCLWPVSSA0A1A2CAT24W04VCC20K20K編程(略)9.3MCS-51單片機(jī)與時(shí)鐘日歷芯片接口9.3.1并行日歷時(shí)鐘芯片DS12887與單片機(jī)接口一.DS12887主要功能(1)內(nèi)含一個(gè)鋰電池,斷電后運(yùn)行十年以上不丟失數(shù)據(jù)。(2)計(jì)秒,分,時(shí),天,星期,日,月,年,并有閏年補(bǔ)償功能。(3)二進(jìn)制數(shù)碼或BCD碼表示時(shí)間,日歷和定鬧。(4)12小時(shí)或24小時(shí)制,12小時(shí)時(shí)鐘模式帶有PM和AM指示,有夏令時(shí)功能。(5)Motorola和Intel總線時(shí)序選擇。(6)有128個(gè)字節(jié)RAM單元與軟件接口,其中:14個(gè)字節(jié)作為時(shí)鐘寄存器和控制寄存器,114字節(jié)為通用RAM,所有RAM單元數(shù)據(jù)都具有掉電保護(hù)功能。(7)可編程方波信號(hào)輸出。(8)中斷信號(hào)輸出(IRQ)和總線兼容,定鬧中斷、周期性中斷、時(shí)鐘更新周期結(jié)束中斷可分別由軟件屏蔽,也可分別進(jìn)行測(cè)試。二.DS12887基本原理及引腳說明
DS12887內(nèi)部由振蕩電路,分頻電路,周期中斷/方波選擇電路,14字節(jié)時(shí)鐘寄存器和控制寄存器,114字節(jié)用戶非易失RAM,十進(jìn)制/二進(jìn)制累加器,總線接口電路,電源開關(guān)寫保護(hù)單元和內(nèi)部鋰電池等部分組成。DS12887引腳如圖所示:Vcc:直流電源+5V電壓。當(dāng)Vcc電壓在正常范圍內(nèi)時(shí),數(shù)據(jù)可讀寫;當(dāng)Vcc低于4.25V,讀寫被禁止,計(jì)時(shí)功能仍繼續(xù);當(dāng)Vcc下降到3V以下時(shí),RAM和計(jì)時(shí)器供電被切換到內(nèi)部鋰電池。MOT(模式選擇):MOT引腳接到Vcc時(shí),選擇MOTOROLA時(shí)序,當(dāng)接到GND時(shí),選擇Intel時(shí)序。SQW(方波輸出信號(hào)):SQW引腳能從實(shí)時(shí)鐘內(nèi)部15級(jí)分頻器的13個(gè)抽頭中選擇一個(gè)作為輸出信號(hào),其輸出頻率可通過對(duì)寄存器A編程改變。AD0-AD7(雙向地址/數(shù)據(jù)復(fù)用線):總線接口,可與Motorola微機(jī)系列和Intel微機(jī)系列接口。ALE(地址鎖存信號(hào)):在ALE的下降沿把AD0~AD7輸入的地址鎖存入DS12887。(數(shù)據(jù)讀信號(hào)):低電平有效。(數(shù)據(jù)寫信號(hào)):低電平有效。(片選信號(hào)):在訪問DS12887的總線周期內(nèi),片選信號(hào)必須保持為低。
(中斷請(qǐng)求信號(hào)):低電平有效,可作微處理的中斷輸入。沒有中斷的條件滿足時(shí),處于高阻態(tài)。線是漏極開路輸入,要求外接上接電阻。
(復(fù)位信號(hào)):當(dāng)該腳保持低電平時(shí)間大于200ms,保證DS12887有效復(fù)位。三.內(nèi)部寄存器
DS12887的內(nèi)部有128個(gè)存儲(chǔ)單元,其中:10字節(jié)的存放實(shí)時(shí)時(shí)鐘時(shí)間、日歷和定鬧的RAM;4個(gè)字節(jié)的控制和狀態(tài)特殊寄存器;114字節(jié)的帶掉電保護(hù)的用戶RAM。幾乎所有的128個(gè)字節(jié)都可直接讀寫。1.時(shí)間、日歷和定鬧單元
時(shí)間、日歷和定時(shí)鬧鐘通過寫相應(yīng)的存儲(chǔ)單元字節(jié)設(shè)置或初始化,當(dāng)前時(shí)間和日歷信息通過讀相應(yīng)的存儲(chǔ)單元字節(jié)來獲取,其字節(jié)內(nèi)容可以是二進(jìn)制或BCD形式。時(shí)間可選擇12小時(shí)制或24小時(shí)制,當(dāng)選擇12小時(shí)制時(shí),小時(shí)字節(jié)的高位邏輯“1”代表PM,邏輯“0”代表AM。時(shí)間、日歷和定鬧字節(jié)是雙緩沖的,總是可訪問的。每秒鐘這10個(gè)字節(jié)走時(shí)1秒,檢查一次定時(shí)鬧鐘條件,如在更新時(shí),讀時(shí)間和日歷可能引起錯(cuò)誤。
三個(gè)字節(jié)的定時(shí)鬧鐘字節(jié)有兩種使用方法。第一種,當(dāng)定時(shí)鬧鐘時(shí)間寫入相應(yīng)時(shí)、分、秒定鬧單元后,在定時(shí)鬧鐘允許位置“1”的條件下,定時(shí)鬧鐘中斷每天準(zhǔn)時(shí)起動(dòng)一次。第二種,在三個(gè)定時(shí)鬧鐘字節(jié)中填入特殊碼。特殊碼是從C0到FF的任意16進(jìn)制數(shù)。當(dāng)小時(shí)鬧鐘字節(jié)填入特殊碼時(shí),定時(shí)鬧鐘為每小時(shí)中斷一次;當(dāng)小時(shí)和分鐘鬧鐘字節(jié)填入特殊碼時(shí),定時(shí)鬧鐘為每分鐘中斷一次;當(dāng)三個(gè)定時(shí)鬧鐘字節(jié)都填入特殊碼時(shí),每秒中斷一次。時(shí)間、日歷和定鬧單元的數(shù)據(jù)格式如表9.3所示。地址功能數(shù)范圍二進(jìn)制格式BCD碼格式0秒0~5900~3BH00~59H1秒鬧鐘0~5900~3BH00~59H2分0~5900~3BH00~59H3分鬧鐘0~5900~3BH00~59H4小時(shí)(12時(shí)制)1~1201~0CHAM81~8CHPM01~0CHAM81~8CHPM小時(shí)(24時(shí)制)0~2300~17H00~23H5時(shí)鬧鐘(12時(shí)制)1~1201~0CHAM81~8CHPM01~0CHAM81~8CHPM時(shí)鬧鐘(24時(shí)制)0~2300~17H00~23H6星期(星期天=1)1~700~07H00~07H7日1~3101~1FH01~31H8月1~1201~0CH01~12H9年0~9900~63H00~99H2.寄存器A寄存器0AH的格式如下:D7D6D5D4D3D2D1D0UIPDV2DV1DV0RS3RS2RS1RS0UIP:更新(UIP)位用來標(biāo)志芯片是否即將進(jìn)行更新。當(dāng)UIP位為1時(shí),更新即將開始,這時(shí)不準(zhǔn)對(duì)時(shí)鐘、日歷和鬧鐘信息寄存器進(jìn)行讀/寫操作;當(dāng)它為0時(shí),表示在至少44μs內(nèi)芯片不會(huì)更新,此時(shí),時(shí)鐘、日歷和鬧鐘信息可以通過讀寫相應(yīng)的字節(jié)獲得和設(shè)置。UIP位為只讀位,并且不受復(fù)位信號(hào)(RESET)的影響。通過把寄存器B中的SET位設(shè)置為1,可以禁止更新并將UIP位清0。DV0,DV1,DV2:這3位是用來開關(guān)晶體振蕩器和復(fù)位分頻器。當(dāng)[DV0
DV1
DV2]=[010]時(shí),晶體振蕩器開啟并且保持時(shí)鐘運(yùn)行;當(dāng)[DV0
DV1
DV2]=[11X]時(shí),晶體振蕩器開啟,但分頻器保持復(fù)位狀態(tài)。
RS3,RS2,RS1,RS0:中斷周期和SQW輸出頻率選擇位。4位編碼與中斷周期和SQW輸出頻率的對(duì)應(yīng)關(guān)系見下表:RS3RS2RS1RS0中斷周期SQW輸出頻率0000--00013.90625ms256Hz00107.8125ms128Hz0011122.070s8192Hz0100244.141s4069Hz0101488.281s2048Hz0110976.562s1024Hz01111.953125ms512Hz10003.90625ms256Hz10017.8125ms128Hz101015.625ms64Hz101131.25ms32Hz110062.5ms16Hz1101125ms8Hz1110250ms4Hz1111500ms2Hz3.寄存器B寄存器0BH的格式如下:D7D6D5D4D3D2D1D0SETPIEAIEUIESQWEDM24/12DSESET:當(dāng)SET=0,芯片更新正常進(jìn)行;當(dāng)SET=1,芯片更新被禁止。SET位可讀寫,并不會(huì)受復(fù)位信號(hào)的影響。PIE:當(dāng)PIE=0,禁止周期中斷輸出到IRQ;當(dāng)PIE=1,允許周期中斷輸出到IRQ.AIE:當(dāng)AIE=0,禁止鬧鐘中斷輸出到IRQ;當(dāng)AIE=1,允許鬧鐘中斷輸出到IRQ.UIE:當(dāng)UIE=0,禁止更新結(jié)束中斷輸出到IRQ;當(dāng)UIE=1,允許更新結(jié)束中斷輸出到IRQ。此位在復(fù)位或設(shè)置SET為高時(shí)清0.SQWE:當(dāng)SQWE=0,SQW腳為低;當(dāng)SQWE=1,SQW輸出設(shè)定頻率的方波。DM:DM=0,BCD;DM=1,二進(jìn)制,此位不受復(fù)位信號(hào)影響。24/12:此位為1,24時(shí)制;為0,12小時(shí)制DSE:夏令時(shí)允許標(biāo)志。在四月的第一個(gè)星期日的1∶59∶59AM,時(shí)鐘調(diào)到3∶00∶00AM;在十月的最后一個(gè)星期日的1∶59∶59AM,時(shí)鐘調(diào)到1∶00∶00AM。4.寄存器C 寄存器0CH的格式如下:D7D6D5D4D3D2D1D0IRQFPFAFUF0000IRQF:當(dāng)有以下情況中的一種或幾種發(fā)生時(shí),中斷請(qǐng)求標(biāo)志位(IRQF)置1;PF=PIE=1或AF=AIE=1或UF=UIE=1,既IRQF=PF·PIE+AF·AIE+UF·UIE,IRQF-旦置1,IRQ腳輸出低電平,送出中斷請(qǐng)求。所有標(biāo)志位在讀寄存器C或復(fù)位后清0。PF:周期中斷標(biāo)志。AF:鬧鐘中斷標(biāo)志。UF:更新中斷標(biāo)志。第0位到第3位無用,不能寫入,只能讀出,且讀出的值恒為0。5.寄存器D寄存器0DH的格式如下:D7D6D5D4D3D2D1D0VRT0000000VRT:當(dāng)VRT=0時(shí)表示內(nèi)置電池能量耗盡,此時(shí)RAM中的數(shù)據(jù)的正確性就不能保證了。第0位到第6位無用,只能讀出,且讀出的值恒為0。6.用戶RAM在DS12887中,114字節(jié)帶掉電保護(hù)RAM不專用一任何特殊功能,它們可被處理器程序用作非易失內(nèi)存,在更新周期也可訪問,它的地址范圍為0DH~7FH。如果片選地址CS=0F000H,則DS12887內(nèi)部128個(gè)存儲(chǔ)單元的地址為0F000H~0F07FH。四.DS12887與單片機(jī)的接口
下圖是8051與DS12887的接口電路,DS12887的片選信號(hào)接P2.7,則DS12887的片內(nèi)128個(gè)單元的地址可為7F00H~7F7FH。DS12887的處理過程為:1.寄存器B的SET位置1,芯片停止工作。2.時(shí)間、日歷和定鬧單元置初值。3.讀寄存器C,以消除已有的中斷標(biāo)志。4.讀寄存器D,使片內(nèi)寄存器和RAM數(shù)據(jù)有效。5.寄存器B的SET位清0,啟動(dòng)DS12887開始工作。DS12887的驅(qū)動(dòng)程序(略)9.3.2串行日歷時(shí)鐘芯片與單片機(jī)接口一.DS1302的主要性能指標(biāo)(1)DS1302實(shí)時(shí)時(shí)鐘具有能計(jì)算2100年之前的秒、分、時(shí)、日、日期、星期、月、年的能力,還有閏年調(diào)整的能力。(2)內(nèi)部含有31個(gè)字節(jié)靜態(tài)RAM,可提供用戶訪問。(3)采用串行數(shù)據(jù)傳送方式,使得管腳數(shù)量最少,簡(jiǎn)單3線接口。(4)工作電壓范圍寬:2.0~5.5V。(5)工作電流:2.0V時(shí),小于300nA。(6)時(shí)鐘或RAM數(shù)據(jù)的讀/寫有兩種傳送方式:?jiǎn)巫止?jié)傳送和多字節(jié)傳送方式。(7)采用8腳DIP封裝或SOIC封裝。(8)與TTL兼容,Vcc=5V。(9)可選工業(yè)級(jí)溫度范圍:-40C~+85C。(10)具有涓流充電能力。(11)采用主電源和備份電源雙電源供應(yīng)。(12)備份電源可由電池或大容量電容實(shí)現(xiàn)。二.引腳功能DS1302的引腳如圖所示其中:X1、X2:32.768KHz晶振接入引腳。GND:地。:復(fù)位引腳,低電平有效。I/O:數(shù)據(jù)輸入/輸出引腳,具有三態(tài)功能。SCLK:串行時(shí)鐘輸入引腳。Vcc1:工作電源引腳。Vcc2:備用電源引腳。三.DS1302的寄存器及片內(nèi)RAMDS1302有一個(gè)控制寄存器、12個(gè)日歷、時(shí)鐘寄存器和31個(gè)RAM。1.控制寄存器
控制寄存器用于存放DS1302的控制命令字,DS1302的RST引腳回到高電平后寫入的第一個(gè)字就為控制命令。它用于對(duì)DS1302讀寫過程進(jìn)行控制,它的格式如下:D7D6D5D4D3D2D1D01RAM/CKA4A3A2A1A0RD/W其中:D7:固定為1D6:RAM/CK位,片內(nèi)RAM或日歷、時(shí)鐘寄存器選擇位。D5~D1:地址位,用于選擇進(jìn)行讀寫的日歷、時(shí)鐘寄存器或片內(nèi)RAM。對(duì)日歷、時(shí)鐘寄存器或片內(nèi)RAM的選擇見表。寄存器名稱D7D6D5D4D3D2D1D01RAM/CKA4A3A2A1A0R/W秒寄存器10000000或1分寄存器10000010或1小時(shí)寄存器10000100或1日寄存器10000110或1月寄存器10001000或1星期寄存器10001010或1年寄存器10001100或1寫保護(hù)寄存器10001110或1慢充電寄存器10010000或1時(shí)鐘突發(fā)模式10111110或1RAM011000000或111
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中職新能源課題申報(bào)書
- 廣東省課題的申報(bào)書
- 博士生人文課題申報(bào)書
- 中藥農(nóng)業(yè)課題申報(bào)書
- 甘肅黨建課題申報(bào)書范例
- 腎內(nèi)科課題申報(bào)書
- 協(xié)同育人課題申報(bào)書參考
- 文學(xué) 課題申報(bào)書
- 人工綠化合同范本
- 變更經(jīng)營(yíng)范圍合同范例
- 2025年常州工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫及答案1套
- 2025年湖南理工職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫必考題
- 2025年湖南城建職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫完美版
- 會(huì)計(jì)信息化練習(xí)題庫+參考答案
- 武漢2025年湖北武漢市教育系統(tǒng)專項(xiàng)招聘教師679人筆試歷年參考題庫附帶答案詳解
- 高中主題班會(huì) 借哪吒精神燃開學(xué)斗志!課件-高一下學(xué)期開學(xué)第一課班會(huì)
- 2024年12月2025浙江湖州市長(zhǎng)興縣綜合行政執(zhí)法局公開招聘輔助執(zhí)法人員8人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 水產(chǎn)養(yǎng)殖尾水處理技術(shù)-第1篇-深度研究
- 2025年河南交通職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫含答案解析
- 財(cái)務(wù)管理畢業(yè)論文
- 二零二五年度醫(yī)療援助派駐服務(wù)協(xié)議4篇
評(píng)論
0/150
提交評(píng)論