第一篇:基于單片機(jī)的數(shù)字鐘課程設(shè)計(jì)程序
#include
#define uchar unsigned char #define uint unsigned int
uchar code table[]=“I LOVE YOU!”;uchar code table1[]=“2014:06:14”;sbit lcden=P3^5;
sbit lcdrs=P3^4;uchar num;
void delayms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);}
void write_com(uchar com){
lcdrs=0;
P0=com;
delayms(5);
lcden=0;
}
void write_data(uchar date){
lcdrs=1;
P0=date;
delayms(5);
lcden=1;
delayms(5);
lcden=0;
}
void init()
{
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void main()//定義使能端、命令選擇端//延時(shí)函數(shù)//寫入命令函數(shù)//寫入數(shù)據(jù) //初始化LCD
{}init();write_com(0x80);for(num=0;num<11;num++){write_data(table[num]);delayms(5);} write_com(0x80+0x40);for(num=0;num<13;num++){write_data(table[num]);delayms(5);} while(1);
第二篇:基于單片機(jī)的數(shù)字鐘課程設(shè)計(jì)程序
#include
uchar num;
void delayms(uint z){ uint x,y;for(x=z;x>0;x--)
for(y=110;y>0;y--);}
void write_com(uchar com){ lcdrs=0;P0=com;delayms(5);lcden=0;}
void write_data(uchar date){ lcdrs=1;P0=date;delayms(5);lcden=1;delayms(5);lcden=0;}
void init(){ lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);}
void main()
//定義使能端、命令選擇端
//延時(shí)函數(shù)
//寫入命令函數(shù)
//寫入數(shù)據(jù) //初始化LCD
{
} init();write_com(0x80);for(num=0;num<11;num++){ write_data(table[num]);delayms(5);} write_com(0x80+0x40);for(num=0;num<13;num++){ write_data(table[num]);delayms(5);} while(1);
第三篇:?jiǎn)纹瑱C(jī)數(shù)字鐘的課程設(shè)計(jì)
設(shè)計(jì)任務(wù)書................I
第一章 緒論...............1
1.1課程設(shè)計(jì)的意義..........1
第二章 電路設(shè)計(jì)方案................2.1數(shù)字電子中4的基本原理..........2.2
第三章 電路的安裝與調(diào)試............3.1電路的選用..............設(shè)計(jì)小節(jié)...........致謝.................參考文獻(xiàn)............附錄A............附錄B.....第一章緒論
1.1課程設(shè)計(jì)的意義
在高新技術(shù)日新月異的今天,科學(xué)技術(shù)已經(jīng)成為整個(gè)社會(huì)發(fā)展的源動(dòng)力,電子領(lǐng)域的發(fā)展更是令人目不暇接,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,遍跡了千家萬(wàn)戶,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。使課程設(shè)計(jì)越來(lái)越受到人們的重視,通過課程設(shè)計(jì)。可以設(shè)計(jì)出更好更新的科技產(chǎn)品,這將給科技的發(fā)展帶來(lái)很好的積極作用,也使科技的水平得到一定的提高。同時(shí)也可以提高同學(xué)們的邏輯思維能力和創(chuàng)新意識(shí)。
電子技術(shù)密切聯(lián)系 實(shí)際,實(shí)用性很強(qiáng),開展電子技術(shù)課程設(shè)計(jì)在電子電氣類我認(rèn)為非常重要,不近可以學(xué)好專業(yè)知識(shí),還可以增強(qiáng)動(dòng)手能力,有利于我們適應(yīng)未來(lái)這個(gè)競(jìng)爭(zhēng)激烈的社會(huì),訓(xùn)練我們 綜合運(yùn)用知識(shí)能力資料素材的查閱及收集能力,電子元?dú)饧牟少?gòu),電子電路的組裝和調(diào)試能力,特別是在電路;多樣化的創(chuàng)新方面,從理性和感性上都得到了很大的提高,經(jīng)過查閱資料,選擇方案,設(shè)計(jì)電路,等過程。各方面都得到了訓(xùn)練。
現(xiàn)代社會(huì),時(shí)間對(duì)人們來(lái)說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。例如,許多火災(zāi)都是由于人們一時(shí)忘記了關(guān)閉煤氣或是忘記充電時(shí)間。尤其在醫(yī)院,每次護(hù)士都會(huì)給病人作皮試,測(cè)試病人是否對(duì)藥物過敏。注射后,一般等待5分鐘,一旦超時(shí),所作的皮試試驗(yàn)就會(huì)無(wú)效。手表當(dāng)然是一個(gè)好的選擇,但是,隨著接受皮試的人數(shù)增加,到底是哪個(gè)人的皮試到時(shí)間卻難以判斷。所以,要制作一個(gè)定時(shí)系統(tǒng)。隨時(shí)提醒這些容易忘記時(shí)間的人。
鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、定時(shí)啟閉電路、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備,甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實(shí)的意義。
一.設(shè)計(jì)題目
數(shù)字電子鐘
二、設(shè)計(jì)指標(biāo):
1.最大顯示23時(shí)59分59秒。
2.以24小時(shí)制為一個(gè)周期
3.具有校時(shí)功能,可以對(duì)小時(shí)和分單獨(dú)校時(shí),對(duì)分校時(shí)的時(shí)候,停止分向小時(shí)進(jìn)位。校時(shí)時(shí)鐘源可以手動(dòng)輸入或借用電路中的時(shí)鐘。
4.為了保證計(jì)時(shí)準(zhǔn)確、穩(wěn)定,由晶體振蕩器提供標(biāo)準(zhǔn)時(shí)間的基準(zhǔn)信號(hào)。
三、設(shè)計(jì)要求:
1.畫出總體設(shè)計(jì)框圖,以說明數(shù)字鐘由哪些相對(duì)獨(dú)立的功能模塊組成,標(biāo)出各個(gè)模塊之間互相聯(lián)系,時(shí)鐘信號(hào)傳輸路徑、方向和頻率變化。并以文字對(duì)原理作輔助說明。
2.設(shè)計(jì)各個(gè)功能模塊的電路圖,加上原理說明。
3.選擇合適的元器件,在面包上接線驗(yàn)證、調(diào)試各個(gè)功能模塊的電路,在接線驗(yàn)證時(shí)設(shè)計(jì)、選擇合適的輸入信號(hào)和輸出方式,在充分電路正確性同時(shí),輸入信號(hào)和輸出方式要便于電路的測(cè)試和故障排除。
4.在驗(yàn)證各個(gè)功能模塊基礎(chǔ)上,對(duì)整個(gè)電路的元器件和布線,進(jìn)行合理布局,進(jìn)行整個(gè)數(shù)字鐘電路的接線調(diào)試。
四、制作要求:
自行裝配、接線和調(diào)試,并能檢查和發(fā)現(xiàn)問題,根據(jù)原理、現(xiàn)象和測(cè)量的數(shù)據(jù)分析問題所在,加以解決。學(xué)生要解決的問題包括元器件和面包板故障引起的問題。
四、設(shè)計(jì)報(bào)告內(nèi)容要求:
1.目的。
2.設(shè)計(jì)指標(biāo)。
3.畫出設(shè)計(jì)的原理框圖,并要求說明該框圖的工作過程及每個(gè)模塊的功能。
4.元器件清單。
5.設(shè)計(jì)制作的進(jìn)程,考慮時(shí)鐘及控制信號(hào)的關(guān)系、測(cè)試、驗(yàn)證的順序,寫出自己的工作進(jìn)程。
6.畫出各功能模塊的電路圖,加上原理說明(如2、5進(jìn)制到10進(jìn)制轉(zhuǎn)換,10進(jìn)制到6進(jìn)制轉(zhuǎn)換的原理,個(gè)位到十位的進(jìn)位信號(hào)選擇和變換等)。
7.畫出總布局接線圖(集成塊按實(shí)際布局位置畫,關(guān)鍵的連接單獨(dú)應(yīng)畫出,計(jì)數(shù)器到譯碼器的數(shù)據(jù)線、譯碼器到數(shù)碼管的數(shù)據(jù)線可以簡(jiǎn)化畫法,但集成塊的引腳須按實(shí)際位置畫,并注明名稱。)
8.描述設(shè)計(jì)制作的數(shù)字鐘的運(yùn)行結(jié)果和操作。
第二章 電路的設(shè)計(jì)方案
2.1數(shù)字鐘的基本組成及工作原理
數(shù)字鐘實(shí)際上是一個(gè)對(duì)標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路.由于計(jì)數(shù)的起始時(shí)間不可能與標(biāo)準(zhǔn)時(shí)間(如北京時(shí)間)一致,故需要在電路上加一個(gè)校時(shí)電路,同時(shí)標(biāo)準(zhǔn)的1HZ時(shí)間信號(hào)必須做到準(zhǔn)確穩(wěn)定.通常使用石英晶體振蕩器電路構(gòu)成數(shù)字鐘.圖1.1所示為數(shù)字鐘的一般構(gòu)成框圖.⑴晶體振蕩器電路 晶體振蕩器電路給數(shù)字鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的32768Hz的方波信號(hào),可保證數(shù)字鐘的走時(shí)準(zhǔn)確及穩(wěn)定.不管是指針式的電子鐘還是數(shù)字顯示的電子鐘都使用了晶體振蕩器電路.⑵分頻器電路 分頻器電路將32768Hz的高頻方波信號(hào)經(jīng)32768()次分頻后得到1Hz的方波信號(hào)供秒計(jì)數(shù)器進(jìn)行計(jì)數(shù).分頻器實(shí)際上也就是計(jì)數(shù)器.⑶時(shí)間計(jì)數(shù)器電路 時(shí)間計(jì)數(shù)電路由秒個(gè)位和秒十位計(jì)數(shù)器,分個(gè)位和分十位計(jì)數(shù)器及時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器電路構(gòu)成,其中秒個(gè)位和秒十位計(jì)數(shù)器,分個(gè)位和分十位計(jì)數(shù)器為60進(jìn)制計(jì)數(shù)器,而根據(jù)設(shè)計(jì)要求,時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器為12進(jìn)制計(jì)數(shù)器.⑷譯碼驅(qū)動(dòng)電路 譯碼驅(qū)動(dòng)電路將計(jì)數(shù)器輸出的8421BCD碼轉(zhuǎn)換為數(shù)碼管需要的邏輯狀態(tài),并且為保證數(shù)碼管正常工作提供足夠的工作電流.⑸數(shù)碼管 數(shù)碼管通常有發(fā)光二極管(LED)數(shù)碼管和液晶(LCD)數(shù)碼管,本設(shè)計(jì)提供的為L(zhǎng)ED數(shù)碼管.2.2數(shù)字鐘的工作原理
1)晶體振蕩器電路
晶體振蕩器是構(gòu)成數(shù)字式時(shí)鐘的核心,它保證了時(shí)鐘的走時(shí)準(zhǔn)確及穩(wěn)定.一般輸出為方波的數(shù)字式晶體振蕩器電路通常有兩類,一類是用TTL門電路構(gòu)成;另一類是通過CMOS非門構(gòu)成的電路,如圖1.2所示,從圖上可以看出其結(jié)構(gòu)非常簡(jiǎn)單.該電路廣泛使用于各種需要頻率穩(wěn)定及準(zhǔn)確的數(shù)字電路,如數(shù)字鐘,電子計(jì)算機(jī),數(shù)字通信電路等.CMOS非門U1與晶體,電容和電阻構(gòu)成晶體振蕩器電路,U2實(shí)現(xiàn)整形功能,將振蕩器輸出的近似于正弦波的波形轉(zhuǎn)換為較理想的方波.輸出反饋電阻為非門提供偏置,使電路工作于放大區(qū)域,即非門的功能近似于一個(gè)高增益的反相放大器.電容C1,C2與晶體構(gòu)成一個(gè)諧振型網(wǎng)絡(luò),完成對(duì)振蕩頻率的控制功能,同時(shí)提供了一個(gè)180度相移,從而和非門構(gòu)成一個(gè)正反饋網(wǎng)絡(luò),實(shí)現(xiàn)了振蕩器的功能.由于晶體
具有較高的頻率穩(wěn)定性及準(zhǔn)確性,從而保證了輸出頻率的穩(wěn)定和準(zhǔn)確.2)分頻器電路
通常,數(shù)字鐘的晶體振蕩器輸出頻率較高,為了得到1Hz的秒信號(hào)輸入,需要對(duì)振蕩器的輸出信號(hào)進(jìn)行分頻.通常實(shí)現(xiàn)分頻器的電路是計(jì)數(shù)器電路,一般采用多級(jí)2進(jìn)制計(jì)數(shù)器來(lái)實(shí)現(xiàn).例如,將32768Hz的振蕩信號(hào)分頻為1HZ的分頻倍數(shù)為32768(),即實(shí)現(xiàn)該分頻功能的計(jì)數(shù)器相當(dāng)于15級(jí)2進(jìn)制計(jì)數(shù)器.常用的2進(jìn)制計(jì)數(shù)器有74HC393等.3)時(shí)間計(jì)數(shù)單元
時(shí)間計(jì)數(shù)單元有時(shí)計(jì)數(shù),分計(jì)數(shù)和秒計(jì)數(shù)等幾個(gè)部分.時(shí)計(jì)數(shù)單元以24進(jìn)制計(jì)數(shù)器,其輸出為兩位8421BCD碼形式;分計(jì)數(shù)和秒計(jì)數(shù)單元為60進(jìn)制計(jì)數(shù)器,其輸出也為8421BCD碼.一般采用10進(jìn)制計(jì)數(shù)器如74HC290,74HC390等來(lái)實(shí)現(xiàn)時(shí)間計(jì)數(shù)單元的計(jì)數(shù)功能.欲實(shí)現(xiàn)24進(jìn)制和60進(jìn)制計(jì)數(shù)還需進(jìn)行計(jì)數(shù)模值轉(zhuǎn)換.4)譯碼驅(qū)動(dòng)及顯示單元
計(jì)數(shù)器實(shí)現(xiàn)了對(duì)時(shí)間的累計(jì)以8421BCD碼形式輸出,為了將計(jì)數(shù)器輸出的8421BCD碼顯示出來(lái),需用顯示譯碼電路將計(jì)數(shù)器的輸出數(shù)碼轉(zhuǎn)換為數(shù)碼顯示器件所需要的輸出邏輯和一定的電流,一般這種譯碼器通常稱為7段譯碼顯示驅(qū)動(dòng)器.常用的7段譯碼顯示驅(qū)動(dòng)器有CD4511.5)校時(shí)電源電路
當(dāng)重新接通電源或走時(shí)出現(xiàn)誤差時(shí)都需要對(duì)時(shí)間進(jìn)行校正.通常,校正時(shí)間的方法是:首先截?cái)嗾5挠?jì)數(shù)通路,然后再進(jìn)行人工出觸發(fā)計(jì)數(shù)或?qū)㈩l率較高的方波信號(hào)加到需要校正的計(jì)數(shù)單元的輸入端,校正好后,再轉(zhuǎn)入正常計(jì)時(shí)狀態(tài)即可.設(shè)計(jì)小節(jié)
時(shí)間過的真快,專眼間一周就過去了,這次課程設(shè)計(jì)也畫上了一個(gè)圓滿的句號(hào)。這次課程設(shè)計(jì)的主題是數(shù)字電子鐘,在設(shè)計(jì)中需要用到振蕩電路等通過 設(shè)計(jì)使我更進(jìn)一步加深了對(duì)電的認(rèn)識(shí)和理解。在設(shè)計(jì)中,首先是查找資料,我們主要是在圖書館和電腦上查找,先找出了一些芯片的關(guān)腳和功能,然后經(jīng)過老師的檢查,開始設(shè)計(jì),但是由于時(shí)間的緊迫,這個(gè)設(shè)計(jì)沒有進(jìn)行仿真,比較遺憾,不過在設(shè)計(jì)的過程中還是是學(xué)到不少東西的,由于有些芯片我們?cè)跀?shù)字電子技術(shù)基礎(chǔ)里沒有學(xué)過的,我們?cè)诓檎疫@些資料的過程中就學(xué)到很多東西,有些芯片本來(lái)我們不懂的,但是經(jīng)過查資料使我對(duì)有些不是懂的芯片有了一定的了解。如果有時(shí)間,最好能夠做出一個(gè)實(shí)物圖就比較了解,但是時(shí)間實(shí)在太緊拉,雖然老師布置了很久,但是由于我們要考試復(fù)習(xí)就沒有多少是時(shí)間去想,有點(diǎn)遺憾。
致謝
在本次電子技術(shù)課程設(shè)計(jì)過程中,得到了個(gè)老師和同學(xué)們的幫助,讓我學(xué)到了很多東西,同時(shí)還感謝學(xué)校的圖書館給我們提供了很好的資料,讓我們的設(shè)計(jì)更加能夠輕松的完成,還有感謝各個(gè)網(wǎng)站提供的大量資料。
通過這次設(shè)計(jì),在很高程度上彌補(bǔ)了我們的理論知識(shí)的不足,通過設(shè)計(jì)進(jìn)一步鞏固了我們的理論知識(shí),讓我們學(xué)的更扎實(shí),對(duì)數(shù)電的認(rèn)識(shí)更加形象。
總之,這次實(shí)習(xí)帶給我很大的收獲,再一次感謝學(xué)校給我們一個(gè)展現(xiàn)自己設(shè)計(jì)才能的機(jī)會(huì),這對(duì)我們以后的工作和學(xué)習(xí)都有很好的作用。
第四篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)_數(shù)字鐘(C51版)
湖南工業(yè)大學(xué)
課程設(shè)計(jì)
資料袋
電氣與信息工程學(xué)院學(xué)年第學(xué)期
課程名稱單片機(jī)系統(tǒng)課程設(shè)計(jì)指導(dǎo)教師凌云職稱教授學(xué)生姓名專業(yè)班級(jí)測(cè)控101學(xué)號(hào)題目數(shù)字鐘(C51版)成績(jī)起止日期 2012年12 月 10日~ 2012年 12 月 28 日
目錄清單
湖南工業(yè)大學(xué)
課程設(shè)計(jì)任務(wù)書
2012 —2013 學(xué)年第1 學(xué)期
電氣與信息工程學(xué)院測(cè)控技術(shù)與儀器專業(yè)101班 課程名稱:?jiǎn)纹瑱C(jī)系統(tǒng)課程設(shè)計(jì)設(shè)計(jì)題目:數(shù)字鐘(C51版)完成期限:自2012年12 月 17日至2012年12 月28日共2周單片機(jī)系統(tǒng)課程設(shè)計(jì)說明書 起止日期:
學(xué)
班
學(xué)
成數(shù)字鐘(C51版)2012年 12 月 17 日 至2012 年 12 月 28 日 生姓名級(jí)號(hào)績(jī)湖南工業(yè)大學(xué)電氣與信息工程學(xué)院 2012年12 月10 日 3
第五篇:數(shù)字鐘課程設(shè)計(jì)程序
#include
void chuanshu(void);
void shuchu(void);
void saomiao(void);
void delay(void);
unsigned int t;
unsigned char m;
unsigned char shi,fen,miao;
unsigned char code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned char code wei[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
unsigned charxianshi[8]={0,0,0,0,0,0,0,0};
sbit DS=P2^2;
sbit ST_CP=P2^3;
sbit SH_CP=P2^4;
sbit key1=P3^2;
sbit key2=P3^3;
sbit key3=P3^4;
sbit key4=P3^5;
sbit niaoling=P1^0;
sbit dingshi=P1^1;
void delay(void)
{
char i,j;
for(i=0;i<50;i++)
for(j=0;j<100;j++);
}
void chuanshu(void)
{
unsigned char b,c,num;
if(b==0)
{
b++;
num=wei[m];//把位選放在第二個(gè)74hc595芯片上
for(c=0;c<8;c++)
{SH_CP=0;
DS=num&0x80;
num=num<<1;
SH_CP=1;//上升沿發(fā)生移位
}
}
if(b==1)
{
b--;
if(m==2||m==5)
{num=0xbf;}
else
{
num=duan[xianshi[m]];}
for(c=0;c<8;c++)
{SH_CP=0;
DS=num&0x80;
num=num<<1;
SH_CP=1;//數(shù)據(jù)在SH_CP的上升沿輸入}
}
m++;
if(m==8)
{m=0;
}
}
void shuchu(void)
{ ST_CP=0;
ST_CP=1;//上升沿將數(shù)據(jù)送到輸出鎖存器
}
void saomiao(void)
{
if(key1==0)
{
delay();
if(key1==0)
{
miao=0;
while(key1==0);
}
}
xianshi[0]=miao%10;xianshi[1]=miao/10;
if(key2==0){
delay();
if(key2==0){
fen++;
while(key2==0);if(fen==60){
fen=0;}
}
}
xianshi[3]=fen%10;xianshi[4]=fen/10;
if(key3==0){
delay();
if(key3==0){
shi++;
while(key3==0);if(shi==24){
shi=0;}
}
}
xianshi[6]=shi%10;xianshi[7]=shi/10;
if(key4==0){
delay();
if(key4==0){
miao=0;fen=0;shi=0;}
}
}
void main(void)
{
TMOD=0X01;
TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;
ET0=1;
TR0=1;
while(1)
{
saomiao();
chuanshu();shuchu();
}
}
void time0()interrupt 1{
t++;
if(t==20)
{t=0;
miao++;
if(miao==60){miao=0;fen++;
if(fen==60){fen=0;shi++;
if(shi==24){shi=0;}}}
}
}