




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、J I A N G S U U N I V E R S I T Y 實時顯示電子時鐘創(chuàng)新設(shè)計The innovative design of real-time dynamic display device學(xué)院名稱: 電 氣 學(xué) 院 專業(yè)班級: 電子信息1102班 學(xué)生學(xué)號: 3110503039 學(xué)生姓名: 田 亞 坤 基于單片機的電子時鐘Electronic clock based on MCU摘 要:單片機的應(yīng)用給人們的生活帶來了很大的變化。本文主要介紹了采用STC12C5A60S2單片機實現(xiàn)的電子計時鐘。該電子鐘系統(tǒng)的硬件主要由電源電路,按鍵電路,復(fù)位電路,時鐘電路和蜂鳴器電路等幾部分
2、組成。軟件部分包括主程序,中斷時鐘程序,顯示程序,鬧鐘程序,按鍵程序等。該設(shè)計的主要功能就是實現(xiàn)電子計時及準(zhǔn)點報時,其中計時包括時分鐘秒。關(guān)鍵詞:STC12C5A60S2;單片機;數(shù)字鐘;LED數(shù)碼管Abstract :The application of SCM have brought to the life of people a big change.this paper has mainly introduced the electronic the clock based on STC12C5A60S2. The hardware of the electric clock sys
3、tem mainly includes power supply circuit, key circuits, reset circuit, clocking circuit and a buzzer circuit and so on. Software part includes the main program, the interrupt clock program, show program, alarm clock, procedures, key procedure and so on. Keywords: STC12C5A60S2 microcontroller; Digita
4、l clock;LED digital tube 目 錄一、基于單片機的電子時鐘電路設(shè)計 4 1.單片機實訓(xùn)目的 42.單片機實訓(xùn)要求及其實現(xiàn)的功能 4二、電子時鐘硬件電路設(shè)計方案與設(shè)計方法 41.設(shè)計方案與設(shè)計方法 42.設(shè)計總體框圖 53.設(shè)計應(yīng)用硬件介紹 54.電子時鐘電路原理圖 75.PCB7三、電子時鐘軟件電路設(shè)計方案與設(shè)計方法81.程序設(shè)計方案 82.詳細的程序清單和注釋 9四、設(shè)計過程 191.Proteus仿真電路 19 2.實際電路板調(diào)試 19五、遇到的問題及其處理方法 20六、實訓(xùn)的個人體會及對本次實訓(xùn)的建議20七、參考書目21一、基于單片機的電子時鐘電路設(shè)計 1.單片機實
5、訓(xùn)目的(1) 熟悉單片機應(yīng)用系統(tǒng)的開發(fā)、研制過程;(2) 能運用單片機進行簡單的應(yīng)用系統(tǒng)的硬件設(shè)計;(3) 能運用單片機匯編語言或C51語言進行簡單的應(yīng)用系統(tǒng)的軟件設(shè)計;(4) 掌握單片機應(yīng)用系統(tǒng)的硬件、軟件調(diào)試方法;(5) 檢驗用Proteus進行電路仿真的能力2.單片機實訓(xùn)要求及其實現(xiàn)的功能 【1】單片機實訓(xùn)要求 (1) 根據(jù)設(shè)計功能,選擇元器件,繪制系統(tǒng)原理電路圖;(2) 根據(jù)系統(tǒng)原理圖繪制PCB圖,并用感光板制作PCB板;(3) 完成硬件電路焊接與調(diào)試;(4) 完成軟件編程與調(diào)試;(5) 完成實訓(xùn)報告的撰寫; 【2】實現(xiàn)的功能(1) 用單片機和一個4位LED數(shù)碼管、2個一位數(shù)碼管動態(tài)顯
6、示時、分、秒;(2) 用3個按鍵設(shè)置/修改時分秒的值; 在此次設(shè)計中,采用了三個按鍵實現(xiàn)復(fù)位/設(shè)置/加/減功能;(3) 上電和復(fù)位時的時分秒初值設(shè)為12:00:00二、電子時鐘硬件電路設(shè)計方案與設(shè)計方法1.設(shè)計方案及其設(shè)計方法通過了解和分析此次電子時鐘設(shè)計的要求及其所要實現(xiàn)的功能,參考網(wǎng)上資料、圖書館有些書籍,來選擇此次電子時鐘電路的設(shè)計電路,此次設(shè)計將其電路部分分為10個模塊:單片機,基本復(fù)位電路、晶振電路、功能電路、數(shù)碼管位選電路、數(shù)碼管段選電路、上拉電路、電源整流電路、工作指示燈電路、數(shù)碼管顯示電路。應(yīng)用Proteus的ISIS軟件,編寫簡單的程序來測試電路設(shè)計正確性、可行性、準(zhǔn)確性、實
7、用性,從而確定最后電路方案。2.設(shè)計總體框圖數(shù)碼管顯示STC12C5A60S2D1302時鐘芯片蜂鳴器鍵盤輸入3.設(shè)計應(yīng)用硬件介紹1)DS1302時鐘芯片介紹 DS1302 是DALLAS 公司推出的涓流充電時鐘芯片內(nèi)含有一個實時時鐘/日歷和31 字節(jié)靜態(tài)RAM,可通過簡單的串行接口與單片機進行通信。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。可提供:-秒分時日日期月年的信息-每月的天數(shù)和閏年的天數(shù)可自動調(diào)整-可通過AM/PM
8、 指示決定采用24 或12 小時格式-保持數(shù)據(jù)和時鐘信息時功率小于1mW2)STC12C5A60S2芯片介紹STC12C5A60S2是STC生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換,針對電機控制,強干擾場合。1、增強型8051CPU,1T(1024G),單時鐘/機器周期2、工作電壓 5.5-3.5V3、1280字節(jié)RAM4、通用I/O口,復(fù)位后為:準(zhǔn)雙向口/弱上拉 可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,強推挽/強上拉,僅為輸入/
9、高阻,開漏 每個I/O口驅(qū)動能力均可達到20mA,但整個芯片最大不要超過120mA5、有EEPROM功能6、看門狗7、內(nèi)部集成MAX810專用復(fù)位電路8、外部掉電檢測電路9、時鐘源:外部高精度晶體/時鐘,內(nèi)部R/C振蕩器 常溫下內(nèi)部R/C振蕩器頻率為:5.0V單片機為:1117MHz 3.3V 單片機為:812MHz10、4個16位定時器 兩個與傳統(tǒng)8051兼容的定時器/計數(shù)器,16位定時器T0和T111、3個時鐘輸出口,可由T0的溢出在P3.4/T0輸出時鐘,可由T1的溢出在 P3.5/T1輸出時鐘,獨立波特率發(fā)生器可以在P1.0口輸出時鐘12、外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或電平觸
10、發(fā)中斷,并新增支持上升沿中斷的PCA模塊,Power Down模式可由外部中斷喚醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3,CCP0/P1.313、PWM2路14、A/D轉(zhuǎn)換,10位精度ADC,共8路,轉(zhuǎn)換速度可達250K/S15、通用全雙工異步串行口(UART)16、雙串口,RxD2/P1.2,TxD2/P1.317、工作范圍:-408518、封裝:LQFP-48,LQFP-44,PDIP-40,PLCC 4.電子時鐘電路原理圖5.PCB三、電子時鐘軟件電路設(shè)計方案與設(shè)計方法1.程序設(shè)計方案 此次基于單片機的電子時鐘設(shè)計的
11、軟件系統(tǒng)主要可分為主程序、顯示程序、定時計數(shù)中斷程序、時間調(diào)整程序、延時程序五大模塊。 設(shè)計方案如下:開始DS1302中斷入口通過查表方式動態(tài)掃描、顯示數(shù)據(jù)數(shù)碼位選亦通過查表方式,逐位顯示判斷是否進入時間設(shè)置SET狀態(tài)進入時間設(shè)置功能程序YYNNN判斷tcount=20Y分計數(shù)加1N判斷是否滿60minY時計數(shù)加1判斷是否滿24hour中斷返回時間置為00:00:002.詳細的程序清單和注釋/* 說明:老師所給片選針腳為p3.4p3.7,本程序跳線連接至p2.0p2.3,更改程序中片選編碼可不跳線。將頭文件STC12C5A60S2.h和本程序須放在同目錄下。*/#include "S
12、TC12C5A60S2.h"#define HZL#define uchar unsigned char#define uint unsigned int #define D P1 /段選#define W P2 /位選sbit IO=P04; /數(shù)據(jù)口sbit SCLK=P05; /控制數(shù)據(jù)時鐘sbit RST=P03; /使能端、復(fù)位端 /*按鍵引腳定義*/sbit s1=P30; /按鍵 加sbit s2=P31; /按鍵 減sbit s3=P32; /按鍵 選擇sbit led=P33; /閃爍的小數(shù)點uchar s, knum=0,snum,fnum;bit flag;/*
13、寫時分秒地址*/#define write_shi 0x84#define write_fen 0x82#define write_miao 0x80/*讀時分秒地址*/#define read_shi 0x85#define read_fen 0x83#define read_miao 0x81bit miao_flag;char miao_num;char Dmiao;char shi,fen,miao; /讀出數(shù)據(jù)存儲變量uchar d=0x03,0X9F,0X25,0X0D,0X99,0X49,0X41,0X1F,0X01,0X09; /不帶小數(shù)點Uchardd=0x02,0X9e,0
14、X24,0X0c,0X98,0X48,0X40,0X1e,0X00,0X08; /帶小數(shù)點void delay(uint z) /延時函數(shù),z的取值為這個函數(shù)的延時ms數(shù) uint x,y;for(x=z;x>0;x-) for(y=110;y>0;y-); void t0_init() /定時50ms一個中斷 TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;uchar read_1302(uchar add) /讀函數(shù)uchar i,date;RST=0; /禁止讀寫數(shù)據(jù)for
15、(i=0;i<8;i+) RST=1; SCLK=0; IO=add&0x01; add>>=1; SCLK=1;for(i=0;i<8;i+) if(IO) date=date|0x80; else date=date|0x00; SCLK=1; date>>=1; SCLK=0;RST=0;date=date/16*10+date%16;/進制轉(zhuǎn)換 16轉(zhuǎn)10進制IO=0; /數(shù)據(jù)讀完后,IO口必須為0,不然小時一直顯示85return date;void write_1302(uchar add,uchar dat) /寫函數(shù)uchar i;R
16、ST=0; /禁止讀寫數(shù)據(jù)SCLK=0; for(i=0;i<8;i+) /寫地址 RST=1; /允許讀寫數(shù)據(jù) SCLK=0; IO=add&0x01; add>>=1; SCLK=1;for(i=0;i<8;i+) /寫數(shù)據(jù) RST=1; /允許讀寫數(shù)據(jù) SCLK=0; IO=dat&0x01; dat>>=1; SCLK=1;RST=0;void init_1302() /初始化函數(shù) 設(shè)置時間 flag=read_1302(0x81); if(flag&0x80)write_1302(0x8e,0x00); /保護取消,可以進行
17、讀寫操作write_1302(write_miao,0x56); write_1302(write_fen,0x49);write_1302(write_shi,0x14);write_1302(0x90,0xa5);write_1302(0x8e,0x80); /保護啟動,不能進行讀寫操作void display(uchar shi,uchar fen) /顯示函數(shù) if(knum=0) snum=30; fnum=30;if(knum=1) fnum+; snum=30;if(knum=2) snum+; fnum=30;if(snum>=30) W=0xFe; /位選 s=dshi
18、/10;/段碼先給s,判斷其值是否為0, if(s=0xc0) W=0xff; D=0xff; D=s;/s不為零則給D,讓其顯示 delay(5); D=0Xff; /消隱 if(miao_flag) /小數(shù)點閃爍 miao_flag=0; W=0xFd; D=ddshi%10; delay(5); D=0Xff; /消隱 else W=0xFd; D=dshi%10; delay(5); D=0Xff; if(snum=60) snum=0; if(fnum>=30) W=0xFb; D=dfen/10; delay(5); D=0Xff; /消隱 W=0xF7; D=dfen%10
19、; delay(5); D=0Xff; /消隱 if(fnum=60) fnum=0;void read_sf() miao=read_1302(read_miao);/*if(miao!=Dmiao) Dmiao=miao; TR0=1; miao_flag=1; */fen=read_1302(read_fen);shi=read_1302(read_shi); display(shi,fen);void keyscan() /按鍵掃描函數(shù) if(s3=0) /選擇按鍵按下 delay(10); if(s3=0) while(!s3) display(shi,fen); /按鍵按下就不會閃
20、 knum+; if(knum=1) /分閃爍 write_1302(0x8e,0x00); /保護取消 write_1302(write_miao,0x80); if(knum=3) /時鐘啟動 knum=0; write_1302(write_miao,0x00); write_1302(0x8e,0x80); /保護啟動 if(knum=1) /分鐘調(diào)節(jié) if(s1=0) /加 delay(10); if(s1=0) while(!s1) display(shi,fen); /按鍵按下就不會閃 fen+; if(fen=60) fen=0; write_1302(write_fen,fe
21、n/10*16+fen%10); /寫入1302/ read_sf(); /讀出時間,然后顯示 if(s2=0) delay(10); if(s2=0) while(!s2) display(shi,fen); /按鍵按下就不會閃 if(fen=-1) fen=59; write_1302(write_fen,fen/10*16+fen%10); read_sf(); if(knum=2) if(s1=0) delay(10); if(s1=0) while(!s1) display(shi,fen); /按鍵按下就不會閃 shi+; if(shi=24) shi=0; write_1302(
22、write_shi,shi/10*16+shi%10); read_sf(); if(s2=0) delay(10); if(s2=0) while(!s2) display(shi,fen); /按鍵按下就不會閃 shi-; if(shi=-1) shi=23; write_1302(write_shi,shi/10*16+shi%10); read_sf(); void main()init_1302();t0_init();while(1) if(miao_num<10) led=0; if(miao_num>=10) led=1; read_sf(); keyscan();
23、void t0_timer() interrupt 1 TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;miao_num+;if(miao_num>=20) miao_num=0; miao_flag=1;四、設(shè)計過程1.Proteus仿真電路(1)仿真電路圖(2)制作過程的部分圖片 2.實際電路板調(diào)試(1) 檢測電路板沒什么接觸問題后,用燒錄實驗板把自己寫的程序?qū)懭雴纹瑱C;(2) 將單片機插入自己的電路板中,上電看是實驗板數(shù)碼管顯示效果;分析出現(xiàn)效果不佳或者時間誤差大的原因,并在軟件上修改重新調(diào)試,直至達到實訓(xùn)要求與更佳效果。五、遇到的問題及其處理方法(1)問題一:用Proteus仿真電路原理圖,用的芯片較多,電路比較復(fù)雜; 處理一:仿真時用Proteus內(nèi)部的電流電壓探針測試電路各端的電壓電流值,判
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中物理實驗班《大氣壓強實驗操作指導(dǎo)》
- 企業(yè)服務(wù)質(zhì)量管理實戰(zhàn)指南
- 工作流程優(yōu)化辦公空間需求表
- 項目執(zhí)行過程中的經(jīng)驗教訓(xùn)總結(jié)與成果展示
- 寓言故事中的社會現(xiàn)象解讀與反思
- 藝術(shù)創(chuàng)作繪畫技巧知識題庫
- 智能制造產(chǎn)業(yè)鏈協(xié)同合作協(xié)議
- 制造業(yè)自動化技術(shù)應(yīng)用題庫
- 企業(yè)研發(fā)新產(chǎn)品試制合同
- 商務(wù)會議中的合作往來文書范本
- 硬筆書法全冊教案共20課時
- 人民幣上的風(fēng)景名勝課件
- 小學(xué)雙減作業(yè)設(shè)計小學(xué)語文五年級下冊第八單元作業(yè)設(shè)計案例
- 2.0MWp屋頂太陽能分布式光伏發(fā)電項目監(jiān)理大綱2
- 山的飛花令經(jīng)典1000首小學(xué)
- 煉油廠化工廠車間崗位勝任力素質(zhì)模型設(shè)計
- 電子課件-《市場營銷》-A45-2298完整版教學(xué)課件全書電子講義(最新)
- 紅土鎳礦濕法冶煉技術(shù)綜述
- 隧道開挖作業(yè)臺車計算書
- 水利水電工程金屬結(jié)構(gòu)與機電設(shè)備安裝安全技術(shù)規(guī)程
- 新視野大學(xué)英語讀寫譯4U校園第一單元課后測試答案
評論
0/150
提交評論