




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、桂林電子科技大學(xué)課程設(shè)計(jì)(論文)報(bào)告用紙 第36頁(yè)/共36頁(yè) 課程設(shè)計(jì)(論文)說明書題 目: 數(shù)字時(shí)鐘設(shè)計(jì) 院 (系): * 專 業(yè): * 學(xué)生姓名: * 學(xué) 號(hào): * 指導(dǎo)教師: * 職 稱: 副教授 20*年 * 月 * 日摘 要時(shí)鐘的工作原理很簡(jiǎn)單,由秒,分,時(shí)三位構(gòu)成。進(jìn)行六十秒進(jìn)一分,六十分進(jìn)一小時(shí),二十四小時(shí)為一個(gè)大的系統(tǒng)工作周期,即為一天。在進(jìn)位的問題上可考慮對(duì)本位采用反饋清零法,秒,分十位周期為六,作為進(jìn)位周期。主要問題是秒信號(hào)的選擇上,采用晶振分頻的方法得到穩(wěn)定高精度的秒脈沖信號(hào),本系統(tǒng)的門電路全部采用低功耗,穩(wěn)定性好的ttl門電路,從而使整個(gè)系統(tǒng)的精度得到提高。校時(shí)和報(bào)時(shí)電
2、路分別由stc89c53和ds1302定時(shí)正當(dāng)系統(tǒng)構(gòu)成,校時(shí)電路采用手動(dòng)脈沖校時(shí)法,報(bào)時(shí)電路的報(bào)時(shí)信號(hào)由分十位進(jìn)位信號(hào)提供。關(guān)鍵詞:ttl;stc89c32;ds1302;lcd1602 。abstract:the working principle of the clock is very simple, by seconds, minutes, when the three pose. carried out in a sub-60 seconds, six very into one hour, round-the-clock system for a large duty cycle,
3、 which is one day. in the binary may consider the issue of feedback on the use of zero-based method, seconds, 10 cycles at six, as a binary cycle. the main problem in choosing the second signal, using the method of crystal frequency stable high-precision pulse signal, the gate circuit, so that the a
4、ccuracy of the entire system be improved. time and stc89c53, respectively, and ds1302 from time to time constitutes a legitimate system, school fast circuit law school, the newspaper of the time signals from the circuit 10 minutes into the digital signal to provide.keywords:ttl,stc89c32,ds1302,lcd16
5、02.引言41 設(shè)計(jì)方案41.1 數(shù)字時(shí)鐘設(shè)計(jì)分析41.2 設(shè)計(jì)要求52 硬件電路設(shè)計(jì)52.1 stc單片機(jī)主控電路52.1.1 stc89c52rc單片機(jī)介紹52.1.2 stc89c5管腳說明62.1. 主系統(tǒng)電路圖92.2 ds1302時(shí)鐘源92.2.1 ds1302的結(jié)構(gòu)及工作原理102.2.2 引腳功能及結(jié)構(gòu)102.2.3 ds1302的控制字節(jié)112.2.4 數(shù)據(jù)輸入輸出(i/o)112.2.5 ds1302的寄存器112.2.6 ds1302與cpu的連接122.2.7 ds1302硬件電路122.3 lcd1602顯示電路132.3.1 管腳功能132.3.2 lcd1602的
6、特性132.3.3 指令集132.3.4 lcd1602特性及應(yīng)用142.3.5 lcd1602操作控制142.3.6 lcd1602電路142.4 蜂鳴器報(bào)時(shí)電路152.5 按鍵電路153 整體電路圖154 程序設(shè)計(jì)164.1 程序設(shè)計(jì)內(nèi)容164.2 程序流程圖164.3 c語(yǔ)言源程序175 結(jié)論17謝 辭18參考文獻(xiàn)19附 錄 一20附 錄 二20引言時(shí)鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)時(shí)間計(jì)量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時(shí)鐘更好的為人民服務(wù),這就要求人們不斷設(shè)計(jì)出新型時(shí)鐘?,F(xiàn)今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,
7、由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用led顯示器代替顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間,它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)
8、部的可編程定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn),但誤差很大,主要用在對(duì)時(shí)間精度要求不高的場(chǎng)合;二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對(duì)時(shí)間精度要求很高的情況下,通常采用這種方法。考慮到精度所需和上電自動(dòng)同步時(shí)間,設(shè)計(jì)中用到了專門的時(shí)鐘芯片ds1302。stc單片機(jī)上電后,不停讀取ds1302,獲得時(shí)間信息,控制lcd1602顯示出來。時(shí)間設(shè)置時(shí),當(dāng)按下確定的時(shí)刻,單片機(jī)寫ds1302,修改ds1302的當(dāng)前時(shí)間,完成時(shí)間設(shè)置。1 設(shè)計(jì)方案1.1 數(shù)字時(shí)鐘設(shè)計(jì)分析采用stc單片機(jī)內(nèi)部定時(shí)器定時(shí)產(chǎn)生時(shí)分秒,程序簡(jiǎn)單,電路結(jié)構(gòu)簡(jiǎn)單,但是精度太低,同時(shí),精度會(huì)受到環(huán)境的影響嚴(yán)重。同時(shí),每次開機(jī)時(shí)間都會(huì)復(fù)位,就算加上外部存儲(chǔ)器,時(shí)
9、時(shí)存儲(chǔ)當(dāng)前時(shí)間,開機(jī)后讀到的是關(guān)機(jī)時(shí)的時(shí)間,因此,不實(shí)用,電路也變得復(fù)雜了。因此,選擇專門的時(shí)鐘芯片更加合理。時(shí)間顯示部分用數(shù)碼管顯示,原理簡(jiǎn)單,價(jià)格低廉,但是pcb布線復(fù)雜,同時(shí)顯示內(nèi)容受到很大限制,用lcd1602液晶顯示,可實(shí)現(xiàn)顯示的多樣化和人性化。同時(shí),用lcd1602液晶顯示可以提升電路系統(tǒng)的檔次。1.2 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)數(shù)字時(shí)鐘,能顯示時(shí)分秒,并且能夠修改設(shè)定時(shí)間,同時(shí)具有整點(diǎn)報(bào)時(shí)功能。stc單片機(jī)做為系統(tǒng)核心模塊,控制lcd1602液晶顯示、讀寫時(shí)鐘源芯片、報(bào)警電路,并能支持按鍵。lcd1602液晶能夠清晰準(zhǔn)確的顯示時(shí)間,不能閃爍,亂碼和出現(xiàn)鬼影。ds1302時(shí)鐘源產(chǎn)生的時(shí)間必
10、須得準(zhǔn)確,讀取時(shí)鐘信息時(shí),不能出現(xiàn)亂碼,當(dāng)然也不能出現(xiàn)錯(cuò)誤。電調(diào)后,時(shí)鐘源應(yīng)該能夠保持時(shí)間更新,開機(jī)后能自動(dòng)顯示更新的時(shí)間,并且掉電保持時(shí)間應(yīng)該盡可能的長(zhǎng)久。整點(diǎn)報(bào)時(shí)要準(zhǔn)確,報(bào)時(shí)時(shí)蜂鳴器聲音要足夠響亮,并且能人工終止報(bào)時(shí)。按鍵要靈敏,按鍵消抖要做得比較好,不能出現(xiàn)連續(xù)按的情況。程序下載要穩(wěn)定,以便調(diào)試程序,同時(shí)電路布局要合理大方,元件布局要美觀。對(duì)于程序,代碼要簡(jiǎn)短,但是容易讀懂,最好標(biāo)寫好注釋,軟件實(shí)現(xiàn)的功能要齊全,同時(shí)要模塊化,方便調(diào)試和移植。2 硬件電路設(shè)計(jì)本課題主要分個(gè)模塊:stc單片機(jī)主控電路、ds1302時(shí)鐘源、lcd1602時(shí)間顯示、蜂鳴器報(bào)時(shí)電路、按鍵電路以及串口等電路。下面將
11、依次對(duì)各個(gè)模塊進(jìn)行說明。2.1 stc單片機(jī)主控電路2.1.1 stc89c52rc單片機(jī)介紹stc89c52rc單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。主要特征:1. 增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051.2. 工作電壓:5.5v3.3v(5v單片機(jī))/3.8v2.0v(3v單片機(jī))3. 工作頻率范圍:040mhz,相當(dāng)于普通8051的080mhz,實(shí)際工作頻率可達(dá)48mhz4. 用戶應(yīng)用程序空間為8k字節(jié)5. 片上集成5
12、12字節(jié)ram6. 通用i/o口(32個(gè)),復(fù)位后為:p1/p2/p3/p4是準(zhǔn)雙向口/弱上拉,p0口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為i/o口用時(shí),需加上拉電阻。7. isp(在系統(tǒng)可編程)/iap(在應(yīng)用可編程),無(wú)需專用編程器,無(wú)需專用仿真器,可通過串口(rxd/p3.0,txd/p3.1)直接下載用戶程序,數(shù)秒即可完成一片8. 具有eeprom功能9. 具有看門狗功能10. 共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器t0、t1、t211. 外部中斷4路,下降沿中斷或低電平觸發(fā)電路,power down模式可由外部中斷低電平觸發(fā)中斷方式喚醒12. 通用異步串行口(uart)
13、,還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)uart13. 工作溫度范圍:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí))14. pdip封裝2.1.2 stc89c5管腳說明圖1 stc管腳分布圖vcc(40引腳):電源電壓vss(20引腳):接地p0端口(p0.0p0.7,3932引腳):p0口是一個(gè)漏極開路的8位雙向i/o口。作為輸出端口,每個(gè)引腳能驅(qū)動(dòng)8個(gè)ttl負(fù)載,對(duì)端口p0寫入“1”時(shí),可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時(shí),p0口內(nèi)部上拉電阻有效。在flash rom編程時(shí),p0端口接收指令字節(jié);而在校驗(yàn)程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外
14、接上拉電阻。p1端口(p1.0p1.7,18引腳):p1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o口。p1的輸出緩沖器可驅(qū)動(dòng)(吸收或者輸出電流方式)4個(gè)ttl輸入。對(duì)端口寫入1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。p1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流(iil)。此外,p1.0和p1.1還可以作為定時(shí)器/計(jì)數(shù)器2的外部技術(shù)輸入(p1.0/t2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體參見下表1。表1 p1.0和p1.1引腳復(fù)用功能引腳號(hào)功能特性p1.0t2(定時(shí)器/計(jì)數(shù)器2外部計(jì)數(shù)輸入),時(shí)鐘輸出p1.1t2ex(定時(shí)器/計(jì)
15、數(shù)器2捕獲/重裝觸發(fā)和方向控制)在對(duì)flash rom編程和程序校驗(yàn)時(shí),p1接收低8位地址。p2端口(p2.0p2.7,2128引腳):p2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o端口。p2的輸出緩沖器可以驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)ttl輸入。對(duì)端口寫入1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電平,這時(shí)可用作輸入口。p2作為輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(iil)。在訪問外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“movx dptr”指令)時(shí),p2送出高8位地址。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“movx r1”指令)時(shí),p2口引腳上的內(nèi)
16、容(就是專用寄存器(sfr)區(qū)中的p2寄存器的內(nèi)容),在整個(gè)訪問期間不會(huì)改變。在對(duì)flash rom編程和程序校驗(yàn)期間,p2也接收高位地址和一些控制信號(hào)。p3端口(p3.0p3.7,1017引腳):p3是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o端口。p3的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)ttl輸入。對(duì)端口寫入1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。p3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流(iil)。在對(duì)flash rom編程或程序校驗(yàn)時(shí),p3還接收一些控制信號(hào)。p3口除作為一般i/o口外,還有其他一些復(fù)用功能,如表2所示:表2 p
17、3口引腳復(fù)用功能引腳號(hào)復(fù)用功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2(外部中斷0)p3.3(外部中斷1)p3.4t0(定時(shí)器0的外部輸入)p3.5t1(定時(shí)器1的外部輸入)p3.6(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7(外部數(shù)據(jù)存儲(chǔ)器讀選通)rst(9引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來完成單片機(jī)單片機(jī)的復(fù)位初始化操作??撮T狗計(jì)時(shí)完成后,rst引腳輸出96個(gè)晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無(wú)效。disrto默認(rèn)狀態(tài)下,復(fù)位高電平有效。ale/prog(30引腳):地址鎖存控制信號(hào)(ale)是訪問外部
18、程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(prog)也用作編程輸入脈沖。在一般情況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ale脈沖將會(huì)跳過。如果需要,通過將地址位8eh的sfr的第0位置“1”,ale操作將無(wú)效。這一位置“1”,ale僅在執(zhí)行movx或mov指令時(shí)有效。否則,ale將被微弱拉高。這個(gè)ale使能標(biāo)志位(地址位8eh的sfr的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。(29引腳):外部程序存儲(chǔ)器選通信號(hào)()是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)at89c51rc從外部程序存儲(chǔ)器執(zhí)
19、行外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。/vpp(31引腳):訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000h到ffffh的外部程序存儲(chǔ)器讀取指令,必須接gnd。注意加密方式1時(shí),將內(nèi)部鎖定位reset。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接vcc。在flash編程期間,也接收12伏vpp電壓。xtal1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。xtal2(18引腳):振蕩器反相放大器的輸入端。2.1. 主系統(tǒng)電路圖圖2為單片機(jī)主系統(tǒng)電路圖,圖中接口j5為串行下載口。cry1為晶體振蕩器,與c6、c7構(gòu)成單片機(jī)的時(shí)鐘電路;r2和c3為單片機(jī)的上電復(fù)位電路
20、;同時(shí)除了單片機(jī)電源管腳(40腳和20腳)接上電源以外,第31腳也必須接上正電源,否則單片機(jī)不能工作。因此,圖2也稱之為單片機(jī)最小系統(tǒng),只有滿足圖2電路條件后,單片機(jī)才能工作。圖2主系統(tǒng)電路圖2.2 ds1302時(shí)鐘源ds1302時(shí)鐘芯片是dallas公司推出的具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)鐘電路、ds1302的結(jié)構(gòu)、工作原理及其在實(shí)時(shí)顯示時(shí)間中的應(yīng)用。它可以對(duì)年、月、日、周、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。2.2.1 ds1302的結(jié)構(gòu)及工作原理ds1302 是美國(guó)dallas公司推出的一種高性能、低功耗、帶ram的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行
21、計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5v5.5v。采用三線接口與cpu進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或ram數(shù)據(jù)。ds1302內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的ram寄存器。ds1302是ds1202的升級(jí)產(chǎn)品,與ds1202兼容,但增加了主電源/后備電源雙電源引腳, 同時(shí)提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。2.2.2 引腳功能及結(jié)構(gòu) ds1302的引腳排列,其中vcc1為后備電源,vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。ds1302由vcc1或vcc2兩者中的較大者供電。當(dāng)vcc2大于vcc1+0.2v時(shí),vcc2給ds1302供電
22、。當(dāng)vcc2小于vcc1時(shí),ds1302由vcc1供電。x1和x2是振蕩源,外接32.768khz晶振。rst是復(fù)位/片選線,通過把rst輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。rst輸入有兩種功能:首先,rst接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,rst提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)rst為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)ds1302進(jìn)行操作。如果在傳送過程中rst置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,i/o引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在vcc2.0v之前,rst必須保持低電平。只有在sclk為低電平時(shí),才能將rst置為高電平。i/o為串行數(shù)據(jù)輸入輸出端(雙向),
23、后面有詳細(xì)說明。sclk為時(shí)鐘輸入端。圖3為ds1302的引腳功能圖。圖3 ds1302的引腳圖2.2.3 ds1302的控制字節(jié)ds1302 的控制字如圖4所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入ds1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取ram數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。圖4 ds1302控制字節(jié)圖2.2.4 數(shù)據(jù)輸入輸出(i/o)在控制指令字輸入后的下一個(gè)sclk時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入ds1302,數(shù)據(jù)輸入從低位即位0開始。同樣
24、,在緊跟8位的控制指令字后的下一個(gè)sclk脈沖的下降沿讀出ds1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。圖5、圖6分別為ds1302的讀寫控制時(shí)序圖。圖5 ds1302讀時(shí)序圖6 ds1302寫時(shí)序2.2.5 ds1302的寄存器ds1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為bcd碼形式,其日歷、時(shí)間寄存器及其控制。此外,ds1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與ram相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 ds1302與ram相關(guān)的寄存器分為兩類:一類是單個(gè)ram單元,共31個(gè),每個(gè)單元組
25、態(tài)為一個(gè)8位的字節(jié),其命令控制字為c0hfdh,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的ram寄存器,此方式下可一次性讀寫所有的ram的31個(gè)字節(jié),命令控制字為feh(寫)、ffh(讀)。2.2.6 ds1302與cpu的連接實(shí)際上,在調(diào)試程序時(shí)可以不加電容器,只加一個(gè)32.768khz 的晶振即可。只是選擇晶振時(shí),不同的晶振,誤差也較大。另外,還可以在上面的電路中加入ds18b20,同時(shí)顯示實(shí)時(shí)溫度。只要占用cpu一個(gè)口線即可。 lcd還可以換成led,還可以使用北京衛(wèi)信杰科技發(fā)展有限公司生產(chǎn)的10位多功能8段液晶顯示模塊lcm101,內(nèi)含看門狗(wdt)/時(shí)鐘發(fā)生器及兩種頻率的
26、蜂鳴器驅(qū)動(dòng)電路,并有內(nèi)置顯示ram,可顯示任意字段筆劃,具有34線串行接口,可與任何單片機(jī)、ic接口。功耗低,顯示狀態(tài)時(shí)電流為2a (典型值),省電模式時(shí)小于1a,工作電壓為2.4v3.3v,顯示清晰。2.2.7 ds1302硬件電路圖7為ds1302工作電路圖,cry2為32.768k的晶體振蕩器。國(guó)產(chǎn)ds1302的sclk、i/o、rst管腳與單片機(jī)i/o相連接時(shí),必須加上上拉電阻才可以,否則數(shù)據(jù)讀取不穩(wěn)定,接法如圖8所示。 圖7ds1302電 圖8ds1302i/o上拉電阻2.3 lcd1602顯示電路lcd1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣
27、型液晶模塊。它由若干個(gè)5x7或者5x11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形。1602lcd是指顯示的內(nèi)容為16x2,即可以顯示兩行,每行16個(gè)字符液晶模塊。2.3.1 管腳功能 標(biāo)準(zhǔn)16教接口,其中: 第1腳:vss為電源地; 第2腳:vcc接5v電源正極;第3腳:v0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10k的電位器調(diào)整對(duì)比度)。第4腳:rs為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平
28、0時(shí)選擇指令寄存器;第5腳:rw為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作;第6腳:e(或en)端為使能(enable)端;第714腳:d0d7為8位雙向數(shù)據(jù)端;第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。2.3.2 lcd1602的特性+3.3v電壓,對(duì)比度可調(diào);內(nèi)含復(fù)位電路;提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能;有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器ddram;內(nèi)建有192個(gè)5x7點(diǎn)陣的字型的字符發(fā)生器cgrom;8個(gè)可由用戶自定義的5x7的字符發(fā)生器cgram。2.3.3 指令集 1602通過d0d7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示
29、模式設(shè)置: 0x38 設(shè)置162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口; 顯示開關(guān)及光標(biāo)設(shè)置:1dcb d顯示(1有效)、c光標(biāo)顯示(1有效)、b光標(biāo)閃爍(1有效);0000 01ns n=1(讀或?qū)懸粋€(gè)字符后地址指針加1 &光標(biāo)加1),n=0(讀或?qū)懸粋€(gè)字符后地址指針減1 &光標(biāo)減1),s=1 且 n=1 (當(dāng)寫一個(gè)字符后,整屏顯示左移)s=0 當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng);數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80h,所以數(shù)據(jù)地址為80h+地址碼(0-27h,40-67h)。2.3.4 lcd1602特性及應(yīng)用微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。在日常生活中,我們對(duì)液晶
30、顯示器并不陌生,液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計(jì)算器、萬(wàn)用表、電子表及很多家用電子產(chǎn)品例如在電飯煲、電磁爐、功放、攝像機(jī)中都可以看到,顯示的主要是數(shù)字、專用符號(hào)和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、led數(shù)碼管、液晶顯示器。發(fā)光管和led數(shù)碼管比較常用,軟硬件都比較簡(jiǎn)單,在前面章節(jié)已經(jīng)介紹過,在此不作介紹,本章重點(diǎn)介紹字符型液晶顯示器的應(yīng)用。2.3.5 lcd1602操作控制1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(cgrom)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固
31、定的代碼,比如大寫的英文字母“a”的代碼是01000001b(41h),顯示時(shí)模塊把地址41h中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“a”。因?yàn)?602識(shí)別的是ascii碼,試驗(yàn)可以用ascii碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如a。圖9 1602的16進(jìn)制ascii碼表地址2.3.6 lcd1602電路圖10是lcd1602模塊的電路圖,j100是接口,lcd數(shù)據(jù)位為p00至p07,控制腳分別為rs、rw、lcden。圖10 lcd1602電路2.4 蜂鳴器報(bào)時(shí)電路 蜂鳴器報(bào)時(shí)電路如圖11,由一個(gè)8050npn型三極管和一個(gè)蜂鳴器組成。三極管放大電流,驅(qū)動(dòng)蜂鳴器。蜂
32、鳴器為有源蜂鳴器,上電后由其內(nèi)部震蕩器產(chǎn)生一定頻率,發(fā)出聲音。 圖11 蜂鳴器電路 圖12獨(dú)立按鍵2.5 按鍵電路電路有四個(gè)獨(dú)立按鍵:加、減、確定、退出,用來調(diào)節(jié)時(shí)間和日期,電路如圖12所示。3 整體電路圖整體電路圖如圖13,u1為stc單片機(jī),j5為單片機(jī)下載口,s1為按鍵開關(guān)。此系統(tǒng)用5v供電,工作電流不超過10ma.圖13數(shù)字時(shí)鐘整體電路圖4 程序設(shè)計(jì)4.1 程序設(shè)計(jì)內(nèi)容程序分三個(gè)模塊,分別是:主程序模塊、lcd1026液晶顯示模塊、ds1302時(shí)鐘源模塊。結(jié)束按鍵檢測(cè)寫lcd1602讀取ds1302啟動(dòng)、初始化4.2 程序流程圖寫ds1302修改時(shí)間圖14程序流程圖程序開始時(shí),設(shè)置液晶
33、lcd1602顯示模式,進(jìn)入主循環(huán);讀取ds1302,獲得時(shí)間,立即由lcd162顯示出來,同時(shí)檢測(cè)按鍵,完成一個(gè)周期。如果有按鍵按下,則進(jìn)入時(shí)間修改程序,若要修改時(shí)間,設(shè)置好時(shí)間后,按確認(rèn)鍵即可將新的時(shí)間寫入ds1302,完成修改時(shí)間。4.3 c語(yǔ)言源程序c語(yǔ)言源程序主要分三個(gè)模塊,分別如下:1.#include:主函數(shù)模塊; 2.#include lcd1602.h:lcd1602顯示模塊;3.#include ds1302.h:ds1302時(shí)鐘源模塊。詳細(xì)程序見附錄二5 結(jié)論完成了數(shù)字時(shí)鐘的設(shè)計(jì),學(xué)會(huì)了使用ds1302芯片,國(guó)產(chǎn)的ds1302時(shí)鐘芯片不管用單片機(jī)的哪個(gè)io口,都需要加上上
34、拉電阻,否則讀到的數(shù)據(jù)是一連串的“85”。同時(shí),學(xué)會(huì)了查找資料,整個(gè)過程使用了altium designer軟件進(jìn)行畫圖和仿真,并用keilc單片機(jī)知識(shí)進(jìn)行編程以完成設(shè)計(jì)要求的功能。我已經(jīng)盡了自己的最大努力,也從中學(xué)到了很多知識(shí),獲益匪淺。謝 辭感謝學(xué)院給我們提供這樣的實(shí)踐動(dòng)手機(jī)會(huì),并通過課程設(shè)計(jì)使我們能夠有機(jī)會(huì)將書本上學(xué)到的知識(shí)運(yùn)用到的實(shí)際中去。感謝李老師監(jiān)督我及時(shí)完成了本次課程設(shè)計(jì),在此特別感謝李老師和給予我?guī)椭耐瑢W(xué)。參考文獻(xiàn)1 劉文濤. mcs-51單片機(jī)培訓(xùn)教程(c51)版.電子工業(yè)出版社, 2005.8.2 王宜懷.單片機(jī)原理及其嵌入式應(yīng)用教程.北京希望電子出版社, 2002.8.
35、3 邵貝貝.單片機(jī)嵌入式應(yīng)用的在線開發(fā)方法.清華大學(xué)出版社, 2006.3.4 白駒珩,雷曉平編.單片計(jì)算機(jī)及其應(yīng)用.電子科技大學(xué)出版社,1994.55 jean j.labrosse 著. 嵌入式系統(tǒng)構(gòu)件.袁勤勇等譯.北京:機(jī)械工業(yè)出版社, 2002.6 譚浩強(qiáng).c程序設(shè)計(jì)程序設(shè)計(jì)程序設(shè)計(jì)程序設(shè)計(jì),清華大學(xué)出版社,2008.8.27 賈振國(guó):ds18b20 及高精度溫度測(cè)量的實(shí)現(xiàn),電子技術(shù)應(yīng)用,2000.1,p9-p148 偉 正:?jiǎn)尉€數(shù)字溫度傳感器的原理與應(yīng)用,電子技術(shù)應(yīng)用,2000.6,p23-p319 周月霞、孫傳友:ds18b20 硬件連接及軟件編程,傳感器世界,2001.8,p13
36、-p2110 8051系列單片機(jī)c程序設(shè)計(jì)完全手冊(cè),人民郵電出版社,1996.3,p25-p29附 錄 一 pcb版圖附 錄 二c語(yǔ)言源程序:頂層模塊:#include /包含單片機(jī)寄存器的頭文件#include lcd1602.h#include ds1302.h/*以下是ds1302芯片的操作程序*/unsigned char code digit10=0123456789; /定義字符數(shù)組顯示數(shù)字char second,minute,hour,day,month,year;bit flag=0; /*sbit set =p02;sbit cancel=p01;sbit left =p03
37、;sbit right =p00;*/sbit left =p34;sbit right =p35;sbit set =p36;sbit cancel=p37;sbit sound =p20;/*函數(shù)功能:延時(shí)若干微秒入口參數(shù):n*/ void delaynms(unsigned char n) unsigned char i; for(i=0;in;i+) ;void dlay()unsigned char i,j,k;for(i=0;i30;i+)for(j=0;ji;j+)for(k=0;kj;k+);/*函數(shù)功能:顯示秒入口參數(shù):x*/ void displaysecond(unsig
38、ned char x) unsigned char i,j; /j,k,l分別儲(chǔ)存溫度的百位、十位和個(gè)位i=x/10;/取十位j=x%10;/取個(gè)位 /writeaddress(0x49); /寫顯示地址,將在第行第列開始顯示writedata(digiti); /將百位數(shù)字的字符常量寫入lcdwritedata(digitj); /將十位數(shù)字的字符常量寫入lcddelaynms(50); /延時(shí)ms給硬件一點(diǎn)反應(yīng)時(shí)間 /*函數(shù)功能:顯示分鐘入口參數(shù):x*/ void displayminute(unsigned char x) unsigned char i,j; /j,k,l分別儲(chǔ)存溫度的
39、百位、十位和個(gè)位i=x/10;/取十位j=x%10;/取個(gè)位 /writeaddress(0x46); /寫顯示地址,將在第行第列開始顯示writedata(digiti); /將百位數(shù)字的字符常量寫入lcdwritedata(digitj); /將十位數(shù)字的字符常量寫入lcddelaynms(50); /延時(shí)ms給硬件一點(diǎn)反應(yīng)時(shí)間 /*函數(shù)功能:顯示小時(shí)入口參數(shù):x*/ void displayhour(unsigned char x) unsigned char i,j; /j,k,l分別儲(chǔ)存溫度的百位、十位和個(gè)位i=x/10;/取十位j=x%10;/取個(gè)位 /writeaddress(0
40、x43); /寫顯示地址,將在第行第列開始顯示writedata(digiti); /將百位數(shù)字的字符常量寫入lcdwritedata(digitj); /將十位數(shù)字的字符常量寫入lcddelaynms(50); /延時(shí)ms給硬件一點(diǎn)反應(yīng)時(shí)間 /*函數(shù)功能:顯示日入口參數(shù):x*/ void displayday(unsigned char x) unsigned char i,j; /j,k,l分別儲(chǔ)存溫度的百位、十位和個(gè)位i=x/10;/取十位j=x%10;/取個(gè)位 /writeaddress(0x0c); /寫顯示地址,將在第行第列開始顯示writedata(digiti); /將百位數(shù)字
41、的字符常量寫入lcdwritedata(digitj); /將十位數(shù)字的字符常量寫入lcddelaynms(50); /延時(shí)ms給硬件一點(diǎn)反應(yīng)時(shí)間 /day_temp=j; /*函數(shù)功能:顯示月入口參數(shù):x*/ void displaymonth(unsigned char x) unsigned char i,j; /j,k,l分別儲(chǔ)存溫度的百位、十位和個(gè)位i=x/10;/取十位j=x%10;/取個(gè)位 /writeaddress(0x09); /寫顯示地址,將在第行第列開始顯示writedata(digiti); /將百位數(shù)字的字符常量寫入lcdwritedata(digitj); /將十位
42、數(shù)字的字符常量寫入lcddelaynms(50); /延時(shí)ms給硬件一點(diǎn)反應(yīng)時(shí)間 /*函數(shù)功能:顯示年入口參數(shù):x*/ void displayyear(unsigned char x) unsigned char i,j; /j,k,l分別儲(chǔ)存溫度的百位、十位和個(gè)位i=x/10;/取十位j=x%10;/取個(gè)位 /writeaddress(0x06); /寫顯示地址,將在第行第列開始顯示writedata(digiti); /將百位數(shù)字的字符常量寫入lcdwritedata(digitj); /將十位數(shù)字的字符常量寫入lcddelaynms(50); /延時(shí)ms給硬件一點(diǎn)反應(yīng)時(shí)間 /時(shí)間設(shè)定/
43、 時(shí)間設(shè)定/void timeset()/char s_year,char s_month,char s_day,char s_hour,char s_minute,char s_secondunsigned char h;h=1;while(flag)if(h=1)writeaddress(0x02);print(_);dlay();writeaddress(0x02);displayhour(hour); /顯示小時(shí)dlay();if(!left) delaynms(10); while(!left);hour-;if(hour23)hour=0;if(!set) delaynms(10)
44、; while(!set);h+;/if(h7)h=1;if(!cancel) delaynms(10); while(!cancel);flag=0;h=7; if(h=2)writeaddress(0x05);print(_);dlay();writeaddress(0x05);displayminute(minute); /顯示分dlay();if(!left) delaynms(10); while(!left);minute-;if(minute59)minute=0;if(!set) delaynms(10); while(!set);h+;/if(h7)h=1;if(!cancel) delaynms(10); while(!cancel);flag=0;h=7; if(h=3)writeaddress(0x08);print(_);dlay();writeaddress(0x08);displaysecond(second); /顯示秒dlay();if(!left) delaynms(10); while(!left);second-;if(second59)second=0;if(!set) del
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 橋梁安全施工
- 軟件工程教程(微課版)課件 第7章 面向?qū)ο笤O(shè)計(jì)
- 急性腦卒中的救治流程
- 藥學(xué)專業(yè)安全用藥知識(shí)宣傳
- 血管外科知識(shí)
- 大班攀爬架安全
- 行政審批管理培訓(xùn)
- 脊髓損傷的護(hù)理常規(guī)
- 藍(lán)色安全教育主題班會(huì)
- 知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓協(xié)議內(nèi)容及要點(diǎn)大綱概括
- 《改革開放史》教學(xué)大綱
- 鐵路機(jī)車車輛制動(dòng)鉗工(高級(jí))職業(yè)鑒定考試題及答案(新版)
- 統(tǒng)編版語(yǔ)文七年級(jí)上冊(cè)第三單元整本書閱讀《朝花夕拾》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 2024-2030年中國(guó)輻射探測(cè)器行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- HSE知識(shí)能力測(cè)驗(yàn)試題大全附答案
- 國(guó)際經(jīng)濟(jì)與貿(mào)易《大學(xué)生專業(yè)勞動(dòng)實(shí)踐》教學(xué)大綱
- 工作談心談話100篇簡(jiǎn)短
- 養(yǎng)老機(jī)構(gòu)認(rèn)知癥老人非藥物干預(yù)療法操作指南
- 一例結(jié)腸穿孔手術(shù)患者護(hù)理查房
- 《鐵路職業(yè)道德》課件-3.1 鐵路職業(yè)意識(shí)
- 生物材料伴我行 知到智慧樹網(wǎng)課答案
評(píng)論
0/150
提交評(píng)論