![第8章51單片機(jī)的常用外擴(kuò)模塊21602與DS1302_第1頁](http://file4.renrendoc.com/view/f9fa530db7f4ea1628f59582fb6c16ec/f9fa530db7f4ea1628f59582fb6c16ec1.gif)
![第8章51單片機(jī)的常用外擴(kuò)模塊21602與DS1302_第2頁](http://file4.renrendoc.com/view/f9fa530db7f4ea1628f59582fb6c16ec/f9fa530db7f4ea1628f59582fb6c16ec2.gif)
![第8章51單片機(jī)的常用外擴(kuò)模塊21602與DS1302_第3頁](http://file4.renrendoc.com/view/f9fa530db7f4ea1628f59582fb6c16ec/f9fa530db7f4ea1628f59582fb6c16ec3.gif)
![第8章51單片機(jī)的常用外擴(kuò)模塊21602與DS1302_第4頁](http://file4.renrendoc.com/view/f9fa530db7f4ea1628f59582fb6c16ec/f9fa530db7f4ea1628f59582fb6c16ec4.gif)
![第8章51單片機(jī)的常用外擴(kuò)模塊21602與DS1302_第5頁](http://file4.renrendoc.com/view/f9fa530db7f4ea1628f59582fb6c16ec/f9fa530db7f4ea1628f59582fb6c16ec5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
8.3.1602液晶顯示器介紹
8.3.11602液晶簡介
1.特點(diǎn)(1)液晶顯示屏是以若干個58或511點(diǎn)陣塊組成的顯示字符群。每個點(diǎn)陣塊為一個字符位,字符間距和行距都為一個點(diǎn)的寬度。(2)主控制驅(qū)動電路為HD44780或其他全兼容電路,如SED1278(SEIKOEPSON)、KS0066(SAMSUNG)、NJU6408(NERJAPANRADIO)。(3)具有字符發(fā)生器ROM可顯示192種字符(160個57點(diǎn)陣字符和32個510點(diǎn)陣字符。(4)具有64個字節(jié)的自定義字符RAM,可自定義8個58點(diǎn)陣字符或四個511點(diǎn)陣字符。(5)具有80個字節(jié)的RAM。(7)單+5V電源供電。作者:夏路易電子工業(yè)出版所有2.引腳功能引腳號符號狀態(tài)功能1Vss
電源地2Vdd
+5V邏輯電源3V0
對比度控制4RS輸入寄存器選擇,1:數(shù)據(jù);0:指令5R/W輸入讀、寫操作選擇,1:讀;0:寫6E輸入使能信號,高電平或是下降邊沿有效7D0三態(tài)數(shù)據(jù)總線(LSB)8D1三態(tài)數(shù)據(jù)總線9D2三態(tài)數(shù)據(jù)總線10D3三態(tài)數(shù)據(jù)總線11D4三態(tài)數(shù)據(jù)總線12D5三態(tài)數(shù)據(jù)總線13D6三態(tài)數(shù)據(jù)總線14D7三態(tài)數(shù)據(jù)總線(MSB)15LEDA輸入背光+5V有些液晶沒有背光,有些引腳與此不同16LEDK輸入背光地作者:夏路易電子工業(yè)出版所有8.3.21602液晶中的顯示驅(qū)動芯片HD447801.1602液晶結(jié)構(gòu)與信號HD44780是驅(qū)動器與控制器一體的專用字符液晶顯示控制驅(qū)動集成電路,是字符液晶顯示控制器的代表芯片。該芯片內(nèi)集成了顯示緩沖區(qū)和用戶定義的字符發(fā)生器CGRAM,具有簡單但功能強(qiáng)的指令,可以實(shí)現(xiàn)字符移動、閃爍等顯示功能。(1)接口信號D7~D4三態(tài)總線,8位數(shù)據(jù)總線的高4位,可以作為4位數(shù)據(jù)總線使用D3~D0三態(tài)總線,8位數(shù)據(jù)總線的低4位,4位數(shù)據(jù)總線時無用在4位數(shù)據(jù)總線情況下單片機(jī)向HD44780發(fā)送指令和數(shù)據(jù)時,先傳輸高4位,再傳輸?shù)?位。接口控制信號為RS、R/W和E,他們之間的關(guān)系如下表所示。寄存器選擇RS讀寫R/W使能信號E功能00下降沿有效寫指令代碼01高電平有效讀忙標(biāo)志和AC碼10下降沿有效寫數(shù)據(jù)11高電平有效讀數(shù)據(jù)作者:夏路易電子工業(yè)出版所有(2)時鐘HD44780時鐘頻率范圍是125kHz~350kHz,典型時鐘范圍是250kHz。(3)芯片內(nèi)部邏輯實(shí)現(xiàn)初始化操作在上電后,芯片內(nèi)部邏輯實(shí)現(xiàn)初始化操作:清屏初始化設(shè)置為8位總線接口、1行、5×7字符顯示關(guān)顯示地址計(jì)數(shù)器設(shè)置為自動加1模式在初始化過程中。忙標(biāo)志BF保持為1,直到初始化結(jié)束。(4)地址計(jì)數(shù)器AC地址計(jì)數(shù)器AC是顯示緩沖區(qū)DDRAM或字符發(fā)生器CDRAM的地址,在寫或讀之后,還有地址加1或減1功能;該計(jì)數(shù)器還指示當(dāng)前光標(biāo)位置。AC值可以通過讀操作讀出。作者:夏路易電子工業(yè)出版所有(5)光標(biāo)閃爍光標(biāo)以底線形式在字符位置的第8行閃爍,但也可以是字符閃爍,可由指令設(shè)置。(6)字符發(fā)生器CGROM與CGRAMCGROM中存儲有出廠時就固化好的字模庫,包含有160種5×7點(diǎn)陣的字模和32種5×10點(diǎn)陣的字模。在內(nèi)部時序的控制下,顯示緩沖區(qū)DDRAM中的字符代碼與行計(jì)數(shù)器合成CGROM的地址。CGRAM是可讀、可寫的用戶自定義字符發(fā)生器,容量有64字節(jié),地址位00H~03H,只能自定義8個5×8點(diǎn)陣字符,字符代碼取值范圍為00H~07H。作者:夏路易電子工業(yè)出版所有字符發(fā)生器CGROM作者:夏路易電子工業(yè)出版所有(7)DDRAM顯示緩沖區(qū)DDRAM用于存儲顯示字符的代碼,共有80個字節(jié),地址計(jì)數(shù)器AC的數(shù)值是DDRAM的地址,DDRAM中的代碼是字符發(fā)生器CGRAM或CGROM地址的高8位,而地址的低3位或4位由行計(jì)數(shù)器提供,DDRAM中的各個單元對應(yīng)著顯示屏上的各個字符位,對應(yīng)關(guān)系如下:列位置12345678910111213141516第1行000102030405060708090A0B0C0D0E0F第2行404142434445464748494A4B4C4D4E4F在確定字符位置時,還需要考慮最高位是1的格式要求,比如第二行第一個字符的地址是40H,由于寫入顯示地址時要求最高位D7為高電平1,所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。作者:夏路易電子工業(yè)出版所有1602指令簡述如下:(1)清屏(0x01)把空碼20H寫入DDRAM的全部單元。地址計(jì)數(shù)器AC清零,光標(biāo)歸位。設(shè)置I/D=1,使AC處于自動加1模式。(2)歸位(0x02)使AC清零,還可以使發(fā)生位移的畫面返回00H處顯示,光標(biāo)或是閃爍將回到原點(diǎn)00H處。(3)輸入方式(0000,01,I/D,S)該指令設(shè)置單片機(jī)讀、寫DDRAM或CGRAM后,AC的變化方向,該指令有兩個參數(shù):I/D:I/D=1AC自動加1,光標(biāo)右移;I/D=0AC自動減1,光標(biāo)左移。S:設(shè)置在寫入DDRAM數(shù)據(jù)后,顯示屏上的畫面全部向左或向右平移一個字符位。S=0:無效,S=1有效。S=1、I/D=1,畫面左移。S=1、I/D=0,畫面右移。作者:夏路易電子工業(yè)出版所有(4)顯示開關(guān)控制(0000,1,D,C,B)該指令控制顯示效果,帶有三個參數(shù):D:顯示開關(guān),D=1時,允許顯示屏顯示;D=0,不允許顯示屏顯示。C:光標(biāo)開關(guān),C=1時,允許顯示屏顯示光標(biāo);C=0時,不允許顯示光標(biāo)。光標(biāo)位置由AC控制。B:閃爍開關(guān),使一個字符位交替全亮或是全暗,閃爍頻率為2.4Hz。閃爍位置由AC控制。B=1,閃爍;B=0,不閃爍。(5)光標(biāo)或畫面位移(0001,S/C,R/L,0,0)執(zhí)行該指令時,光標(biāo)或顯示屏上的畫面將左移或右移一個字符位置。S/C:位移對象選擇,S/C=1時,畫面位移,S/C=0時光標(biāo)位移。R/L:位移方向選擇,R/L=1時為右移,R/L=0時為左移。(6)功能設(shè)置(001,DL,N,F(xiàn),00)該指令HD44780的初始化設(shè)置指令,單片機(jī)必須使用這條指令初始化HD44780,該指令有三個參數(shù):DL:總線數(shù)據(jù)位數(shù),DL=0,總線為4位,DL=1,總線為8位。N:顯示屏顯示行數(shù),N=0為1行,N=1為2行。F:字符格式,F(xiàn)=0為5×7點(diǎn)陣,F(xiàn)=1為5×10。作者:夏路易電子工業(yè)出版所有(7)CGRAM地址設(shè)置(指令碼:01A5,A4,A3,A2,A1,A0)該指令將CGRAM的6位地址碼00H~3FH寫入地址計(jì)數(shù)器AC內(nèi),隨后單片機(jī)將對CGRAM操作。(8)DDRAM地址設(shè)置(指令碼:0A6,A5,A4,A3,A2,A1,A0)該指令將DDRAM的7位地址碼送入地址計(jì)數(shù)器AC內(nèi),隨后單片機(jī)對DDRAM操作,DDRAM的地址范圍是:N=0(1行字符)00H~4FHN=1(2行字符)第1行:00H~27H,第2行:40H~67H(9)DF與AC當(dāng)單片機(jī)讀操作時(RS=0,R/W=1),讀出1位忙標(biāo)志(BF)和7位地址計(jì)數(shù)器AC的組合,格式為:D7D6D5D4D3D2D1D0BFAC6AC5AC4AC3AC2AC1AC0其中AC的值可以是DDRAM的地址,也可以是CGRAM的地址。作者:夏路易電子工業(yè)出版所有(10)寫入DDRAM或是CGRAM單片機(jī)把要寫入DDRAM或CGRAM的數(shù)據(jù)寫入HD44780中,需要首先寫入地址設(shè)置指令,選擇DDRAM或是CGRAM,然后是設(shè)置地址計(jì)數(shù)器AC的自動修改方式。(11)讀取DDRAM或是CGRAM單片機(jī)讀取當(dāng)前AC計(jì)數(shù)值所指單元的內(nèi)容。3.1602液晶與51單片機(jī)的接線1602液晶與51單片機(jī)的接線如圖所示。作者:夏路易電子工業(yè)出版所有8.3.351單片機(jī)控制1602液晶顯示例題
[例題8-7]本例的程序是51單片機(jī)向1602液晶寫入兩屏數(shù)據(jù)。數(shù)據(jù)總線連接51單片機(jī)的P0口,控制引腳RS(L_RS)連接P2_0,R/W(L_RW)連接P2_1,E(L_EP)連接P2_2。單片機(jī)時鐘頻率11.0592MHz。源程序如下:#include<AT89X51.H>#include<intrins.h>//具有_nop_()函數(shù)的庫文件typedefunsignedcharzj;//重定義數(shù)據(jù)類型zj為無符號字符型sbitL_RS=P2^0;//定義控制信號L_RS連接的引腳sbitL_RW=P2^1;//定義控制信號L_RW連接的引腳sbitL_EP=P2^2;//定義控制信號L_EP(E)連接的引腳zjcodedis1[]={"shanxitaiyuan"};//寫入液晶的字符串?dāng)?shù)組zjcodedis2[]={"TYUTAuto.Dept."};//寫入液晶的字符串?dāng)?shù)組zjcodedis3[]={"0123456789abcdef"};//寫入液晶的字符串?dāng)?shù)組zjcodedis4[]={"file:yj1602zz1."};//寫入液晶的字符串?dāng)?shù)組delay(intms)//延時函數(shù){inti;while(ms--){for(i=0;i<250;i++){_nop_();_nop_();_nop_();_nop_();}//_nop_()空操作}}作者:夏路易電子工業(yè)出版所有bityj_bz()//測試液晶忙狀態(tài)檢測函數(shù),返回“位”類型{bitresult;L_RS=0;L_RW=1;L_EP=1;_nop_();_nop_();_nop_();_nop_();result=(bit)(P0&0x80);//將P0口的最高位取出,并強(qiáng)制為位類型L_EP=0;returnresult;//返回液晶忙標(biāo)志}yj_wcmd(zjcmd)//向LCD寫入指令函數(shù){while(yj_bz());//當(dāng)忙等待L_RS=0;L_RW=0;L_EP=0;_nop_();_nop_();P0=cmd;//將命令寫入P0口_nop_();_nop_();_nop_();_nop_();L_EP=1;_nop_();_nop_();_nop_();_nop_();L_EP=0;}yj_pos(zjpos)//設(shè)定字符顯示位置函數(shù){yj_wcmd(pos|0x80);//調(diào)用寫命令函數(shù),寫入位置值}作者:夏路易電子工業(yè)出版所有yj_wdat(zjdat)//向LCD寫入字符(一個字節(jié)數(shù)據(jù))函數(shù){while(yj_bz());L_RS=1;L_RW=0;L_EP=0;P0=dat;//將顯示數(shù)據(jù)寫入P0口_nop_();_nop_();_nop_();_nop_();L_EP=1;_nop_();_nop_();_nop_();_nop_();L_EP=0;}yj_init()//軟件初始化函數(shù){yj_wcmd(0x38);//16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù),(001,DL=1,N=0,F(xiàn)=0,00)delay(1);yj_wcmd(0x0c);//顯示開,關(guān)光標(biāo),不閃爍(0000,1,D=1,C=0,B=0)delay(1);yj_wcmd(0x06);//增量方式移動光標(biāo)(0000,0,1,I/D=0,S=0)delay(1);yj_wcmd(0x01);//清除液晶的顯示內(nèi)容,AC與DDRAM初始化delay(1);}作者:夏路易電子工業(yè)出版所有main()//主函數(shù){zji;//定義無符號字符變量iyj_init();//調(diào)用初始化函數(shù),軟件初始化LCDdelay(10);while(1)//無限循環(huán){yj_wcmd(0x06);//調(diào)用寫命令函數(shù),向右移動光標(biāo)(增量)yj_pos(0);//調(diào)用顯示位置函數(shù),設(shè)置顯示位置為第一行的第1個字符i=0;//循環(huán)變量初始化while(dis1[i]!='\0')//如果沒有遇到結(jié)束符,則顯示字符"shanxitaiyuan"{yj_wdat(dis1[i]);//調(diào)用寫數(shù)據(jù)函數(shù),向液晶寫字符,由于是增量方式,所以AC自動加1i++;delay(10);//設(shè)置兩字符之間顯示速度}yj_pos(0x40);//調(diào)用顯示位置函數(shù),設(shè)置顯示位置為第二行第1個字符i=0;while(dis2[i]!='\0')//顯示字符"TYUTAuto.Dept."{yj_wdat(dis2[i]);//調(diào)用寫數(shù)據(jù)函數(shù),向液晶寫字符,由于是增量方式,所以AC自動加1i++;delay(10);//設(shè)置兩字之間顯示速度}作者:夏路易電子工業(yè)出版所有delay(300);//設(shè)置本屏的停留時間yj_wcmd(0x01);//調(diào)用寫命令函數(shù),清除液晶前1屏的顯示內(nèi)容delay(1);yj_wcmd(0x06);//調(diào)用寫命令函數(shù),向右移動光標(biāo)yj_pos(0);//調(diào)用顯示位置函數(shù),設(shè)置顯示位置為第一行的第1個字符i=0;while(dis3[i]!='\0')//顯示字符"0123456789abcdef"{yj_wdat(dis3[i]);//調(diào)用寫數(shù)據(jù)函數(shù),向液晶寫字符,i++;delay(10);//設(shè)置兩字之間顯示速度}yj_pos(0x40);//調(diào)用顯示位置函數(shù),設(shè)置顯示位置為第二行的第1個字符i=0;while(dis4[i]!='\0'){yj_wdat(dis4[i]);//調(diào)用寫數(shù)據(jù)函數(shù),將字符"file:yj1602zz1."寫入LCDi++;delay(10);//設(shè)置兩字之間顯示速度}delay(300);//設(shè)置本屏顯示停留時間yj_wcmd(0x01);//調(diào)用寫命令函數(shù),清除液晶的顯示內(nèi)容delay(100);//控制兩屏轉(zhuǎn)換時間}}
作者:夏路易電子工業(yè)出版所有8.4實(shí)時時鐘芯片DS13028.4.1DS1302工作原理
DS1302是低功耗、帶RAM的實(shí)時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計(jì)時,具有閏年補(bǔ)償功能,工作電壓為2.0V~5.0V。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。采用三線接口與單片機(jī)進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302具有主電源與后備電源引腳,同時提供了對后備電源進(jìn)行涓細(xì)電流充電的能力。該芯片在保留RAM數(shù)據(jù)或是時鐘信息的情況下,芯片功耗很低,小于1μW。1.DS1302具有如下特點(diǎn)(1)對年、月、日、周日、時、分、秒進(jìn)行計(jì)時,在2100年以前具有閏年補(bǔ)償功能。(2)具有31x8RAM。(3)三線串行通信。(4)2.0V到5.0V的工作電壓。(5)在2.0V時的工作電流小于300nA。(6)對于時鐘與RAM可以進(jìn)行單字節(jié)或是多字節(jié)讀寫。(7)8引腳DIP封裝與貼片封裝。(8)VCC=5V時,I/O引腳與TTL兼容。(9)工作溫度為-40°Cto+85°C。作者:夏路易電子工業(yè)出版所有DS1302由電源控制、輸入移位寄存器、命令與控制邏輯、振蕩與分頻、實(shí)時時鐘與RAM等模塊組成,其中輸入移位寄存器用于輸入和輸出命令與數(shù)據(jù),命令與控制邏輯用于解釋命令并控制讀寫時鐘與RAM的操作;振蕩器產(chǎn)生時鐘,分頻成1s的脈沖后輸入實(shí)時時鐘模塊生成秒、分、時、日期、月、星期和年。作者:夏路易電子工業(yè)出版所有該芯片有8個引腳,其中Vcc1為后備電源引腳,Vcc2為主電源引腳。在主電源關(guān)閉的情況下,后備電源也能保持時鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。CE是復(fù)位/片選輸入線,CE為高電平啟動讀寫數(shù)據(jù)操作。該電阻具40k電阻下拉到地線。I/O為串行數(shù)據(jù)輸入輸出引腳(雙向)。該引腳與地之間有40k的下拉電阻。SCLK是時鐘輸入引腳。該引腳有40k的下拉電阻到地。X1和X2引腳用于外接32.768kHz晶振。由于內(nèi)部已經(jīng)集成了6pF的電容,因此外部不需要再連接電容
作者:夏路易電子工業(yè)出版所有4.命令字節(jié)每一數(shù)據(jù)傳送都需要由命令字節(jié)初始化,命令字節(jié)的最高位(位7)必須為1;位6為表示對時鐘數(shù)據(jù)操作,為1表示對RAM數(shù)據(jù)操作;位1~5指定讀寫操作的寄存器;位0為0表示寫操作,為1表示讀操作;命令字節(jié)總是從最低有效位開始傳送。命令字節(jié)格式如下:位76543210
1RAMA4A3A2A1A0RDCKWR5.芯片復(fù)位與時鐘控制CE復(fù)位引腳有兩種功能:第1是CE引腳接通控制邏輯,允許地址/命令序列送入移位寄存器;第2是CE引腳可以提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送。當(dāng)CE為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。時鐘周期是下降沿跟隨上升沿的序列,對于數(shù)據(jù)輸入,則在時鐘上升沿時數(shù)據(jù)必須有效,輸出數(shù)據(jù)時,數(shù)據(jù)在時鐘的下降沿輸出。如果在傳送過程中CE引腳置為低電平,則會終止此次數(shù)據(jù)傳送,使I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時,在Vcc≥2.0V之前,CE必須保持低電平。只有在SCLK為低電平時,才能將CE置為高電平作者:夏路易電子工業(yè)出版所有6.數(shù)據(jù)輸入緊跟寫命令字節(jié)后的8個SCLK之后的8個SCLK周期的上升沿將數(shù)據(jù)寫入DS1302,數(shù)據(jù)從低位開始寫入。7.數(shù)據(jù)輸出緊跟寫命令字節(jié)后的8個SCLK之后的8個SCLK周期的下降沿,數(shù)據(jù)從DS1302輸出。輸出的第1個數(shù)據(jù)位出現(xiàn)在寫命令字節(jié)的最后1位后的第1個下降沿。作者:夏路易電子工業(yè)出版所有8.多字節(jié)方式讀與寫通過對地址31尋址(地址命令位1~5全為1),則可以對時鐘和RAM寄存器實(shí)現(xiàn)多字節(jié)讀寫操作,又稱為突發(fā)模式,同樣,地址命令位6選擇時鐘或是RAM,而位0選擇讀或者寫。在多字節(jié)操作方式下,不能操作地址為9~31的時鐘寄存器,也不能操作地址為31的RAM寄存器。在多字節(jié)讀寫操作中,從地址0的0位開始。9.時鐘時間與日期可以通過讀DS1302的某些字節(jié)得到,通過寫某些寄存器字節(jié)可以設(shè)置時間和日期,這些寄存器如表8-6所示。每個寄存器都有讀地址與寫地址,前七個寄存器為:秒、分、小時、日期、月、星期、年,隨后是寫保護(hù)寄存器和充電控制寄存器。時間和日期以BCD格式保存。小時寄存器的第7位為1,為12小時模式,位5顯示AM/PM,當(dāng)位5為1時,表示PM,為0時,表示AM。位7為0時是24小時模式,這時位5是小時的高位。秒寄存器的第7位,為時鐘暫停位(CH),該位為1時,時鐘停止,DS1302處于低功耗狀態(tài),消耗電流為100nA,該位為0時,時鐘啟動??刂萍拇嫫鞯牡?位(WP)是寫保護(hù)位,該位為0才能寫時鐘與RAM寄存器操作,為1時,阻止寫操作。上電后該位狀態(tài)不定,所以需要寫操作前應(yīng)該先清除該位。作者:夏路易電子工業(yè)出版所有讀寫位7位6位5位4位3位2位1位0范圍81H80HCH(暫停)秒(十位)秒(個位)00-5983H82H
分(十位)分(個位)00-5985H84H12/0小時(十位)/PM小時(十位)小時(個位)1-12/0-2387H86H00日(十位)日(個位)1-3189H88H000月(十位)月(個位)1-128BH8AH00000星期1-78DH8CH年(十位)年(個位)00-998FH8EHWP0000000—91H90HTCS3TCS2TCS1TCS0DS1DS0RS1RS0—作者:夏路易電子工業(yè)出版所有10.充電控制寄存器充電控制電路與充電控制寄存器之間的關(guān)系如下所示控制寄存器中的高4位必須是1010,才能閉合開關(guān)使能充電;位3和位2用于選擇二極管,DS1、DS0=01時選擇1個二極管,DS1、DS0=10時選擇2個二極管,若DS1、DS0值為11或是00時,不能充電;位1和位0選擇串聯(lián)電阻,ROUT1、ROUT2=01時選擇2k,ROUT1、ROUT2=10時選擇4k,ROUT1、ROUT2=11時選擇8k,若ROUT1、ROUT2=00時,不能充電。例如,選擇1個二極管,選擇4k電阻,則寄存器內(nèi)容應(yīng)該為10100110=a6H。作者:夏路易電子工業(yè)出版所有作者:夏路易電子工業(yè)出版所有8.4.2實(shí)際使用DS1302的例題
[例題8-10]檢查DS1302芯片是否工作。當(dāng)DS1302芯片與51單片機(jī)連接后,使用如下簡單程序可以檢測DS1302是否工作。當(dāng)DS1302正常工作時,可以在數(shù)碼管上看到秒值增加。DS1302與51單片機(jī)的接線如下所示。作者:夏路易電子工業(yè)出版所有源程序如下:#include<reg51.h>//該例從P0和P1輸出秒信號sbitiow=P3^5;//定義數(shù)據(jù)引腳sbitwce=P3^6;//定義復(fù)位/使能引腳sbitwclk=P3^7;//定義時鐘引腳sbita0=ACC^0;//累加器各位定義sbita1=ACC^1;sbita2=ACC^2;sbita3=ACC^3;sbita4=ACC^4;sbita5=ACC^5;sbita6=ACC^6;sbita7=ACC^7;voidwr_ds1302(unsignedchardd)//向DS1302寫入一個字節(jié)的函數(shù){ACC=dd;//將命令與數(shù)據(jù)送到累加器iow=a0;wclk=1;wclk=0;//將欲寫位放在iow引腳,然后產(chǎn)生時鐘上升沿,向DS1302寫入一個位a0iow=a1;wclk=1;wclk=0;iow=a2;wclk=1;wclk=0;iow=a3;wclk=1;wclk=0;iow=a4;wclk=1;wclk=0;iow=a5;wclk=1;wclk=0;iow=a6;wclk=1;wclk=0;iow=a7;wclk=1;wclk=0;}作者:夏路易電子工業(yè)出版所有unsignedcharrd_ds1302(void)//從DS1302讀出一個字節(jié)的函數(shù){iow=1;//使iow引腳輸出1,成為輸入引腳a0=iow;//從DS1302讀出一個位a0wclk=1;wclk=0;a1=iow;//使時鐘引腳產(chǎn)生下降沿,然后,將DS1302輸出的位賦予a1wclk=1;wclk=0;a2=iow;wclk=1;wclk=0;a3=iow;wclk=1;wclk=0;a4=iow;wclk=1;wclk=0;a5=iow;wclk=1;wclk=0;a6=iow;wclk=1;wclk=0;a7=iow;//讀出位a7return(ACC);//返回累加器中的內(nèi)容}unsignedcharread_clock(unsignedcharord)//從DS1302芯片中某地址讀出一個字節(jié)數(shù)據(jù){unsignedchardd=0;wclk=0;//初始化DS1302wce=0;wce=1;wr_ds1302(ord);//向DS1302寫入命令dd=rd_ds1302();//從DS1302讀出一個字節(jié)數(shù)據(jù)wce=0;//結(jié)束操作wclk=1;return(dd);}作者:夏路易電子工業(yè)出版所有voidwrite_clock(unsignedcharord,unsignedchardd)//向DS1302中某地址寫入一個字節(jié)的函數(shù){wclk=0;//初始化DS1302wce=0;wce=1;wr_ds1302(ord);//向DS1302寫入命令wr_ds1302(dd);//向DS1302寫入數(shù)據(jù)wce=0;//結(jié)束操作wclk=1;}unsignedcharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xA1,0x86,0x8e};//數(shù)碼管譯碼數(shù)組作者:夏路易電子工業(yè)出版所有voidmain(void)//主函數(shù){unsignedcharaddress,d,temp1,xs1,xs2;address=0;d=0x00;write_clock(0x8e|address,d);//清除寫保護(hù)位WPaddress=0;d=0x7f;write_clock(0x80|address,d);//秒寄存器位7清0,啟動DS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人借款合同范本大全:一站式合同解決方案
- 2025年北美市場銷售代表協(xié)議
- 產(chǎn)品代銷合同協(xié)議書
- 一紙合同的價值:外商獨(dú)資企業(yè)股權(quán)轉(zhuǎn)讓分析
- 中東原油購銷合同
- 二手房買賣合同的定金范本
- 二手房交易補(bǔ)充合同范文
- 中外貿(mào)易合同(DDP條款)條款解析
- 農(nóng)副產(chǎn)品購銷合同范本
- 代購協(xié)議書范本
- 銀川經(jīng)濟(jì)技術(shù)開發(fā)區(qū)2024年綜合考核評價指標(biāo)表及評分細(xì)則
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
- 廣東省茂名市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
- 沙發(fā)市場需求與消費(fèi)特點(diǎn)分析
- 豐順縣縣級集中式飲用水水源地基礎(chǔ)狀況調(diào)查和風(fēng)險評估報告
- 重慶市2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 《七律二首 送瘟神》教案- 2023-2024學(xué)年高教版(2023)中職語文職業(yè)模塊
- 八年級語文上冊《作文》專項(xiàng)測試卷及答案
- 2024年中考語文滿分作文6篇(含題目)
- 2024年安全員之江蘇省C2證(土建安全員)題庫與答案
- 第一節(jié)-貨幣資金資料講解
評論
0/150
提交評論