2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第九章 MCS-51單片機(jī)的其他接口,9.1 LCD與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、字?2行、20字?2行和40字?2行等的字符液晶顯示模塊。這些LCM雖然顯示字?jǐn)?shù)各不相同,但是都具有相同的輸入輸出界面。本節(jié)將以16?2字符型液晶顯示模塊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ù)/命令選擇端,高

3、電平時(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ù)極

4、,二.字符型液晶顯示模塊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顯示裝置,如圖所示:,控制器采用HD44780,驅(qū)動(dòng)器采用HD44100。HD44780是集控制器,驅(qū)動(dòng)器于一體,專用于字符顯示控制驅(qū)動(dòng)集成電路。HD44100是作擴(kuò)展顯示字符位的。HD44780是字符型液晶顯示控制器的代表電路。HD44780集成電路的特點(diǎn):1、可選擇5×

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è)字,也就是5?80=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外

6、擴(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ǔ)了

7、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ù)字“

8、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è)寄存器,選擇情況如表,總共有11條指令,它們的格式和功能如下:,1.清屏命令格式:,功能:清除屏幕,將顯示緩沖區(qū)DDRAM的內(nèi)容全部寫入空格(ASCII20H)。

9、光標(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)。,3.輸入方式設(shè)置命令格式:,功能:設(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í),

10、內(nèi)容移動(dòng),S=0時(shí),內(nèi)容不移動(dòng)。,4.顯示開關(guān)控制命令格式:,功能:控制顯示的開關(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)移位置命令格式:,功能:移動(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è)置命令格式:,功能:

11、設(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è)置字庫(kù)CGRAM地址命令,格式:,功能:設(shè)置用戶自定義CGRAM的地址,對(duì)用戶自定義CGRAM訪問時(shí),要先設(shè)定CGRAM的地址,地址范疇0~63。,8.顯示緩沖區(qū)DDRAM地址設(shè)置命令,格式:,功能:設(shè)置當(dāng)前顯示緩沖區(qū)DDRAM的地

12、址,對(duì)DDRAM訪問時(shí),要先設(shè)定DDRAM的地址,地址范疇0~127。,9.讀忙標(biāo)志及地址計(jì)數(shù)器AC命令,格式:,功能:讀忙標(biāo)志及地址計(jì)數(shù)器AC,當(dāng)BF=1時(shí)則表示忙,這時(shí)不能接收命令和數(shù)據(jù);BF=0時(shí)表示不忙。低7位為讀出的AC的地址,值為0~127。,10.寫DDRAM或CGRAM命令格式:,功能:向DDRAM或CGRAM當(dāng)前位置中寫入數(shù)據(jù)。對(duì)DDRAM或CGRAM寫入數(shù)據(jù)之前須設(shè)定DDRAM或CGRAM的地址。,11.讀DD

13、RAM或CGRAM命令格式:,功能:從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.2 LCD顯示器與單片機(jī)的接口與應(yīng)用,下圖是LCD顯示器與8051單片機(jī)的接口圖,圖中

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 ;顯示器開,光標(biāo)開,字符不閃爍。LCALL WC51

18、RMOV A,#00000110B ;字符不動(dòng),光標(biāo)自動(dòng)右移一格。LCALL WC51RRET,;檢查忙子程序F_BUSY:PUSH ACC ;保護(hù)現(xiàn)場(chǎng)PUSH DPHPUSH DPLPUSH PSWWAIT:CLR RSSETB RWCLR ESETB EMOV A,P1CLR EJB ACC.7,WAIT ;忙,等待POP PSW

19、 ;不忙,恢復(fù)現(xiàn)場(chǎng)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,;延時(shí)子程序。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); //顯示器開,光標(biāo)開,字符不閃爍wc51r(0x06); //字符不動(dòng),

24、光標(biāo)自動(dòng)右移一格},//檢查忙函數(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í)函數(shù)void delay(){uchar y;for (y=0;y<0xff;y++){;}},9.2 MCS-51單片機(jī)與I2C總線芯片接口,9.2.1 I2C總線簡(jiǎn)介,一.I2C總線的主要特點(diǎn),I2C總線是由PHILIPS公司開發(fā)一種簡(jiǎn)單、雙向二線制同步串行總線。它只需要兩根線即在連接于總線上的器件之間傳送信

26、息。這種總線的主要特點(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ù)傳輸

27、位速率在標(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ī)定如

