版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
學士學位畢業(yè)論文(設計)題目:基于單片機的12864時鐘顯示摘要電子時鐘是一種非常廣泛日常計時工具,給人們的帶來了很大的方便,在社會上越來越流行。它可以對年、月、日、星期、時、分、秒進行計時,采用直觀的數(shù)字顯示,可以同時顯示年月日時分秒等信息,還有時間校準等功能。該電子時鐘主要采用STC89C52單片機作為主控核心,用DS1302時鐘芯片作為時鐘、液晶12864顯示屏顯示。STC89C52單片機是由深圳宏晶科技公司推出的,功耗小,電壓可選用4~6V電壓供電;DS1302時鐘芯片是美國DALLAS公司推出的具有細電流充電功能的低功耗實時時鐘芯片,它可以對年、月、日、星期、時、分、秒進行計時,還具有閏年補償?shù)榷喾N功能,而且DS1302的使用壽命長,誤差??;數(shù)字顯示是采用的12864液晶顯示屏來顯示,可以同時顯示年、月、日、星期、時、分、秒等信息。此外,該電子時鐘還具有時間校準等功能。關鍵詞:STC89C51單片機,DS1302時鐘芯片,液晶12864AbstractElectronicclockisaveryextensivedailytimingtool,tothepeoplehasbroughtgreatconvenience,moreandmorepopularinthecommunity.Itcanbetheyear,month,date,day,hour,minute,secondforatime,usingintuitivedigitaldisplay,candisplayinformationsuchasyear,month,day,hour,andtimealignmentfunctions.TheelectronicclockisusedmainlyasamasterSTC89C52microcontrollercore,withtheDS1302clockchipasaclock,LCDdisplay12864.STC89C52SCMisaShenzhenHongCrystalTechnologyhasintroduced,powerconsumption,voltagecanbeselected4~6Vvoltagepowersupply;DS1302clockchipisAmericanDALLAScompanylaunchedwithafinecurrentcharginglow-powerreal-timeclockchip,itcanyear,month,date,day,hour,minute,secondforatime,alsohasaleapyearcompensationandotherfunctions,DS1302andlonglife,smallerror;12864LCDdigitaldisplayisusedtodisplaythatcandisplayyear,month,date,day,hour,minute,secondandsoon.Inaddition,theelectronicclockalsohasatimecalibrationfunction.KeyWords:STC89C51microcontroller,DS1302clockchip,LCD12864目錄1緒論 11.1時鐘發(fā)展史 11.2目前的研究現(xiàn)狀 21.3研究目的及意義 22總體方案設計 32.1方案的選擇 32.1.1設計要求 32.1.2方案的選擇 32.2總體方案組成框圖 43系統(tǒng)硬件設計 43.1主芯片模塊 43.1.1中斷系統(tǒng) 63.1.2常用寄存器 63.2晶振和復位電路 83.2.1晶振電路 83.2.2復位電路 93.3DS1302時鐘芯片電路 93.3.1DS1302引腳圖 93.3.2DS1302寄存器 103.3.3DS1302外圍電路 113.4LCD12864顯示模塊 113.4.1LCD12864引腳功能 113.4.2LCD12864指令說明 123.4.3LCD12864電路接線 143.5紅外遙控模塊 144系統(tǒng)軟件設計 154.1主程序設計 154.2LCD12864驅動程序 174.3DS1302驅動程序 194.4紅外遙控程序 225調(diào)試結果 245.1正常顯示日期時間畫面 245.2進入調(diào)整時間日期畫面 245.3圖片顯示畫面 256總結 26致謝 27參考文獻 28附錄一 29附錄二 301緒論1.1時鐘發(fā)展史很早以前,人類主要是利用天文現(xiàn)象和流動物質的連續(xù)運動來計時。例如,日晷是利用日影的方位計時,陰雨天和夜里沒法使用且測量誤差較大;漏壺和沙漏是利用水流和沙流的流量計時,雖然晚上可以使用,但是水容易結冰,誤差還是大。后來人們發(fā)明了機械鐘,以機械振動系統(tǒng)為時間基準,實現(xiàn)對時間的計量,誤差達到一天一分鐘左右。而如今的數(shù)字鐘用數(shù)字電路實現(xiàn)時、分、秒,精度較高,一天的誤差不到一秒。目前精度最高的時鐘要屬原子鐘,其每天的誤差小于一億分之一秒。隨著人們生活水平的提高和生活節(jié)奏的加快,對時間的要求越來越高,精準數(shù)字計時的消費需求也是越來越多。
二十一世紀的今天,最具代表性的計時產(chǎn)品就是電子萬年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對穩(wěn)定的機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產(chǎn)品就是帶有擺或擺輪游絲的機械鐘或表。第二次革命是石英晶體振蕩器的應用,發(fā)明了走時精度更高的石英電子鐘表,使鐘表的走時和月差從分級縮小到秒級。第三次革命就是單片機數(shù)碼計時技術的應用(電子萬年歷),使計時產(chǎn)品的走時日差從分級縮小到1/600萬秒,從原有傳統(tǒng)指針計時的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,并增加了全自動日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費者的生活需求!因此,電子萬年歷的出現(xiàn)帶來了鐘表計時業(yè)界跨躍性的進步。1.2目前的研究現(xiàn)狀
我國生產(chǎn)的電子萬年歷有很多種,總體上來說以研究多功能電子萬年歷為主,使萬年歷除了原有的顯示時間,日期等基本功能外,還具有鬧鈴,報警等功能。商家生產(chǎn)的電子萬年歷更從質量,價格,實用上考慮,不斷的改進電子萬年歷的設計,使其更加的具有市場。在國內(nèi),電子鐘因LCD數(shù)字顯示效用直接有效,所以大多運用在城市的主要營業(yè)場所,以及車站、碼頭等公共場所。在對公共場所的電子鐘設定的時候,使用者還可根據(jù)周邊的氣候、溫度等對LCD屏進行設置。同時,因為LCD的顯示耗電量很省,所以能夠保持持續(xù)的工作效果。1.3研究目的及意義
電子鐘亦稱數(shù)字顯示鐘,是一種用數(shù)字電路技術實現(xiàn)時、分、秒計時的裝置,與機械時鐘相比,直觀性為其主要顯著特點,且因非機械驅動,具有更長的使用壽命,相較石英鐘的石英機芯驅動,更具準確性。電子鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛用于個人家庭以及車站、碼頭、劇院、辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大地方便。相對于其他時鐘類型,它的特點可歸結為“兩強一弱”:比機械鐘強在觀時顯著,比石英鐘強在走時準確,但是它的弱點為顯示較為單調(diào)。鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究數(shù)字鐘及擴大其應用,有著非?,F(xiàn)實的意義。
除了采用集成化的時鐘芯片外,還有采用MCU的方案,利用STC89系列單片微機制成萬年歷電路,采用軟件和硬件結合的方法,控制輸出,分別用來顯示年、月、日、時、分、秒,其最大特點是:硬件電路簡單,安裝方便易于實現(xiàn),軟件設計獨特,可靠。STC89C51是由深圳宏晶科技公司推出的一種小型單片機。其主要特點為采用Flash存貯器技術,降低了制造成本,其軟件、硬件與MCS-51完全兼容,可以很快被廣大用戶接受。
本文介紹了基于STC89C51單片機設計的電子時鐘。可以同時顯示年、月、日、星期、時、分、秒等信息,還具有時間紅外校準等功能。2總體方案設計2.1方案的選擇2.1.1設計要求A.具有年、月、日、周、時、分、秒的顯示功能;B.具有年、月、日、周、時、分、秒的校準功能;C.具有圖片顯示功能;D.具有紅外遙控功能。2.1.2方案的選擇本課題是基于單片機控制的電子時鐘設計,MCS-51系列的單片機集成了8位CPU、4K字節(jié)ROM、128字節(jié)RAM、2個16位定時器/計數(shù)器和4個8位I/O口等基本功能部件,基本能滿足本課題的研究,所以主控芯片選擇STC89C51單片機。時鐘的顯示功能用128*64LCD來實現(xiàn),其顯示分辨率為128×64,內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面??梢燥@示8×4行16×16點陣的漢字,也可完成圖形顯示。低電壓低功耗是其又一顯著特點。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。為了更精確的顯示時間,需要一時鐘芯片來進行計時。DS1302是由美國DALLAS公司推出的具有涓細電流充電能力的低功耗實時時鐘芯片。它可以對年、月、日、周、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能。對于紅外遙控功能,主要用來調(diào)整時間和切換顯示頁面。本課題中選用通用紅外遙控器和紅外接收頭。2.2總體方案組成框圖根據(jù)以上硬件的選擇,系統(tǒng)的硬件框圖2.1所示。時鐘芯片DS1302紅外遙控STC89C51主控芯片時鐘芯片DS1302紅外遙控STC89C51主控芯片12864LCD12864LCD復位電路晶振電路復位電路晶振電路圖2.1系統(tǒng)硬件框圖3系統(tǒng)硬件設計3.1主芯片模塊STC89C51單片的引腳功能圖如圖3.1所示,邏輯符號如圖3.2所示,它有40個引腳。圖3.1STC89C51引腳圖圖3.2STC89C51邏輯圖電源引腳VCC(40):電源正端,外接+5V。VSS(20):接地。時鐘電路引腳XTAL1(18)、XTAL2(19):XTAL1為片內(nèi)振蕩電路的輸入端,XTAL2為片內(nèi)振蕩電路的輸出端。8051的時鐘有兩種方式,一種是片內(nèi)振蕩方式,需在這兩個腳外接石英晶體和振蕩電容,振蕩電容一般取10p~30p;另一種是外部時鐘方式,即將XTAL1接地,外部時鐘信號從XTAL2腳輸入??刂埔_ALE/PROG(30):地址鎖存控制信號/編程脈沖輸入端。PSEN(29):外部程序存儲器的選通信號。EA/VPP(31):外部程序存儲器地址允許輸入端/編程電壓輸入端。RESET/VPT(9):復位/備用電源輸入引腳。在該引腳上輸入24個時鐘周期以上的高電平,系統(tǒng)即復位。輸入/輸出引腳P0.0~P0.7(39~32):8位雙向并行I/O口,P0口可作為通用雙向I/O口。在外接數(shù)據(jù)、程序存儲器時,可作為低8位地址/數(shù)據(jù)總線復用引腳。P1.0~P1.7(1~8):8位雙向并行I/O口。P2.0~P2.7(21~28):8位雙向并行I/O口。P0口可作為通用雙向I/O口。在外接數(shù)據(jù)、程序存儲器時,可作為高8位地址輸出引腳。P3.0~P3.7(10~17):8位雙向并行I/O口。P3口除了作為通用I/O口使用外,每一個引腳都可以復用。3.1.1中斷系統(tǒng)8051單片機允許5個中斷源:(1)外部中斷源(2個)由INT0(P3.2)引腳和INT1(P3.3)引腳引入。這兩個中斷源的請求方式有兩種:低電平觸發(fā)或下降沿觸發(fā)。(2)內(nèi)部中斷源(2個)T0:定時/計數(shù)器0中斷,由T0溢出引起。T1:定時/計數(shù)器1中斷,由T1溢出引起。(3)TI/RI(1個)串行I/O口中斷,由一幀字符發(fā)送/接收完后引起。3.1.2常用寄存器(1)定時器方式控制寄存器TMODTMOD(89H)D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0工作方式選擇位M1、M0定義如下:M1M0工作方式功能描述00方式0初值寄存器TL的低5位與TH的8位構成13位計數(shù)器01方式116位計數(shù)器10方式2自動重裝初值的8位計數(shù)器11方式3僅用于T0,分為兩個8位計數(shù)器,T1停止工作GATE=0:軟件啟動定時器,使TRx置“1”即可啟動定時器;=1:軟件和硬件共同啟動定時器,除了要使TRx置“1”外,外部中斷請求信號輸入端INTx還必須輸入高電平才能啟動定時器。C/T=0:定時器方式工作;=1:計數(shù)器方式工作。(2)定時控制寄存器TCONTCON(88H)D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TF0/TF1:定時器溢出中斷申請標志位(由硬件自動置位)。TF0/TF1=0:定時器未溢出;=1:定時器溢出時硬件自動置位,申請中斷。TR0/TR1:定時器啟動/停止控制位。TR0/TR1=0:定時器停止;=1:定時器啟動。IE0/IE1:外部中斷申請標志位(由硬件自動置位,中斷響應后轉向中斷服務程序時,由由硬件自動清零)IE0/IE1=0:沒有外部中斷申請;=1:有外部中斷申請。IT0/IT1:外部中斷請求的觸發(fā)方式控制位。IT0/IT1=0:在INT0/INT1端申請中斷的信號低電平有效;=1:在INT0/INT1端申請中斷的信號下降沿有效。(3)中斷允許寄存器IE。IE(A8H)D7D6D5D4D3D2D1D0EA-ET2ESET1EX1ET0EX0ES——串行口中斷允許位。=0:禁止中斷;=1允許中斷。ET1——定時/計數(shù)器T1的溢出中斷允許位。=0:禁止中斷;=1允許中斷EX1——外部中斷1中斷允許位。=0:禁止中斷;=1允許中斷ET0——定時/計數(shù)器T0的溢出中斷允許位。=0:禁止中斷;=1允許中斷EX0——外部中斷0中斷允許位。=0:禁止中斷;=1允許中斷EA——總的中斷允許控制位(總開關)。=0:禁止所有中斷;=1:允許中斷。3.2晶振和復位電路3.2.1晶振電路如圖3.3所示,STC89C51單片機的內(nèi)部有一個用于構成振蕩器的高增益反相放大器,它的輸入端為XTAL1引腳,輸出端為XTAL2引腳,兩個跨接石英晶體及兩個電容就可以構成穩(wěn)定的自激振蕩器。電容器通常取30pF左右。圖3.3晶振電路 圖3.4復位電路3.2.2復位電路往單片機的復位引腳上輸入24個時鐘周期以上的高電平,即執(zhí)行復位操作。按鍵復位是指系統(tǒng)在運行時,按下一個開關,就能在RST引腳產(chǎn)生一段時間的高電平,使系統(tǒng)復位,常見的按鍵復位電路如圖3.4所示。對12MHz晶振頻率而言,電路中C取10pF,R取1KΩ。3.3DS1302時鐘芯片電路3.3.1DS1302引腳圖如圖3.5為DS1302的引腳圖,圖3.6為邏輯圖。圖3.5DS1302引腳圖圖3.6DS1302邏輯圖各引腳的功能為:
Vcc1:主電源;Vcc2:備用電源。當Vcc2>Vcc1+0.2V時,由Vcc2向DS1302供電,當Vcc2<
Vcc1時,由Vcc1向DS1302供電。
SCLK:串行時鐘,輸入,控制數(shù)據(jù)的輸入與輸出;
I/O:雙向數(shù)據(jù)線;
X1、X2:晶振引腳;
CE:輸入信號,在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個功能:第一,CE開始控制字訪問移位寄存器的控制邏輯;其次,CE提供結束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā?.3.2DS1302寄存器DS1302有關日歷、時間的寄存器共有12個,其中有7個寄存器(讀時81H~8DH,寫時80H~8CH),存放的數(shù)據(jù)格式為BCD碼形式,如圖3.7所示。圖3.7DS1302日歷、時間寄存器小時寄存器(85h、84h)的位7用于定義DS1302是運行于12小時模式還是24小時模式。當為高時,選擇12小時模式。在12小時模式時,位5是
,當為1時,表示PM。在24小時模式時,位5是第二個10小時位。
秒寄存器(81h、80h)的位7定義為時鐘暫停標志(CH)。當該位置為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當該位置為0時,時鐘開始運行。
控制寄存器(8Fh、8Eh)的位7是寫保護位(WP),其它7位均置為0。在任何的對時鐘和RAM的寫操作之前,WP位必須為0。當WP位為1時,寫保護位防止對任一寄存器的寫操作。3.3.3DS1302外圍電路圖3.8DS1302外圍電路DS1302只有3個引腳與單片機相連,分別是RST(5)、SCLK(7)和I/O(6),其2、3引腳接32768Hz晶振,如圖3.8。3.4LCD12864顯示模塊3.4.1LCD12864引腳功能管腳號管腳名稱管腳功能1VSS接地2VDD電源+5V3V0對比度調(diào)整4RSRS=H,DB0-DB7為數(shù)據(jù)RS=L,DB0-DB7為指令5R/WR/W=H,E=H,讀數(shù)據(jù)R/W=L,E=H→L,寫數(shù)據(jù)6E使能端7--14DB0—DB78位數(shù)據(jù)口15PSBPSB=H,并行方式PSB=L,串行方式16NC空腳17RST復位端,低電平有效18VoutLCD驅動電壓輸出端19A背光源正端+520K背光源負端表3.1LCD12864引腳說明圖3.912864引腳圖圖3.9所示為帶中文字庫LCD12864引腳圖,表3.1為引腳說明。該液晶顯示模塊由128*64點陣組成,可顯示漢字及圖形,內(nèi)置8192個中文漢字(16*16點陣)、128個字符(8*16)點陣,8位并行及串行連接方式??刂埔_說明RS、R/W四種模式RSR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標志(BF)及地址計數(shù)器(AC)狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)E信號E狀態(tài)功能H→L配合/W進行寫數(shù)據(jù)或指令H配合R進行讀數(shù)據(jù)或指令L/L→H無動作說明:BF標志提供內(nèi)部工作情況BF=1表示模塊在進行內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù).BF=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。3.4.2LCD12864指令說明(1)顯示開/關設置R/WR/SDB7DB6DB5DB4DB3DB2DB1DB0LLLLHHHHHH/L功能:設置屏幕顯示開/關。DB0=H,開顯示;DB0=L,關顯示。(2)設置顯示起始行R/WR/SDB7DB6DB5DB4DB3DB2DB1DB0LLHH行地址(0~63)功能:執(zhí)行該命令后,所設置的行將顯示在屏幕的第一行。顯示起始行是由Z地址計數(shù)器控制的,該命令自動將A0-A5位地址送入Z地址計數(shù)器,起始地址可以是0-63范圍內(nèi)任意一行。Z地址計數(shù)器具有循環(huán)計數(shù)功能,用于顯示行掃描同步,當掃描完一行后自動加一。(3)設置列地址R/WR/SDB7DB6DB5DB4DB3DB2DB1DB0LLLH列地址(0~63)功能:
DDRAM
的列地址存儲在Y地址計數(shù)器中,讀寫數(shù)據(jù)對列地址有影響,在對DDRAM進行讀寫操作后,Y地址自動加一。(4)狀態(tài)檢測
R/WR/SDB7DB6DB5DB4DB3DB2DB1DB0HLBFLON/OFFRSTLLLL功能:讀忙信號標志位(BF)、復位標志位(RST)以及顯示狀態(tài)位
(ON/OFF)。BF=H:內(nèi)部正在執(zhí)行操作;BF=L:空閑狀態(tài)。
RST=H:正處于復位初始化狀態(tài);RST=L:正常狀態(tài)。
ON/OFF=H:表示顯示關閉;ON/OFF=L:表示顯示開。(5)寫顯示數(shù)據(jù)
R/WR/SDB7DB6DB5DB4DB3DB2DB1DB0LHD7D6D5D4D3D2D1D0功能:寫數(shù)據(jù)到DDRAM,DDRAM是存儲圖形顯示數(shù)據(jù)的,寫指令執(zhí)行后Y地址計數(shù)器自動加1。D7-D0位數(shù)據(jù)為1表示顯示,數(shù)據(jù)為0表示不顯示。(6)讀顯示數(shù)據(jù)R/WR/SDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0功能:從DDRAM讀數(shù)據(jù),讀指令執(zhí)行后Y地址計數(shù)器自動加1。3.4.3LCD12864電路接線單片機P2口作為指令/數(shù)據(jù)接口,右DB0-DB7輸入,數(shù)據(jù)命令選擇端RS接單片機P1.2,讀寫控制信號端R/W接單片機P1.1,使能端E接單片機P1.0,串/并行方式選擇端PSB接P1.6,復位端RST接P1.7,16、18號引腳可以不接,如圖3.10所示。圖3.10LCD12864電路圖3.5紅外遙控模塊本課題采用紅外遙控功能對時鐘進行校準,包括年、月、日、周、時、分秒的加減操作,還有切換顯示、復位的功能。紅外遙控裝置包括紅外發(fā)送(即遙控器)和紅外接收兩部分組成。發(fā)射機一般由指令按鍵、指令編碼系統(tǒng)、調(diào)制電路、驅動電路、發(fā)射電路等幾部分組成。當按下指令鍵時,指令編碼電路產(chǎn)生所需的指令編碼信號,指令編碼信號對載波進行調(diào)制,再由驅動電路進行功率放大后由發(fā)射電路向外發(fā)射經(jīng)調(diào)制定的指令編碼信號。接收電路一般由接收電路、放大電路、調(diào)制電路、指令譯碼電路、驅動電路、執(zhí)行電路等幾部分組成。接收電路將發(fā)射器發(fā)出的已調(diào)制的編碼指令信號接收下來,并進行放大后送解調(diào)電路,解調(diào)電路將已調(diào)制的指令編碼信號解調(diào)出來,即還原為編碼信號。指令譯碼器將編碼指令信號進行譯碼,最后由驅動電路來驅動執(zhí)行電路實現(xiàn)各種指令的操作控制。其大致工作過程如圖3.11所示。圖3.11紅外工作原理紅外遙控器采用通用遙控器,接收器為紅外接收頭,如圖3.11所示。圖3.12為紅外接收頭電路,其信號輸出端接單片機引腳P3.2。圖3.11紅外遙控器和接收頭圖3.12紅外接收頭電路4系統(tǒng)軟件設計4.1主程序設計本課題程序編寫為C語言,編譯軟件為Keil5,程序分為4個模塊,分別是主函數(shù)main.c、LCD12864程序LCD12864.h、時鐘芯片DS1302程序DS1302.h和紅外遙控程序IRIN.h。程序流程圖如圖4.1所示。開始判斷按鍵進入調(diào)時模式判斷按鍵12864顯示時間DS1302寫數(shù)據(jù)12864開始判斷按鍵進入調(diào)時模式判斷按鍵12864顯示時間DS1302寫數(shù)據(jù)12864初始化DS1302初始化1286412864顯示圖片結束結束圖4.1程序流程圖4.2LCD12864驅動程序圖4.212864寫操作時序根據(jù)以上寫時序,可以寫出寫指令函數(shù)和寫數(shù)據(jù)函數(shù)。(1)寫指令voidlcd_wcmd(ucharcmd)//寫指令函數(shù){while(lcd_busy());//判忙LCD_RS=0;//RS=LLCD_RW=0;//RW=LLCD_EN=0;//EN上升沿_nop_();_nop_();P2=cmd;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;}(2)寫顯示數(shù)據(jù)voidlcd_wdat(uchardat)//寫顯示數(shù)據(jù)函數(shù){while(lcd_busy());//判忙LCD_RS=1;//RS=HLCD_RW=0;//RW=LLCD_EN=0;//EN上升沿P2=dat;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;}(3)設定顯示位置voidlcd_pos(ucharX,ucharY){ucharpos;if(X==1){X=0x80;}//第一行首地址elseif(X==2){X=0x90;}//第二行首地址elseif(X==3){X=0x88;}//第三行首地址elseif(X==4){X=0x98;}//第四行首地址pos=X+Y;lcd_wcmd(pos);//顯示地址,行地址加列地址}(4)圖形顯示voidphotodisplay(uchar*bmp) {uchari,j;lcd_wcmd(0x34);//寫數(shù)據(jù)時,關閉圖形顯示for(i=0;i<32;i++){lcd_wcmd(0x80+i);//寫入垂直坐標值lcd_wcmd(0x80);//先寫入水平坐標值for(j=0;j<16;j++)//再寫入兩個8位元的數(shù)據(jù)lcd_wdat(*bmp++);delay1(1);}for(i=0;i<32;i++){lcd_wcmd(0x80+i);lcd_wcmd(0x88);for(j=0;j<16;j++) lcd_wdat(*bmp++); delay1(1);}lcd_wcmd(0x36);//寫完數(shù)據(jù),開圖形顯示}4.3DS1302驅動程序DS1302讀寫時序如圖所示,圖4.4為單字節(jié)讀時序,圖4.5為單字節(jié)寫時序。圖4.4DS1302單字節(jié)讀時序圖4.5DS1302單字節(jié)寫時序(1)DS1302寫一個字節(jié)voidWrite_Ds1302_Byte(unsignedchartemp){unsignedchari;for(i=0;i<8;i++)//循環(huán)8次寫入數(shù)據(jù){SCK=0;//SCK為上升沿IO=temp&0x01;//每次傳輸?shù)妥止?jié)temp>>=1;//右移一位SCK=1;}}(2)寫入DS1302voidWrite_Ds1302(unsignedcharaddress,unsignedchardat){RST=0;_nop_();SCK=0;_nop_();RST=1;_nop_();//啟動Write_Ds1302_Byte(address);//發(fā)送地址Write_Ds1302_Byte(dat);//發(fā)送數(shù)據(jù)RST=0;//恢復}(3)讀出DS1302數(shù)據(jù)unsignedcharRead_Ds1302(unsignedcharaddress){unsignedchari,temp=0x00;RST=0;_nop_();_nop_();SCK=0;_nop_();_nop_();RST=1;_nop_();_nop_();Write_Ds1302_Byte(address);for(i=0;i<8;i++)//循環(huán)8次讀取數(shù)據(jù){if(IO)temp|=0x80;//每次傳輸?shù)妥止?jié)SCK=0;temp>>=1;//右移一位_nop_();_nop_();_nop_();SCK=1;}RST=0;return(temp);//返回}4.4紅外遙控程序紅外遙控結合單片機P3.2口外部中斷INT0來執(zhí)行命令,紅外遙控器共21個按鍵,其鍵值分別為45464744404307150916190D0C185E081C5A42524AvoidIR_IN(void)interrupt0//外部中斷0{unsignedcharj,k,N=0;EX0=0;IRdelay(15);if(IRIN==1){EX0=1;return;}//確認IR信號出現(xiàn)while(!IRIN)//等IR變?yōu)楦唠娖?,跳過9ms的前導低電平信號。{IRdelay(1);}for(j=0;j<4;j++)//收集四組數(shù)據(jù){for(k=0;k<8;k++)//每組數(shù)據(jù)有8位{while(IRIN)//等IR變?yōu)榈碗娖?,跳過4.5ms的前導高電平信號。{IRdelay(1);}while(!IRIN)//等IR變?yōu)楦唠娖絳IRdelay(1);}while(IRIN)//計算IR高電平時長{IRdelay(1);N++;if(N>=50){EX0=1;return;}//0.14ms計數(shù)過長自動離開。}//高電平計數(shù)完畢IRCOM[j]=IRCOM[j]>>1;//數(shù)據(jù)最高位補“0”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)供應商溝通管理準則
- 博物館消火栓安裝工程協(xié)議
- 城市橋梁景觀照明系統(tǒng)安裝合同
- 企業(yè)人事管理基本制度
- 地質考察租賃山場合同
- 疼痛治療診所醫(yī)生勞動合同
- 2024年跨境電子商務招商引資項目合作協(xié)議3篇
- 養(yǎng)雞棚租賃合同:農(nóng)業(yè)金融服務
- 金融學院校長招聘模板
- 離婚協(xié)議書 房產(chǎn)
- 紀檢委員工作職責
- 2025版國家開放大學法律事務??啤睹穹▽W(2)》期末紙質考試總題庫
- 江蘇省南通市多校2024-2025學年二年級上學期期中數(shù)學試卷
- ZHF形勢與政策(2024年秋)-考試題庫
- 企業(yè)地震應急預案管理方案
- 2024中國工商銀行借貸合同范本
- 房地產(chǎn)園林綠化行業(yè)研究報告:市場規(guī)模統(tǒng)計、供需態(tài)勢及發(fā)展前景預測報告(智研咨詢)
- 2024年國家危險化學品生產(chǎn)單位安全管理人員考試題庫(含答案)
- 水果電池課件教學課件
- 2024春節(jié)前安全培訓
- 物業(yè)管理基礎培訓
評論
0/150
提交評論