1. 用單片機設計一個時鍾,可顯示時和分,可以調時間,也要有鬧鍾功能,要有設計的電路圖
其實不用定時中斷也能實現功能:
#include<reg51.h> 主函數
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};定義0-9數組
unsigned int tmp;定義變數
void delay(unsigned int xms)定義延時函數
{unsigned int j,i;
for(i=0;i<xms;i++)
for(j=0;j<100;j++);
}
void disp()定義子函數
{
P1=tmp;
delay(1);
P2=0xff;
tmp=tmp<<1;
}
void main( )
{
unsigned char z,s=00,m=00,h=00;給時鍾初始值
while(1)
{
for(z=0;z<100;z++)
{
tmp=0x01;
P2=tab[h/10];小時顯示
disp();
P2=tab[h%10];
disp();
P2=tab[m/10];分鍾顯示
disp();
P2=tab[m%10];
disp();
P2=tab[s/10];秒顯示
disp();
P2=tab[s%10];
disp();
}
s++;
while(s==60)秒進一位,到60清0
{
m++;
s=00;
}
while(m==60)分鍾進一位,到60清0
{
h++;
m=00;
}
while(h==24)小時進一位,到24清0
{
h=00;
}
}
}
2. 數字電子石英鍾設計
數字電子鍾的設計(由數字IC構成)一、設計目的
1. 熟悉集成電路的引腳安排。
2. 掌握各晶元的邏輯功能及使用方法。
3. 了解麵包板結構及其接線方法。
4. 了解數字鍾的組成及工作原理。
5. 熟悉數字鍾的設計與製作。二、設計要求
1.設計指標時間以24小時為一個周期;顯示時、分、秒;有校時功能,可以分別對時及分進行單獨校時,使其校正到標准時間;計時過程具有報時功能,當時間到達整點前5秒進行蜂鳴報時;為了保證計時的穩定及准確須由晶體振盪器提供表針時間基準信號。2.設計要求畫出電路原理圖(或模擬電路圖);元器件及參數選擇;電路模擬與調試;PCB文件生成與列印輸出。
3.製作要求 自行裝配和調試,並能發現問題和解決問題。
4.編寫設計報告 寫出設計與製作的全過程,附上有關資料和圖紙,有心得體會。
三、設計原理及其框圖
1.數字鍾的構成
數字鍾實際上是一個對標准頻率(1HZ)進行計數的計數電路。由於計數的起始時間不可能與標准時間(如北京時間)一致,故需要在電路上加一個校時電路,同時標準的1HZ時間信號必須做到准確穩定。通常使用石英晶體振盪器電路構成數字鍾。圖 3-1所示為數字鍾的一般構成框圖。
圖3-1 數字鍾的組成框圖
⑴晶體振盪器電路
晶體振盪器電路給數字鍾提供一個頻率穩定準確的32768Hz的方波信號,可保證數字鍾的走時准確及穩定。不管是指針式的電子鍾還是數字顯示的電子鍾都使用了晶體振盪器電路。
⑵分頻器電路
分頻器電路將32768Hz的高頻方波信號經32768( )次分頻後得到1Hz的方波信號供秒計數器進行計數。分頻器實際上也就是計數器。
⑶時間計數器電路
時間計數電路由秒個位和秒十位計數器、分個位和分十位計數器及時個位和時十位計數器電路構成,其中秒個位和秒十位計數器、分個位和分十位計數器為60進制計數器,而根據設計要求,時個位和時十位計數器為12進制計數器。
⑷解碼驅動電路
解碼驅動電路將計數器輸出的8421BCD碼轉換為數碼管需要的邏輯狀態,並且為保證數碼管正常工作提供足夠的工作電流。
⑸數碼管
數碼管通常有發光二極體(LED)數碼管和液晶(LCD)數碼管,本設計提供的為LED數碼管。
2.數字鍾的工作原理
1)晶體振盪器電路
晶體振盪器是構成數字式時鍾的核心,它保證了時鍾的走時准確及穩定。
圖3-2所示電路通過CMOS非門構成的輸出為方波的數字式晶體振盪電路,這個電路中,CMOS非門U1與晶體、電容和電阻構成晶體振盪器電路,U2實現整形功能,將振盪器輸出的近似於正弦波的波形轉換為較理想的方波。輸出反饋電 阻R1為非門提供偏置,使電路工作於放大區域,即非門的功能近似於一個高增益的反相放大器。電容C1、C2與晶體構成一個諧振型網路,完成對振盪頻率的控制功能,同時提供了一個180度相移,從而和非門構成一個正反饋網路,實現了振盪器的功能。由於晶體具有較高的頻率穩定性及准確性,從而保證了輸出頻率的穩定和准確。
晶體XTAL的頻率選為32768HZ。該元件專為數字鍾電路而設計,其頻率較低,有利於減少分頻器級數。
從有關手冊中,可查得C1、C2均為30pF。當要求頻率准確度和穩定度更高時,還可接入校正電容並採取溫度補償措施。
由於CMOS電路的輸入阻抗極高,因此反饋電阻R1可選為10MΩ。較高的反饋電阻有利於提高振盪頻率的穩定性。
非門電路可選74HC00。
圖3-2 COMS晶體振盪器
2)分頻器電路
通常,數字鍾的晶體振盪器輸出頻率較高,為了得到1Hz的秒信號輸入,需要對振盪器的輸出信號進行分頻。
通常實現分頻器的電路是計數器電路,一般採用多級2進制計數器來實現。例如,將32768Hz的振盪信號分頻為1HZ的分頻倍數為32768(215),即實現該分頻功能的計數器相當於15極2進制計數器。常用的2進制計數器有74HC393等。
本實驗中採用CD4060來構成分頻電路。CD4060在數字集成電路中可實現的分頻次數最高,而且CD4060還包含振盪電路所需的非門,使用更為方便。
CD4060計數為14級2進制計數器,可以將32768HZ的信號分頻為2HZ,其內部框圖如圖3-3所示,從圖中可以看出,CD4060的時鍾輸入端兩個串接的非門,因此可以直接實現振盪和分頻的功能。
圖3-3 CD4046內部框圖
3)時間計數單元
時間計數單元有時計數、分計數和秒計數等幾個部分。
時計數單元一般為12進制計數器計數器,其輸出為兩位8421BCD碼形式;分計數和秒計數單元為60進制計數器,其輸出也為8421BCD碼。
一般採用10進制計數器74HC390來實現時間計數單元的計數功能。為減少器件使用數量,可選74HC390,其內部邏輯框圖如圖2.3所示。該器件為雙2—5-10非同步計數器,並且每一計數器均提供一個非同步清零端(高電平有效)。
圖3-4 74HC390(1/2)內部邏輯框圖
秒個位計數單元為10進制計數器,無需進制轉換,只需將QA與CPB(下降沿有效)相連即可。CPA(下降沒效)與1HZ秒輸入信號相連,Q3可作為向上的進位信號與十位計數單元的CPA相連。
秒十位計數單元為6進制計數器,需要進制轉換。將10進制計數器轉換為6進制計數器的電路連接方法如圖3-5所示,其中Q2可作為向上的進位信號與分個位的計數單元的CPA相連。
圖3-5 10進制——6進制計數器轉換電路
分個位和分十位計數單元電路結構分別與秒個位和秒十位計數單元完全相同,只不過分個位計數單元的Q3作為向上的進位信號應與分十位計數單元的CPA相連,分十位計數單元的Q2作為向上的進位信號應與時個位計數單元的CPA相連。
時個位計數單元電路結構仍與秒或個位計數單元相同,但是要求,整個時計數單元應為12進制計數器,不是10的整數倍,因此需將個位和十位計數單元合並為一個整體才能進行12進制轉換。利用1片74HC390實現12進制計數功能的電路如圖3-6所示。
另外,圖3-6所示電路中,尚余-2進制計數單元,正好可作為分頻器2HZ輸出信號轉化為1HZ信號之用。
圖3-6 12進制計數器電路
4)解碼驅動及顯示單元
計數器實現了對時間的累計以8421BCD碼形式輸出,選用顯示解碼電路將計數器的輸出數碼轉換為數碼顯示器件所需要的輸出邏輯和一定的電流,選用CD4511作為顯示解碼電路,選用LED數碼管作為顯示單元電路。
5)校時電源電路
當重新接通電源或走時出現誤差時都需要對時間進行校正。通常,校正時間的方法是:首先截斷正常的計數通路,然後再進行人工出觸發計數或將頻率較高的方波信號加到需要校正的計數單元的輸入端,校正好後,再轉入正常計時狀態即可。
根據要求,數字鍾應具有分校正和時校正功能,因此,應截斷分個位和時個位的直接計數通路,並採用正常計時信號與校正信號可以隨時切換的電路接入其中。圖3-7所示即為帶有基本RS觸發器的校時電路,
圖3-7 帶有消抖動電路的校正電路
6)整點報時電路
一般時鍾都應具備整點報時電路功能,即在時間出現整點前數秒內,數字鍾會自動報時,以示提醒。其作用方式是發出連續的或有節奏的音頻聲波,較復雜的也可以是實時語音提示。
根據要求,電路應在整點前10秒鍾內開始整點報時,即當時間在59分50秒到59分59秒期間時,報時電路報時控制信號。報時電路選74HC30,選蜂鳴器為電聲器件。
四、元器件
1.實驗中所需的器材:5V電源。麵包板1塊。示波器。萬用表。鑷子1把。剪刀1把。網路線2米/人。
共陰八段數碼管6個。CD4511集成塊6塊。CD4060集成塊1塊。74HC390集成塊3塊。
74HC51集成塊1塊。74HC00集成塊5塊。74HC30集成塊1塊。10MΩ電阻5個。
500Ω電阻14個。30p電容2個。32.768k時鍾晶體1個。蜂鳴器。
2.晶元內部結構圖及引腳圖
圖4-1 7400 四2輸入與非門 圖4-2 CD4511BCD七段解碼/驅動器
圖4-3 CD4060BD 圖4-4 74HC390D
圖4-5 74HC51D 圖4-6 74HC30
3.麵包板內部結構圖
麵包板右邊一列上五組豎的相通,下五組豎的相通,麵包板的左邊上下分四組,每組中X、Y列(0-15相通,16-40相通,41-55相通,ABCDE相通,FGHIJ相通,E和F之間不相通。
五、個功能塊電路圖
1. 一個CD4511和一個LED數碼管連接成一個CD4511驅動電路,數碼管可從0---9顯示,以次來檢查數碼管的好壞,見附圖5-1。圖5-1 4511驅動電路2. 利用一個LED數碼管,一塊CD4511,一塊74HC390,一塊74HC00連接成一個十進制計數器,電路在晶振的作用下數碼管從0—9顯示,見附圖5-2。
圖5-2 74390十進制計數器3. 利用一個LED數碼管,一塊CD4511,一塊74HC390,一塊74HC00和一個晶振連接成一個六進制計數器,數碼管從0—6顯示,見附圖5-3。圖5-3 74390六進制計數器4. 利用一個六進制電路和一個十進制連接成一個六十進制電路,電路可從0—59顯示,見附圖5-4。
圖5-4 六十進制電路5. 利用兩個六十進制的電路合成一個雙六十進制電路,兩個六十進制之間有進位,見附圖5-5。
圖5-5 雙六十進制電路6. 利用CD4060、電阻及晶振連接成一個分頻——晶振電路,見附圖5-6。
圖5-6 分頻—晶振電路7. 利用74HC51D和74HC00及電阻連接成一個校時電路,見附圖5-7。
圖5-7 校時電路
8. 利用74HC30和蜂鳴器連接成整點報時電路。見附圖5-8。
圖5-8 整點報時電路
9. 利用兩個六十進制和一個十二進制連接成一個時、分、秒都會進位的電路總圖,見附圖5-9。
用ttl集成電路構成的「二十四小時數字鍾」,具有校時和整點報時功能,555定時器接成多諧振盪器產生秒脈沖信號,調節rw即可校準秒信告,計數器7416 i、ii組成60進制「秒」計數電路,iii、iv組成「分」計數電路,v、vi組成24進制「時」計數電路,校時電路由與非門7400構成的雙穩態觸發路構成,可消除開關抖動的影響,整點報時 電路 由與非門7430和d觸發器7474構成 ,1秒鍾響一聲、直至整點為止。
有關用晶振電路產生秒脈沖電路的「12小時數字鍾,請看下回貼 數字電子鍾參考電路(24小時數字鍾)
[upload=jpg,325.83,450,915,822]/58474-1-2-9489.
上面的電路圖是用ttl集成電路構成的「二十四小時數字鍾」,具有校時和整點報時功能,555定時器接成多諧振盪器產生秒脈沖信號,調節rw即可校準秒信告,計數器7416 i、ii組成60進制「秒」計數電路,iii、iv組成「分」計數電路,v、vi組成24進制「時」計數電路,校時電路由與非門7400構成的雙穩態觸發路構成,可消除開關抖動的影響,整點報時 電路 由與非門7430和d觸發器7474構成 ,1秒鍾響一聲、直至整點為止。
有關用晶振電路產生秒脈沖電路的「12小時數字鍾,請看下回貼圖。