28、下:開始信號(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),A

29、CK是從控制器在接收到8位數(shù)據(jù)后向主控制器發(fā)出的特定的低電平脈沖,用以表示已收到數(shù)據(jù)。主控制器接收到應(yīng)答信號(hào)(ACK)后,可根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到ACK,則判斷為從控制器出現(xiàn)故障。具體情況如圖所示:,主控制器每次傳送的信息的第一個(gè)字節(jié)必須是器件地址碼,第二個(gè)字節(jié)為器件單元地址,用于實(shí)現(xiàn)選擇所操作的器件的內(nèi)部單元,從第三個(gè)字節(jié)開始為傳送的數(shù)據(jù)。其中器件地址碼格式如下:,四.I2C總線讀、寫操作1.當(dāng)前地址讀該

30、操作將從所選器件當(dāng)前地址讀,讀的字節(jié)數(shù)不指定,格式如下:,2.指定單元讀該操作將從所選器件指定地址讀,讀的字節(jié)數(shù)不指定,格式如下:,3.指定單元寫該操作將從所選器件指定地址寫,寫的字節(jié)數(shù)不指定,格式如下:,其中:S表示開始信號(hào),A表示應(yīng)答信號(hào),P表示結(jié)束信號(hào)。,9.2.2 I2C總線EEPROM芯片與單片機(jī)接口,一.串行EEPROM電路CAT24WCXX系列概述,CAT24WCXX系列是美國(guó)CATALYST公司出品的,包含1-25

31、6K位,支持I2C總線數(shù)據(jù)傳送協(xié)議的串行CMOS EEPROM芯片,可用電擦除,可編程自定義寫周期,自動(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é)到一頁的

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í)鐘線。這是一個(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)(STO

34、P)。,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的器件地址,四.CAT24WCXX的寫操作,1.字節(jié)寫,2.頁寫,3.應(yīng)答查詢,可以利用內(nèi)部寫周期時(shí)禁止數(shù)據(jù)輸

35、入這一特性。一旦主器件發(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)前地址讀,2.隨機(jī)地址讀,3.順序地址讀,六.CAT24WCXX與單片機(jī)的接口與編程,下圖是8051

