版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程名稱:單片機課程設(shè)計設(shè)計題目: 單片機led點陣顯示電子鐘 院 系: 電氣工程系 專 業(yè): 電子信息工程 年 級: 2010 級 姓 名: 指導(dǎo)教師: 趙琳 西南交通大學(xué)峨眉校區(qū) 2013年 月 日 1緒論 1.1 led點陣顯示電子鐘的背景及意義在日常生活中,大家見到的都是數(shù)碼管制作的電子鐘,led點陣時鐘則不多見。用單片機控制的led點陣顯示電子鐘具有結(jié)構(gòu)簡單、性能可靠、成本低廉、價格便宜和顯示靈活等優(yōu)點,其應(yīng)用前景廣闊。之所以使用led點陣電子屏顯示,是與它本身所具有的優(yōu)點分不開的1。這些優(yōu)點概括起來就是:亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩(wěn)定。在實際應(yīng)用中的顯
2、示屏由于成本和可靠性的因素常采用一種動態(tài)掃描的顯示方法。本文設(shè)計的是一個室內(nèi)用16塊88點陣時鐘顯示屏,數(shù)字采用靜止顯示方式。電子鐘是一種利用數(shù)字電路來顯示秒、分、時的計時裝置,與傳統(tǒng)的機械鐘相比,它具有走時準確、顯示直觀、無機械傳動裝置等優(yōu)點,因而得到廣泛應(yīng)用。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進的石英技術(shù),使數(shù)字鐘走時更準確、性能更穩(wěn)定。由于用led點陣顯示數(shù)據(jù),在夜晚或黑暗的場合里也可以使用,具有一定的實用性。隨著人們生活環(huán)境的不斷改善和美化,在許多場合都可以看到led點陣顯示電子鐘。在城市的主要營業(yè)場所、車站、碼頭等公共場所使用led數(shù)字電子鐘已經(jīng)成為一種時尚2。 1.2 設(shè)計任務(wù)及
3、要求任務(wù):利用at89c52單片機結(jié)合led點陣顯示器設(shè)計一個電子鐘。電子時鐘將在16塊88點陣顯示屏上分別顯示(小時十位)、(小時個位)、(:)、(分十位)、(分個位)(:)(秒十位)、(秒個位)。設(shè)計一種基于at89c52單片機的led點陣顯示時鐘,基本設(shè)計要求如下:(1) 電子鐘的基本功能,也就是計時的功能,要保證電子鐘的正常工作,正常計時。(2) 時鐘的顯示由led點陣構(gòu)成,格式為xx:xx:xx(時:分:秒),點陣為88點陣顯示屏。(3) 能正確顯示時間,上電顯示為當前時間 。 2 總體方案設(shè)計及論證在本章節(jié)中將對總體的方案進行闡述,同時將對可能用到的元器件進行詳細介紹,以便接下來的
4、設(shè)計工作能順利,有效的進行打下結(jié)實的基礎(chǔ)。 2.1 系統(tǒng)方案因為是應(yīng)用at89c52單片機來實現(xiàn)控制,所以系統(tǒng)總的方案集中在兩個部分,一個是硬件結(jié)構(gòu)的設(shè)計,一個是控制的總體思想。在本小節(jié)中將對這兩部分內(nèi)容進行簡單的敘述。 2.1.1 硬件結(jié)構(gòu)根據(jù)項目的功能和要求,可采用at89c52單片機作為核心控制器。led點陣電子鐘系統(tǒng)組成包括:晶振電路模塊、顯示電路模塊、顯示行驅(qū)動電路模塊、 電源模塊。 2.1.2 控制思想led點陣電子鐘程序主要功能是屏幕顯示時間穩(wěn)定,精確。所以按照分塊設(shè)計的方法可以把程序分為主程序、顯示程序、計時程序。主程序主要是用來初始化系統(tǒng)和控制各個子程序之間執(zhí)行的順序。顯示程
5、序用來完成數(shù)字在led點陣上的顯示,時鐘的顯示是使用16塊88點陣顯示屏。計時程序用來完成計時,數(shù)時功能。 2.2 設(shè)計方案論證 由時鐘電路經(jīng)轉(zhuǎn)換子程序轉(zhuǎn)換成適應(yīng)led點陣顯示屏顯示的數(shù)據(jù),并通過單片機的輸出功能輸入到led點陣顯示屏,再通過顯示掃描程序,顯示出時鐘的走時時間。用計時程序來完成計時,數(shù)時功能,再通過單片機綜合控制將數(shù)字顯示出來。由此可見,通過at89c52單片機的控制功能,完全可以實現(xiàn)led點陣顯示電子鐘。2.3 主要元器件選擇主要用到的硬件有:at89c52單片機,88點陣屏,74hc245總線收發(fā)器,ds1302實時時鐘電路 , 74hc154譯碼器,12mhz晶振。2.3
6、.1 88點陣顯示屏圖2.2為88點陣led外觀及引腳圖,其等效電路如圖2.3所示,只要其對應(yīng)的dc、dr軸順向偏壓,即可使led發(fā)亮。例如如果想使圖2.3左上角led點亮,則dc8=1,dr1=0即可。應(yīng)用時限流電阻可以放在dc軸或dr軸。88點陣led外觀及引腳如圖2.24。dc3 dc6 dr4 dc8 dr6 dr7 dc7 dc5dc1 dr5 dr3 dc4 dr8 dc2 dr2 dr188點陣焊接面引腳 圖2.2圖2.3為88點陣led等效電路,由此可以看出點陣是用64個led組成的。點陣led掃描法介紹:從圖2.3中可以看出,88點陣共需要64個發(fā)光二極管組成,且每個發(fā)光二極
7、管是放置在行線和列線的交叉點上,當對應(yīng)的某一列置1電平,某一行置0電平,則相應(yīng)的二極管就亮。頻率必須大于128赫茲,周期小于7.8毫秒即可符合視覺暫留要求。此外一次驅(qū)動一列或一行(8盞led)時需外加驅(qū)動電路提高電流,否則led亮度會不足。 圖2.32.3.2 74hc245總線收發(fā)器 總線收發(fā)器(bus transceiver),典型的cmos型三態(tài)緩沖門電路。由于單片機或cpu的數(shù)據(jù)/地址/控制總線端口都有一定的負載能力,如果負載超過其負載能力,一般應(yīng)加驅(qū)動器。 第1腳dir,為輸入輸出端口轉(zhuǎn)換用,dir=“1”高電平時信號由“a”端輸入“b”端輸出,dir=“0”低電平時信號由“b”端輸
8、入“a”端輸出。第29腳“a”信號輸入輸出端,a0=b0、a7=b7,a0與b0是一組,如果dir=“1”oe=“0”則a1輸入b1輸出,其它類同。如果dir=“0”oe=“0”則b1輸入a1輸出,其它類同。第1118腳“b”信號輸入輸出端,功能與“a”端一樣,不再描述。第19腳oe,使能端,若該腳為“1”a/b端的信號將不導(dǎo)通,只有為“0”時a/b端才被啟用,該腳也就是起到開關(guān)的作用。第10腳gnd,電源地。第20腳vcc,電源正極。2.3.3 ds1302實時時鐘電路 ds1302的引腳排列,其中vcc1為后備電源,vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。ds130
9、2由vcc1或vcc2兩者中的較大者供電。當vcc2大于vcc1+0.2v時,vcc2給ds1302供電。當vcc2小于vcc1時,ds1302由vcc1供電。x1和x2是振蕩源,外接32.768khz晶振。rst是復(fù)位/片選線,通過把rst輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。rst輸入有兩種功能:首先,rst接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,rst提供終止單字節(jié)或多字節(jié)數(shù)據(jù)傳送的方法。當rst為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對ds1302進行操作。如果在傳送過程中rst置為低電平,則會終止此次數(shù)據(jù)傳送,i/o引腳變?yōu)楦咦钁B(tài)。上電運行時,在vcc2.0v之前,rs
10、t必須保持低電平。只有在sclk為低電平時,才能將rst置為高電平。i/o為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細說明。sclk為時鐘輸入端。 下圖為ds1302的引腳功能 : 小時寄存器d7位為12小時/24小時制的選擇位,當為1時選12小時制,當為0時選24小時制。當為1時鐘暫停,為0時鐘開啟。寫保護寄存器的wp為寫保護位,當wp=1,寫保護,當wp=0未寫保護,當對日歷、時鐘寄存器或片內(nèi)ram進行寫時wp應(yīng)清零,當對日歷、時鐘寄存器或片內(nèi)ram進行讀時wp一般置1. 2.3.4 74hc154譯碼器74hc154是一款高速cmos器件,74hc154引腳兼容低功耗肖特基ttl(lsttl
11、)系列。74hc154譯碼器可接受4位高有效二進制地址輸入,并提供16個互斥的低有效輸出。74hc154的兩個輸入使能門電路可用于譯碼器選通,以消除輸出端上的通常譯碼“假信號”,也可用于譯碼器擴展。該使能門電路包含兩個“邏輯與”輸入,必須置為低以便使能輸出端。任選一個使能輸入端作為數(shù)據(jù)輸入,74hc154可充當一個1-16的多路分配器。當其余的使能輸入端置低時,地址輸出將會跟隨應(yīng)用的狀態(tài)。引腳說明1-11 13-17 :輸出端。(outputs (active low))12:gnd電源地 (ground (0 v))18-19:使能輸入端、低電平有效 (enable inputs (acti
12、ve low)20-23:地址輸入端 (address inputs)24:vcc電源正 (positive supply voltage)2.3.5 at89c52單片機微處理器采用at89c52系列單片機,at89c52單片機是這幾年在我國非常流行的單片機,是一種帶8k字節(jié)閃存器的高性能單片機,可擦除存儲器可以反復(fù)擦除100次,具有低功耗,高性能的特點,并且可與工業(yè)標準的msc-51指令集和輸出管腳相兼容,對于本設(shè)計需要實現(xiàn)的功能,完全可勝任73 硬件電路設(shè)計 元器件表 元件名稱 型號 個數(shù) 用途 單片機 at89c52 1 控制核心led點陣 88 16 顯示電路總線收發(fā)器 74hc24
13、5 4 信號功率放大實時時鐘電路 ds1302 1 記時集成塊 74hc154 4 行掃描 排阻 10k*8 1 上拉電阻 4 軟件部分設(shè)計#include#define uchar unsigned char#define uint unsigned int#define set_out(x) x = 1#define clr_out(x) x = 0sbit e0=p30;sbit e1=p31;sbit e2=p32;sbit e3=p33;sbit ds1302_rst=p35;sbit ds1302_io=p37; /定義ds1302引腳sbit ds1302_sclk=p36;sb
14、it acc0=acc0;sbit acc7=acc7;char done,count,temp,flag,up_flag,down_flag,count;idata uint m,z,l,d;idata uint c0,c1,c2,c3,c4,c5,c6,c7;uchar read_byte();uchar read_data_ds1302(uchar taddr);void write_byte(uchar tdata);void write_data_ds1302(uchar taddr,uchar tdata);void set_ds1302(uchar *p1302);void ge
15、t_ds1302() ;void init_ds1302();uchar initial_time=0x30,0x57,0x17,0x18,0x05,0x01,0x11 / 秒 分 時 日 月 周 年uchar data now_time7;/*字模0-9*/uchar code led1116= /*0 char_30 */0x00,0x00,0xe0,0x0f,0xf0,0x1f,0x18,0x30,0x08,0x20,0x18,0x30,0xf0,0x1f,0xe0,0x0f,/*1 char_31 */0x00,0x00,0x10,0x20,0x10,0x20,0xf8,0x3f,0x
16、f8,0x3f,0x00,0x20,0x00,0x20,0x00,0x00,/*2 char_32 */0x00,0x00,0x70,0x30,0x78,0x38,0x08,0x2c,0x08,0x26,0x88,0x23,0xf8,0x31,0x70,0x30,/*3 char_33 */0x00,0x00,0x30,0x18,0x38,0x38,0x88,0x20,0x88,0x20,0xc8,0x31,0x78,0x1f,0x30,0x0e,/*4 char_34 */0x00,0x00,0x00,0x07,0xc0,0x07,0xe0,0x24,0x30,0x24,0xf8,0x3f,
17、0xf8,0x3f,0x00,0x24,/*5 char_35 */0x00,0x00,0xf8,0x19,0xf8,0x39,0x88,0x21,0x88,0x20,0x88,0x31,0x08,0x1f,0x08,0x0e,/*6 char_36 */0x00,0x00,0xe0,0x0f,0xf0,0x1f,0x98,0x31,0x88,0x20,0x98,0x31,0x18,0x1f,0x00,0x0e,/*7 char_37 */0x00,0x00,0x38,0x00,0x38,0x00,0x08,0x3f,0xc8,0x3f,0xf8,0x00,0x38,0x00,0x08,0x0
18、0,/*8 char_38 */0x00,0x00,0x70,0x1c,0xf8,0x3e,0x88,0x23,0x08,0x21,0x88,0x23,0xf8,0x3e,0x70,0x1c,/*9 char_39 */0x00,0x00,0xe0,0x00,0xf0,0x31,0x18,0x33,0x08,0x22,0x18,0x33,0xf0,0x1f,0xe0,0x0f,/*: char_3a */0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x30,0xc0,0x30,0xc0,0x30,0x00,0x00,0x00,0x00;/*ds1302模塊部分*/uc
19、har read_byte()/從1302中讀出一字節(jié)數(shù)據(jù) uchar i; for(i=8;i0;i-) acc=acc1; acc7=ds1302_io;/由于ds1302讀數(shù)據(jù)的時候,第一個數(shù)據(jù)讀取在發(fā)一個byte命令后,在第八位的下降沿 ds1302_sclk=1; ds1302_sclk=0;/產(chǎn)生下降沿輸出一位數(shù)據(jù) return(acc);void write_byte(uchar tdata)/向1302中寫入一字節(jié)數(shù)據(jù) uchar i; acc=tdata; for(i=8;i0;i-) ds1302_io=acc0; ds1302_sclk=1; ds1302_sclk=0;
20、/產(chǎn)生上升沿輸入數(shù)據(jù) acc=acc1; void write_data_ds1302(uchar taddr,uchar tdata)/向1302中寫入 地址為taddr的空間 寫入數(shù)據(jù)tdata ds1302_rst=0; ds1302_sclk=0; ds1302_rst=1; write_byte(taddr); write_byte(tdata); ds1302_rst=0; ds1302_sclk=1;uchar read_data_ds1302(uchar taddr)/從1302中讀出地址為taddr的空間數(shù)據(jù) uchar tdata; ds1302_rst=0; ds1302
21、_sclk=0; ds1302_rst=1; write_byte(taddr); tdata=read_byte(); ds1302_rst=0; ds1302_sclk=1; return(tdata);void set_ds1302(uchar *p1302)/ uchar i; uchar taddr = 0x80; write_data_ds1302(0x8e,0x00); /* 控制命令,wp=0,寫操作*/ for(i =7; i0; i-) write_data_ds1302(taddr,*p1302); /* 秒 分 時 日 月 星期 年 */ p1302+; taddr+=
22、2; write_data_ds1302(0x8e,0x80); /* 控制命令,wp=1,寫保護*/void get_ds1302() uchar k; uchar taddr = 0x81; for (k=0; k0;z-)for(y=20;y0;y-); voiddisplay() c0=now_time2/16; /顯示時十c1=now_time2%16;c2=10;c3=now_time1/16; /顯示分十c4=now_time1%16; /顯示分c5=10;c6=now_time0/16; /顯示秒十c7=now_time0%16; /顯示秒 e0=0;e1=1; e2=1;e3
23、=1;for(m=0;m8;m+) p0=p2=0x00;p1=0xff;p1=m; p0=ledc02*m;p2=ledc02*m+1;delay(1);for(m=8;m16;m+) p0=p2=0x00;p1=0xff;p1=m; p0=ledc12*(m-8);p2=ledc12*(m-8)+1;delay(1); e0=1; e1=0; e2=1; e3=1; for(z=0;z8;z+) p0=p2=0x00;p1=0xff;p1=z; p0=ledc22*z;p2=ledc22*z+1;delay(1); for(z=8;z16;z+) p0=p2=0x00;p1=0xff;p1=z; p0=ledc32*(z-8);p2=ledc32*(z-8)+1;delay(1); e0=1; e1=1; e2=0; e3=1;for(l=0;l8;l+) p0=p2=0x00;p1=0xff;p1=l; p0=ledc42*l;p2=ledc42*l+1;delay(1); for(l=8;l16;l+) p0=p2=0x00;p1=0xff;p1=l; p0=ledc52*(l-8);p2=ledc52*(l-8)+1;delay(1); e0=1; e1=1; e2=1; e3=0;for(d=0;d8;d+) p0=p2=0x00;p1=0xff;
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度借款人抵押反擔(dān)保合同簽字確認書范本解讀3篇
- 辦公環(huán)境的智能化與創(chuàng)新教育的發(fā)展
- 2024-2025學(xué)年貴州省黔西南布依族苗族自治州安龍縣數(shù)學(xué)三年級第一學(xué)期期末達標測試試題含解析
- 2024年桶裝水生產(chǎn)商與酒店直供合同3篇
- 初中化學(xué)實驗教學(xué)與科技創(chuàng)新能力的培養(yǎng)
- 醫(yī)療輔助家居產(chǎn)品的設(shè)計創(chuàng)新
- 2025中國郵政集團公司常熟市分公司招聘高頻重點提升(共500題)附帶答案詳解
- 2025中國聯(lián)通湖南分公司春季校園招聘高頻重點提升(共500題)附帶答案詳解
- 2025中國華電集團限公司校招+社招高頻重點提升(共500題)附帶答案詳解
- 2025下半年福建莆田事業(yè)單位招聘331人歷年高頻重點提升(共500題)附帶答案詳解
- 2023年民兵冬訓(xùn)總結(jié)
- 單位就業(yè)人員登記表
- 從 2023-上傳通知測試
- 中廣核研究院熱室設(shè)施建設(shè)項目 環(huán)境影響報告書(建造階段)
- 管網(wǎng)應(yīng)急預(yù)案
- 氣體充裝安全操作規(guī)程
- 輸配電工程施工方案
- 【特應(yīng)性皮炎的研究進展3400字(論文)】
- 街道科普年終工作總結(jié)
- 高中數(shù)學(xué)教案全集10排列組合和概率
- 2021年9月時政題庫(附答案)
評論
0/150
提交評論