版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第九章 MCS-51單片機的其他接口,9.1 LCD與MCS-51接口,液晶顯示器簡稱LCD顯示器。它是利用液晶經(jīng)過處理后能改變光線的傳輸方向的特性實現(xiàn)顯示信息。液晶顯示器按其功能可分為三類:筆段式液晶顯示器、字符點陣式液晶顯示器和圖形點陣式液晶顯示器。前兩種可顯示數(shù)字、字符和符號等,而圖形點陣式液晶顯示器還可以顯示漢字和任意圖形,達到圖文并茂的效果。,9.1.1 字符型點陣式LCD液晶顯示器,目前市面上常用的有16字?1行、16
2、字?2行、20字?2行和40字?2行等的字符液晶顯示模塊。這些LCM雖然顯示字數(shù)各不相同,但是都具有相同的輸入輸出界面。本節(jié)將以16?2字符型液晶顯示模塊RT-1602C為例,詳細介紹字符型液晶顯示模塊的應(yīng)用。,一.字符型液晶顯示模塊RT-1602C的外觀與引腳,,RT-1602C采用標準的16腳接口,各引腳情況如下:,第1腳:VSS,電源地第2腳:VDD,+5V電源第3腳:VL,液晶顯示偏壓信號第4腳:RS,數(shù)據(jù)/命令選擇端,高
3、電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。,第5腳:R/W,讀/寫選擇端,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。,第6腳:E,端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第7~14腳:D0~D7,為8位雙向數(shù)據(jù)線。第15腳:BLA,背光源正極第16腳:BLK,背光源負極
4、,二.字符型液晶顯示模塊RT-1602C的內(nèi)部結(jié)構(gòu),液晶顯示模塊RT-C1602C的內(nèi)部結(jié)構(gòu)可以分成三部份:一為LCD控制器,二為LCD驅(qū)動器,三為LCD顯示裝置,如圖所示:,控制器采用HD44780,驅(qū)動器采用HD44100。HD44780是集控制器,驅(qū)動器于一體,專用于字符顯示控制驅(qū)動集成電路。HD44100是作擴展顯示字符位的。HD44780是字符型液晶顯示控制器的代表電路。HD44780集成電路的特點:1、可選擇5×
5、;7或5×10點字符。2、HD44780不僅作為控制器而且還具有驅(qū)動40×16點陣液晶像素的能力,并且HD44780的驅(qū)動能力可通過外接驅(qū)動器擴展360列驅(qū)動。HD44780可控制的字符高達每行80個字,也就是5?80=400點,HD44780內(nèi)藏有16路行驅(qū)動器和40路列驅(qū)動器,所以HD44780本身就具驅(qū)動有16×40點陣LCD的能力(即單行16個字符或兩行8個字符)。如果在外部加一HD44100外
6、擴展多40路/列驅(qū)動,則可驅(qū)動16×2LCD。3、HD44780的顯示緩沖區(qū)DDRAM、字符發(fā)生存儲器(ROM)及用戶自定義的字符發(fā)生器CGRAM全部內(nèi)藏在芯片內(nèi)。HD44780有80個字節(jié)的顯示緩沖區(qū),分兩行,地址分別為00H~27H,40H~67H,它下實際顯示位置的排列順序跟LCD的型號有關(guān),液晶顯示模塊RT-1602C的顯示地址與實際顯示位置的關(guān)系如圖所示。,,HD44780內(nèi)藏的字符發(fā)生存儲器(ROM)已經(jīng)存儲了
7、160個不同的點陣字符圖形,如圖所示:,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。比如數(shù)字“1”的代碼是00110001B(31H),又如大寫的英文字母“A”的代碼是01000001B(41H),可以看出英文字母的代碼與ASCII編碼相同。要顯示“1”時,我們只需將ASCII碼31H存入DDRAM指定位置,顯示模塊將在相應(yīng)的位置把數(shù)字“1”的點陣字符圖形顯示出來,我們就能看到數(shù)字“
8、1”了。,4、HD44780具有8位數(shù)據(jù)和4位數(shù)據(jù)傳輸兩種方式,可與4/8位CPU相連。5、HD44780具有簡單而功能較強的指令集,可實現(xiàn)字符移動,閃爍等顯示功能。,三.指令格式與指令功能,LCD控制器HD44780內(nèi)有多個寄存器,通過RS和R/W引腳共同決定選擇哪一個寄存器,選擇情況如表,總共有11條指令,它們的格式和功能如下:,1.清屏命令格式:,功能:清除屏幕,將顯示緩沖區(qū)DDRAM的內(nèi)容全部寫入空格(ASCII20H)。
9、光標復位,回到顯示器的左上角。地址計數(shù)器AC清零。,2.光標復位命令格式:,功能:設(shè)定當寫入一個字節(jié)后,光標的移動方向以及后面的內(nèi)容是否移動。當I/D=1時,光標從左向右移動;I/D=0時,光標從右向左移動。當S=1時,內(nèi)容移動,S=0時,內(nèi)容不移動。,3.輸入方式設(shè)置命令格式:,功能:設(shè)定當寫入一個字節(jié)后,光標的移動方向以及后面的內(nèi)容是否移動。當I/D=1時,光標從左向右移動;I/D=0時,光標從右向左移動。當S=1時,
10、內(nèi)容移動,S=0時,內(nèi)容不移動。,4.顯示開關(guān)控制命令格式:,功能:控制顯示的開關(guān),當D=1時顯示,D=0時不顯示??刂乒鈽碎_關(guān),當C=1時光標顯示,C=0時光標不顯示。控制字符是否閃爍,當B=1時字符閃爍,B=0時字符不閃爍。,5.光標移位置命令格式:,功能:移動光標或整個顯示字幕移位。當S/C=1時整個顯示字幕移位,當S/C=0時只光標移位。當R/L=1時光標右移,R/L=0時光標左移。,6.功能設(shè)置命令格式:,功能:
11、設(shè)置數(shù)據(jù)位數(shù),當DL=1時數(shù)據(jù)位為8位,DL=0時數(shù)據(jù)位為4位。設(shè)置顯示行數(shù),當N=1時雙行顯示,N=0時單行顯示。設(shè)置字形大小,當F=1時5×10點陣,F(xiàn)=0時為5×7點陣。,7.設(shè)置字庫CGRAM地址命令,格式:,功能:設(shè)置用戶自定義CGRAM的地址,對用戶自定義CGRAM訪問時,要先設(shè)定CGRAM的地址,地址范疇0~63。,8.顯示緩沖區(qū)DDRAM地址設(shè)置命令,格式:,功能:設(shè)置當前顯示緩沖區(qū)DDRAM的地
12、址,對DDRAM訪問時,要先設(shè)定DDRAM的地址,地址范疇0~127。,9.讀忙標志及地址計數(shù)器AC命令,格式:,功能:讀忙標志及地址計數(shù)器AC,當BF=1時則表示忙,這時不能接收命令和數(shù)據(jù);BF=0時表示不忙。低7位為讀出的AC的地址,值為0~127。,10.寫DDRAM或CGRAM命令格式:,功能:向DDRAM或CGRAM當前位置中寫入數(shù)據(jù)。對DDRAM或CGRAM寫入數(shù)據(jù)之前須設(shè)定DDRAM或CGRAM的地址。,11.讀DD
13、RAM或CGRAM命令格式:,功能:從DDRAM或CGRAM當前位置中讀郵數(shù)據(jù)。當DDRAM或CGRAM讀出數(shù)據(jù)時,先須設(shè)定DDRAM或CGRAM的地址。,四.LCD顯示器的初始化LCD使用之前須對它進行初始化,初始化可通過復位完成,也可在復位后完成,初始化過程如下:1.清屏。2.功能設(shè)置。3.開/關(guān)顯示設(shè)置。4.輸入方式設(shè)置。,9.1.2 LCD顯示器與單片機的接口與應(yīng)用,下圖是LCD顯示器與8051單片機的接口圖,圖中
14、RT-1602C的數(shù)據(jù)線與8051的P1口相連,RS與8051的P2.0相連,R/ W與8051的P2.1相連,E端與8051的P2.7相連。編程在LCD顯示器的第一行、第一列開始顯示“GOOD”,第二行、第6列開始顯示“BYE”。,匯編語言程序:RS BIT P2.0RW BIT P2.1E BIT P2.7ORG 00HAJMP STARTORG 50H;主程序START:M
15、OV SP,#50HACALL INITMOV A,#10000000B ;寫入顯示緩沖區(qū)起始地址為第1行第1列。ACALL WC51RMOV A,“G” ;第1行第1列顯示字母“G”。ACALL WC51DDRMOV A,“O” ;第1行第2列顯示字母“O”。ACALL WC51DDRMOV A,“O” ;第1行第3列顯示字母“O”。ACAL
16、L WC51DDRMOV A,“D” ;第1行第4列顯示字母“D”。ACALL WC51DDR,MOV A,#11000101B ;寫入顯示緩沖區(qū)起始地址為第2行第6列。ACALL WC51RMOV A,“B” ;第2行第6列顯示字母“B”。ACALL WC51DDRMOV A,“Y” ;第2行第7列顯示字母“Y”。ACALL WC51DDRMOV
17、 A,“E” ;第2行第8列顯示字母“E”。ACALL WC51DDRLOOP:AJMP LOOP;初始化子程序INIT:MOV A,#00000001H ;清屏ACALL WC51RMOV A,#00111000B ;使用8位數(shù)據(jù),顯示兩行,使用5*7的字型。LCALL WC51RMOV A,#00001110B ;顯示器開,光標開,字符不閃爍。LCALL WC51
18、RMOV A,#00000110B ;字符不動,光標自動右移一格。LCALL WC51RRET,;檢查忙子程序F_BUSY:PUSH ACC ;保護現(xiàn)場PUSH DPHPUSH DPLPUSH PSWWAIT:CLR RSSETB RWCLR ESETB EMOV A,P1CLR EJB ACC.7,WAIT ;忙,等待POP PSW
19、 ;不忙,恢復現(xiàn)場POP DPLPOP DPHPOP ACCACALL DELAYRET,;寫入命令子程序。WC51R:ACALL F_BUSYCLR ECLR RSCLR RWSETB EMOV P1,ACCCLR EACALL DELAYRET;寫入數(shù)據(jù)子程序。WC51DDR:ACALL F_BUSYCLR ESETB RSCLR RWS
20、ETB EMOV P1,ACCCLR EACALL DELAYRET,;延時子程序。DELAY:MOV R6,#5D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1RETEND,C語言編程:#include #define uchar unsigned charsbit RS=P2^0;sbit RW=P2^1;sbit E=P2^7;void delay(
21、void);void init(void);void wc5r(uchar i);void wc51ddr(uchar i);void fbusy(void);//主函數(shù)void main(){SP=0x50;init();wc51r(0x80); //寫入顯示緩沖區(qū)起始地址為第1行第1列wc51ddr(0x44); //第1行第1列顯示字母“G”wc51ddr(0
22、x4f); //第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行第
23、7列顯示字母“Y”wc51ddr(0x45); //第2行第8列顯示字母“E”while(1);}//初始化函數(shù)void init(){wc51r(0x01); //清屏wc51r(0x38); //使用8位數(shù)據(jù),顯示兩行,使用5*7的字型wc51r(0x0e); //顯示器開,光標開,字符不閃爍wc51r(0x06); //字符不動,
24、光標自動右移一格},//檢查忙函數(shù)void fbusy(){RS=0;RW=1;E=1;E=0;while (P1&0x80); //忙,等待delay();}//寫命令函數(shù)void wc51r(uchar j){fbusy();E=0;RS=0;RW=0;E=1;P1=j;E=0;delay();},//寫數(shù)據(jù)函數(shù)void wc51ddr(uchar j){fbus
25、y();E=0;RS=1;RW=0;E=1;P1=j;E=0;delay();}//延時函數(shù)void delay(){uchar y;for (y=0;y<0xff;y++){;}},9.2 MCS-51單片機與I2C總線芯片接口,9.2.1 I2C總線簡介,一.I2C總線的主要特點,I2C總線是由PHILIPS公司開發(fā)一種簡單、雙向二線制同步串行總線。它只需要兩根線即在連接于總線上的器件之間傳送信
26、息。這種總線的主要特點有:1.總線只有兩根線,即串行時鐘線(SCL)和串行數(shù)據(jù)線(SDA),這在設(shè)計中大大減少了硬件接口。2.每個連接到總線上的都有一個用于識別的器件地址,器件地址由芯片內(nèi)部硬件電路和外部地址引腳同時決定,避免了片選線的連接方法,并建立簡單的主從關(guān)系,每個器件既可以作為發(fā)送器,又可以作為接收器。3.同步時鐘允許器件以不同的波特率進行通信。4.同步時鐘可以作為停止或重新啟動串行口發(fā)送的握手信號。5.串行的數(shù)據(jù)傳輸
27、位速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下可達3.4Mbit/s。6.連接到同一總線的集成電路數(shù)只受400pF的最大總線電容的限制。,二.I2C總線的基本結(jié)構(gòu),,三.I2C總線信息傳送,當I2C總線沒有進行信息傳送時,數(shù)據(jù)線(SDA)和時鐘線(SCL)都為高電平時。當主控制器向某個器件傳送信息時,首先應(yīng)向總線送開始信號,然后才能傳送信息,當信息傳送結(jié)束時應(yīng)送結(jié)束信號,開始信號和結(jié)束信號規(guī)定如
28、下:開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。結(jié)束信號:SCL為高電平時,SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。,開始信號和結(jié)束信號之間傳送的是信息,信息的字節(jié)數(shù)沒有限制,但每個字節(jié)必須為8位,高位在前,低位在后。數(shù)據(jù)線SDA上每一位信息狀態(tài)的改變只能發(fā)生在時鐘線SCL為低電平的期間,因為SCL高電平的期間SDA狀態(tài)的改變已經(jīng)被用來表示開始信號和結(jié)束信號。每個字節(jié)后面必須接收一個應(yīng)答信號(ACK),A
29、CK是從控制器在接收到8位數(shù)據(jù)后向主控制器發(fā)出的特定的低電平脈沖,用以表示已收到數(shù)據(jù)。主控制器接收到應(yīng)答信號(ACK)后,可根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。若未收到ACK,則判斷為從控制器出現(xiàn)故障。具體情況如圖所示:,主控制器每次傳送的信息的第一個字節(jié)必須是器件地址碼,第二個字節(jié)為器件單元地址,用于實現(xiàn)選擇所操作的器件的內(nèi)部單元,從第三個字節(jié)開始為傳送的數(shù)據(jù)。其中器件地址碼格式如下:,四.I2C總線讀、寫操作1.當前地址讀該
30、操作將從所選器件當前地址讀,讀的字節(jié)數(shù)不指定,格式如下:,2.指定單元讀該操作將從所選器件指定地址讀,讀的字節(jié)數(shù)不指定,格式如下:,3.指定單元寫該操作將從所選器件指定地址寫,寫的字節(jié)數(shù)不指定,格式如下:,其中:S表示開始信號,A表示應(yīng)答信號,P表示結(jié)束信號。,9.2.2 I2C總線EEPROM芯片與單片機接口,一.串行EEPROM電路CAT24WCXX系列概述,CAT24WCXX系列是美國CATALYST公司出品的,包含1-25
31、6K位,支持I2C總線數(shù)據(jù)傳送協(xié)議的串行CMOS EEPROM芯片,可用電擦除,可編程自定義寫周期,自動擦除時間不超過10ms,典型時間為5ms。CAT24WCXX系列包含CAT24WC01/02/04/08/16/32/64/128/256共8種芯片,容量分別為1、2、4、8、16、32、64、128、256KB。串行EEPROM一般具有兩種寫入方式,一種是字節(jié)寫入方式,還有另一種頁寫入方式。允許在一個寫周期內(nèi)同時對1個字節(jié)到一頁的
32、若干字節(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管腳排列圖分別為如圖(
33、1)、(2)、(3)所示:,,其中:SCL:串行時鐘線。這是一個輸入管腳,用于形成器件所有數(shù)據(jù)發(fā)送或接收的時鐘。 SDA:串行數(shù)據(jù)/地址線。它是一個雙向傳輸線,用于傳送地址和所有數(shù)據(jù)的發(fā)送或接收。它是一個漏極開路端,因此要求接一個上拉電阻到Vcc端(速率為100KHz時電阻為10K?,400KHz時為1K?)。對于一般的數(shù)據(jù)傳輸,僅在SCL為低電平期間SDA才允許變化。SCL為高電平期間,留給開始信號(START)和停止信號(STO
34、P)。,A0、A1、A2:器件地址輸入端。這些輸入端用于多個器件級聯(lián)時設(shè)置器件地址,當這些腳懸空時默認值為0(CAT24WC01除外)。WP:寫保護。如果WP管腳連接到VCC,所有的內(nèi)容都被寫保護(只能讀)。當WP管腳連接到VSS或懸空,允許對器件進行正常的讀/寫操作。VCC:電源線。VSS:地線。,三.CAT24WCXX的器件地址,四.CAT24WCXX的寫操作,1.字節(jié)寫,2.頁寫,3.應(yīng)答查詢,可以利用內(nèi)部寫周期時禁止數(shù)據(jù)輸
35、入這一特性。一旦主器件發(fā)送停止位指示主器件操作結(jié)束時,CAT24WCXX啟動內(nèi)部寫周期,應(yīng)答查詢立即啟動,包括發(fā)送一個起始信號和進行寫操作的從器件地址。,4.寫保護,寫保護操作特性可使用戶避免由于不當操作而造成對存儲區(qū)域內(nèi)部數(shù)據(jù)的改寫,當WP管腳接高電平時,整個寄存器區(qū)全部被保護起來而變?yōu)橹豢勺x取。,五.CAT24WCXX的讀操作,1.當前地址讀,2.隨機地址讀,3.順序地址讀,六.CAT24WCXX與單片機的接口與編程,下圖是8051
36、單片機與串行EEPROM芯片CAT24WCXX的接口電路。圖中用的EEPROM芯片為CAT24WC04,其它芯片與單片機的連接與它相同。8051的P1.0、P1.1作為I2C總線與CAT24WC04的SDA和SCL相連,連接時注意I2C總線須通過電阻接電源。P1.3與WP相連。CAT24WC04的地址線A2、A1、A0直接接地。則片選編碼為000,CAT24WC04的器件地址碼的高7位為1010000。,編程(略),9.3 MCS-5
37、1單片機與時鐘日歷芯片接口,9.3.1 并行日歷時鐘芯片DS12887與單片機接口,一.DS12887主要功能(1)內(nèi)含一個鋰電池,斷電后運行十年以上不丟失數(shù)據(jù)。(2)計秒,分,時,天,星期,日,月,年,并有閏年補償功能。(3)二進制數(shù)碼或BCD碼表示時間,日歷和定鬧。(4)12小時或24小時制,12小時時鐘模式帶有PM和AM指示,有夏令時功能。(5)Motorola和Intel總線時序選擇。(6)有128個字節(jié)RAM單元
38、與軟件接口,其中:14個字節(jié)作為時鐘寄存器和控制寄存器,114字節(jié)為通用RAM,所有RAM單元數(shù)據(jù)都具有掉電保護功能。(7)可編程方波信號輸出。(8)中斷信號輸出(IRQ)和總線兼容,定鬧中斷、周期性中斷、時鐘更新周期結(jié)束中斷可分別由軟件屏蔽,也可分別進行測試。,二.DS12887基本原理及引腳說明 DS12887內(nèi)部由振蕩電路,分頻電路,周期中斷/方波選擇電路,14字節(jié)時鐘寄存器和控制寄存器,114字節(jié)用戶非易失RA
39、M,十進制/二進制累加器,總線接口電路,電源開關(guān)寫保護單元和內(nèi)部鋰電池等部分組成。DS12887引腳如圖所示:,,Vcc:直流電源+5V電壓。當Vcc電壓在正常范圍內(nèi)時,數(shù)據(jù)可讀寫;當Vcc低于4.25V,讀寫被禁止,計時功能仍繼續(xù);當Vcc下降到3V以下時,RAM和計時器供電被切換到內(nèi)部鋰電池。MOT(模式選擇):MOT引腳接到Vcc時,選擇MOTOROLA時序,當接到GND時,選擇Intel時序。SQW(方波輸出信號):SQW引
40、腳能從實時鐘內(nèi)部15級分頻器的13個抽頭中選擇一個作為輸出信號,其輸出頻率可通過對寄存器A編程改變。AD0-AD7(雙向地址/數(shù)據(jù)復用線):總線接口,可與Motorola微機系列和Intel微機系列接口。ALE(地址鎖存信號):在ALE的下降沿把AD0~AD7輸入的地址鎖存入DS12887。,(數(shù)據(jù)讀信號):低電平有效。,(數(shù)據(jù)寫信號):低電平有效。,(片選信號):在訪問DS12887的總線周期內(nèi),片選信號必須保持為低。,,,,(中
41、斷請求信號):低電平有效,可作微處理的中斷輸入。沒有中斷的條件滿足時, 處于高阻態(tài)。線是漏極開路輸入,要求外接上接電阻。,(復位信號):當該腳保持低電平時間大于200ms,保證DS12887有效復位。,三.內(nèi)部寄存器 DS12887的內(nèi)部有128個存儲單元,其中:10字節(jié)的存放實時時鐘時間、日歷和定鬧的RAM;4個字節(jié)的控制和狀態(tài)特殊寄存器;114字節(jié)的帶掉電保護的用戶RAM。幾乎所有的128個字節(jié)都可直接讀寫。1.時間
42、、日歷和定鬧單元,時間、日歷和定時鬧鐘通過寫相應(yīng)的存儲單元字節(jié)設(shè)置或初始化,當前時間和日歷信息通過讀相應(yīng)的存儲單元字節(jié)來獲取,其字節(jié)內(nèi)容可以是二進制或BCD形式。時間可選擇12小時制或24小時制,當選擇12小時制時,小時字節(jié)的高位邏輯“1”代表PM,邏輯“0”代表AM。時間、日歷和定鬧字節(jié)是雙緩沖的,總是可訪問的。每秒鐘這10個字節(jié)走時1秒,檢查一次定時鬧鐘條件,如在更新時,讀時間和日歷可能引起錯誤。,三個字節(jié)的定時鬧鐘字節(jié)有兩種使用方
43、法。第一種,當定時鬧鐘時間寫入相應(yīng)時、分、秒定鬧單元后,在定時鬧鐘允許位置“1”的條件下,定時鬧鐘中斷每天準時起動一次。第二種,在三個定時鬧鐘字節(jié)中填入特殊碼。特殊碼是從C0到FF的任意16進制數(shù)。當小時鬧鐘字節(jié)填入特殊碼時,定時鬧鐘為每小時中斷一次;當小時和分鐘鬧鐘字節(jié)填入特殊碼時,定時鬧鐘為每分鐘中斷一次;當三個定時鬧鐘字節(jié)都填入特殊碼時,每秒中斷一次。時間、日歷和定鬧單元的數(shù)據(jù)格式如表9.3所示。,2.寄存器A寄存器0AH的格式
44、如下:,UIP:更新(UIP)位用來標志芯片是否即將進行更新。當UIP位為1時,更新即將開始,這時不準對時鐘、日歷和鬧鐘信息寄存器進行讀/寫操作;當它為0時,表示在至少44μs內(nèi)芯片不會更新,此時,時鐘、日歷和鬧鐘信息可以通過讀寫相應(yīng)的字節(jié)獲得和設(shè)置。UIP位為只讀位,并且不受復位信號(RESET)的影響。通過把寄存器B中的SET位設(shè)置為1,可以禁止更新并將UIP位清0。DV0,DV1,DV2:這3位是用來開關(guān)晶體振蕩器和復位分頻器
45、。當[DV0 DV1 DV2]=[010]時,晶體振蕩器開啟并且保持時鐘運行;當[DV0 DV1 DV2]=[11X]時,晶體振蕩器開啟,但分頻器保持復位狀態(tài)。 RS3,RS2,RS1,RS0:中斷周期和SQW輸出頻率選擇位。4位編碼與中斷周期和SQW輸出頻率的對應(yīng)關(guān)系見下表:,3.寄存器B,寄存器0BH的格式如下:,SET:當SET=0,芯片更新正常進行;當SET=1,芯片更新被禁止。SET位可讀寫,并不會受復位信號的
46、影響。PIE:當PIE=0,禁止周期中斷輸出到 IRQ;當PIE=1,允許周期中斷輸出到 IRQ.,AIE:當AIE=0,禁止鬧鐘中斷輸出到IRQ ;當AIE=1,允許鬧鐘中斷輸出到 IRQ.,UIE:當UIE=0,禁止更新結(jié)束中斷輸出到 IRQ;當UIE=1,允許更新結(jié)束中斷輸出到IRQ 。此位在復位或設(shè)置SET為高時清0.,SQWE:當SQWE=0,SQW腳為低;當SQWE=1,SQW輸出設(shè)定頻率的方波。DM:DM=0,BCD;
47、DM=1,二進制,此位不受復位信號影響。24/12:此位為1,24時制;為0,12小時制,DSE:夏令時允許標志。在四月的第一個星期日的1∶59∶59AM,時鐘調(diào)到3∶00∶00AM;在十月的最后一個星期日的1∶59∶59AM,時鐘調(diào)到1∶00∶00AM。,4.寄存器C寄存器0CH的格式如下:,IRQF:當有以下情況中的一種或幾種發(fā)生時,中斷請求標志位(IRQF)置1;PF=PIE=1或AF=AIE=1或UF=UIE=1,既IRQ
48、F=PF·PIE+AF·AIE+UF·UIE,IRQF-旦置1,IRQ腳輸出低電平,送出中斷請求。所有標志位在讀寄存器C或復位后清0。PF:周期中斷標志。AF:鬧鐘中斷標志。UF:更新中斷標志。第0位到第3位無用,不能寫入,只能讀出,且讀出的值恒為0。,5.寄存器D寄存器0DH的格式如下:,VRT:當VRT=0時表示內(nèi)置電池能量耗盡,此時RAM中的數(shù)據(jù)的正確性就不能保證了。第0位到第6位無用,只
49、能讀出,且讀出的值恒為0。6.用戶RAM在DS12887中,114字節(jié)帶掉電保護RAM不專用一任何特殊功能,它們可被處理器程序用作非易失內(nèi)存,在更新周期也可訪問,它的地址范圍為0DH~7FH。如果片選地址CS =0F000H,則DS12887內(nèi)部128個存儲單元的地址為0F000H~0F07FH。,四.DS12887與單片機的接口,下圖是8051與DS12887的接口電路,DS12887的片選信號接P2.7,則DS12887的片內(nèi)1
50、28個單元的地址可為7F00H~7F7FH。,,DS12887的處理過程為:1.寄存器B的SET位置1,芯片停止工作。2.時間、日歷和定鬧單元置初值。3.讀寄存器C,以消除已有的中斷標志。4.讀寄存器D,使片內(nèi)寄存器和RAM數(shù)據(jù)有效。5.寄存器B的SET位清0,啟動DS12887開始工作。DS12887的驅(qū)動程序(略),9.3.2 串行日歷時鐘芯片與單片機接口,一.DS1302的主要性能指標,(1)DS1302實時時鐘具有
51、能計算2100年之前的秒、分、時、日、日期、星期、月、年的能力,還有閏年調(diào)整的能力。(2)內(nèi)部含有31個字節(jié)靜態(tài)RAM,可提供用戶訪問。(3)采用串行數(shù)據(jù)傳送方式,使得管腳數(shù)量最少,簡單3 線接口。(4)工作電壓范圍寬:2.0~5.5V。(5)工作電流:2.0V時,小于300nA。(6)時鐘或RAM數(shù)據(jù)的讀/寫有兩種傳送方式:單字節(jié)傳送和多字節(jié)傳送方式。(7)采用8腳DIP封裝或SOIC封裝。(8)與TTL兼容,Vcc=5
52、V。(9)可選工業(yè)級溫度范圍:-40?C~+85?C。(10)具有涓流充電能力。(11)采用主電源和備份電源雙電源供應(yīng)。(12)備份電源可由電池或大容量電容實現(xiàn)。,二.引腳功能DS1302的引腳如圖所示,,其中:X1、X2:32.768KHz晶振接入引腳。GND:地。 :復位引腳,低電平有效。I/O:數(shù)據(jù)輸入/輸出引腳,具有三態(tài)功能。SCLK:串行時鐘輸入引腳。Vcc1:工作電源引腳。Vcc2:備
53、用電源引腳。,,三.DS1302的寄存器及片內(nèi)RAM,DS1302有一個控制寄存器、12個日歷、時鐘寄存器和31個RAM。,1.控制寄存器,控制寄存器用于存放DS1302的控制命令字,DS1302的RST引腳回到高電平后寫入的第一個字就為控制命令。它用于對DS1302讀寫過程進行控制,它的格式如下:,其中:D7:固定為1D6:RAM/CK位,片內(nèi)RAM或日歷、時鐘寄存器選擇位。 D5~D1:地址位,用于選擇進行讀寫的日歷、時鐘寄存
54、器或片內(nèi)RAM。對日歷、時鐘寄存器或片內(nèi)RAM的選擇見表。,2.日歷、時鐘寄存器DS1302共有12個寄存器,其中有7個與日歷、時鐘相關(guān),存放的數(shù)據(jù)為BCD碼形式。日歷、時鐘寄存器的格式如表。,說明:(1)數(shù)據(jù)都以BCD碼形式。(2)小時寄存器的D7位為12小時制/24小時制的選擇位,當為1時選12小時制,當為0時選24小時制。當12小時制時,D5位為1是上午,D5位為0是下午,D4為小時的十位。當24小時制時,D5、D4位為小時
55、的十位。(3)秒寄存器中的CH位為時鐘暫停位,當為1時鐘暫停,為0時鐘開始啟動。(4)寫保護寄存器中的WP為寫保護位,當WP=1,寫保護,當WP=0未寫保護,當對日歷、時鐘寄存器或片內(nèi)RAM進行寫時WP應(yīng)清零,當對日歷、時鐘寄存器或片內(nèi)RAM進行讀時WP一般置1。(5)慢充電寄存器的TCS位為控制慢充電的選擇,當它為1010才能使慢充電工作。DS為二極管選擇位。DS為01選擇一個二極管,DS為10選擇二個二極管,DS為11或00充
56、電器被禁止,與TCS無關(guān)。RS用于選擇連接在VCC2與VCC1之間的電阻,RS為00,充電器被禁止,與TCS無關(guān),電阻選擇情況見表.,3.片內(nèi)RAMDS1302片內(nèi)有31個RAM單元,對片內(nèi)RAM的操作有兩種方式:單字節(jié)方式和多字節(jié)方式。當控制命令字為C0H~FDH時為單字節(jié)讀寫方式,命令字中的D5~D1用于選擇對應(yīng)的RAM單元,其中奇數(shù)為讀操作,偶數(shù)為寫操作。當控制命令字為FEH、FFH時為多字節(jié)操作(表9.5中的RAM突發(fā)模式),
57、多字節(jié)操作可一次把所有的RAM單元內(nèi)容進行讀寫。FEH為寫操作,F(xiàn)FH為讀操作。,DS1302通過RST引腳驅(qū)動輸入輸出過程,當置RST高電平啟動輸入輸出過程,在SCLK時鐘的控制下,首先把控制命令字寫入DS1302的控制寄存器,其次根據(jù)寫入的控制命令字,依次讀寫內(nèi)部寄存器或片內(nèi)RAM單元的數(shù)據(jù),對于日歷、時鐘寄存器,根據(jù)控制命令字,一次可以讀寫一個日歷、時鐘寄存器,也可以一次讀寫8個字節(jié),對所有的日歷、時鐘寄存器(表9.5中的時鐘突發(fā)
58、模式),寫的控制命令字為0BEH,讀的控制命令字為0BFH;對于片內(nèi)RAM單元,根據(jù)控制命令字,一次可讀寫一個字節(jié),一次也可讀寫31個字節(jié)。當數(shù)據(jù)讀寫完后,RST變?yōu)榈碗娖浇Y(jié)束輸入輸出過程。無論是命令字還是數(shù)據(jù),一個字節(jié)傳送時都是低位在前,高位在后,每一位的讀寫發(fā)生在時鐘的上升沿。,4.DS1302的輸入輸出過程,四、DS1302與單片機的接口,DS1302與單片機的連接僅需要3條線:時鐘線SCLK、數(shù)據(jù)線I/O和復位線 RST。連接圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- mcs-51單片機串行接口
- 第六章mcs-51單片機接口技術(shù)
- mcs-51單片機結(jié)構(gòu)介紹
- 第5章mcs-51單片機的輸入輸出通道接口
- mcs-51單片機結(jié)構(gòu)和原理
- 具有新型接口的MCS-51單片機實驗系統(tǒng)設(shè)計.pdf
- mcs-51單片機的串行通信口
- mcs-51單片機存儲器結(jié)構(gòu)
- mcs-51系列單片機課程設(shè)計
- mcs-51單片機溫度控制系統(tǒng)
- mcs-51單片機結(jié)構(gòu)及原理題解
- mcs-51單片機匯編指令集
- MCS-51單片機溫度控制系統(tǒng).doc
- MCS-51單片機溫度控制系統(tǒng).doc
- 51單片機畢業(yè)論文--基于mcs-51單片機的步進電機系統(tǒng)
- 基于MCS-51單片機的熱量計.pdf
- 第三章mcs-51單片機的指令系統(tǒng)
- 第九章
- 單片機課程設(shè)計--基于mcs-51單片機的溫度采集系統(tǒng)
- mcs-51單片機溫度控制系統(tǒng)簡介_secret
評論
0/150
提交評論