36、單片機(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。,編程(略),9.3 MCS-5

37、1單片機(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單元

38、與軟件接口,其中: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é)用戶非易失RA

39、M,十進(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引

40、腳能從實(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)必須保持為低。,,,,(中

41、斷請(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í)間

42、、日歷和定鬧單元,時(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é)有兩種使用方

43、法。第一種,當(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所示。,2.寄存器A寄存器0AH的格式

44、如下:,UIP:更新(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ù)位分頻器

45、。當(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)系見下表:,3.寄存器B,寄存器0BH的格式如下:,SET:當(dāng)SET=0,芯片更新正常進(jìn)行;當(dāng)SET=1,芯片更新被禁止。SET位可讀寫,并不會(huì)受復(fù)位信號(hào)的

46、影響。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;

47、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的格式如下:,IRQF:當(dāng)有以下情況中的一種或幾種發(fā)生時(shí),中斷請(qǐng)求標(biāo)志位(IRQF)置1;PF=PIE=1或AF=AIE=1或UF=UIE=1,既IRQ

48、F=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的格式如下:,VRT:當(dāng)VRT=0時(shí)表示內(nèi)置電池能量耗盡,此時(shí)RAM中的數(shù)據(jù)的正確性就不能保證了。第0位到第6位無用,只

49、能讀出,且讀出的值恒為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)1

50、28個(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í)鐘具有

51、能計(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=5

52、V。(9)可選工業(yè)級(jí)溫度范圍:-40?C~+85?C。(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:備

53、用電源引腳。,,三.DS1302的寄存器及片內(nèi)RAM,DS1302有一個(gè)控制寄存器、12個(gè)日歷、時(shí)鐘寄存器和31個(gè)RAM。,1.控制寄存器,控制寄存器用于存放DS1302的控制命令字,DS1302的RST引腳回到高電平后寫入的第一個(gè)字就為控制命令。它用于對(duì)DS1302讀寫過程進(jìn)行控制,它的格式如下:,其中:D7:固定為1D6:RAM/CK位,片內(nèi)RAM或日歷、時(shí)鐘寄存器選擇位。 D5~D1:地址位,用于選擇進(jìn)行讀寫的日歷、時(shí)鐘寄存

54、器或片內(nèi)RAM。對(duì)日歷、時(shí)鐘寄存器或片內(nèi)RAM的選擇見表。,2.日歷、時(shí)鐘寄存器DS1302共有12個(gè)寄存器,其中有7個(gè)與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)為BCD碼形式。日歷、時(shí)鐘寄存器的格式如表。,說明:(1)數(shù)據(jù)都以BCD碼形式。(2)小時(shí)寄存器的D7位為12小時(shí)制/24小時(shí)制的選擇位,當(dāng)為1時(shí)選12小時(shí)制,當(dāng)為0時(shí)選24小時(shí)制。當(dāng)12小時(shí)制時(shí),D5位為1是上午,D5位為0是下午,D4為小時(shí)的十位。當(dāng)24小時(shí)制時(shí),D5、D4位為小時(shí)

55、的十位。(3)秒寄存器中的CH位為時(shí)鐘暫停位,當(dāng)為1時(shí)鐘暫停,為0時(shí)鐘開始啟動(dòng)。(4)寫保護(hù)寄存器中的WP為寫保護(hù)位,當(dāng)WP=1,寫保護(hù),當(dāng)WP=0未寫保護(hù),當(dāng)對(duì)日歷、時(shí)鐘寄存器或片內(nèi)RAM進(jìn)行寫時(shí)WP應(yīng)清零,當(dāng)對(duì)日歷、時(shí)鐘寄存器或片內(nèi)RAM進(jìn)行讀時(shí)WP一般置1。(5)慢充電寄存器的TCS位為控制慢充電的選擇,當(dāng)它為1010才能使慢充電工作。DS為二極管選擇位。DS為01選擇一個(gè)二極管,DS為10選擇二個(gè)二極管,DS為11或00充

56、電器被禁止,與TCS無關(guān)。RS用于選擇連接在VCC2與VCC1之間的電阻,RS為00,充電器被禁止,與TCS無關(guān),電阻選擇情況見表.,3.片內(nèi)RAMDS1302片內(nèi)有31個(gè)RAM單元,對(duì)片內(nèi)RAM的操作有兩種方式:?jiǎn)巫止?jié)方式和多字節(jié)方式。當(dāng)控制命令字為C0H~FDH時(shí)為單字節(jié)讀寫方式,命令字中的D5~D1用于選擇對(duì)應(yīng)的RAM單元,其中奇數(shù)為讀操作,偶數(shù)為寫操作。當(dāng)控制命令字為FEH、FFH時(shí)為多字節(jié)操作(表9.5中的RAM突發(fā)模式),

57、多字節(jié)操作可一次把所有的RAM單元內(nèi)容進(jìn)行讀寫。FEH為寫操作,F(xiàn)FH為讀操作。,DS1302通過RST引腳驅(qū)動(dòng)輸入輸出過程,當(dāng)置RST高電平啟動(dòng)輸入輸出過程,在SCLK時(shí)鐘的控制下,首先把控制命令字寫入DS1302的控制寄存器,其次根據(jù)寫入的控制命令字,依次讀寫內(nèi)部寄存器或片內(nèi)RAM單元的數(shù)據(jù),對(duì)于日歷、時(shí)鐘寄存器,根據(jù)控制命令字,一次可以讀寫一個(gè)日歷、時(shí)鐘寄存器,也可以一次讀寫8個(gè)字節(jié),對(duì)所有的日歷、時(shí)鐘寄存器(表9.5中的時(shí)鐘突發(fā)

58、模式),寫的控制命令字為0BEH,讀的控制命令字為0BFH;對(duì)于片內(nèi)RAM單元,根據(jù)控制命令字,一次可讀寫一個(gè)字節(jié),一次也可讀寫31個(gè)字節(jié)。當(dāng)數(shù)據(jù)讀寫完后,RST變?yōu)榈碗娖浇Y(jié)束輸入輸出過程。無論是命令字還是數(shù)據(jù),一個(gè)字節(jié)傳送時(shí)都是低位在前,高位在后,每一位的讀寫發(fā)生在時(shí)鐘的上升沿。,4.DS1302的輸入輸出過程,四、DS1302與單片機(jī)的接口,DS1302與單片機(jī)的連接僅需要3條線:時(shí)鐘線SCLK、數(shù)據(jù)線I/O和復(fù)位線 RST。連接圖

溫馨提示

  • 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論