電子時鐘課程設計_第1頁
電子時鐘課程設計_第2頁
電子時鐘課程設計_第3頁
電子時鐘課程設計_第4頁
電子時鐘課程設計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、學號成績沈陽城市建設學院基于 51 單片機的電子時鐘系統設計課程名稱單片機原理及應用專業班級16-1班姓名2017年12月18日目錄一、方案設計41.1 、單片機的選擇方案41.2 、數碼管的選擇方案41.3 、上拉電阻的選擇方案41.4 、總體設計框圖4二、程序6三、硬件模塊程序設計63.1 、單片機最小系統63.2 數碼管顯示模塊6四、軟件模塊設計7五、系統硬件電路的設計7六、課程設計總結8七、參考資料9摘 要數字鐘已成為人們日常生活中不可少的必需品,給人們的生活,學習,工作帶來極大的方便。 本文介紹的數字鐘是一種利用數字電路來顯示時、分、秒的裝置,與傳統的機械鐘相比,它具有走時準確,性能

2、穩定,顯示直觀,無機械傳動裝置等特點。數字電子鐘由秒信號發生器、 “時、分、秒”計數器、譯碼器及顯示器、校時電路等組成。 秒信號產生器是整個系統的時基信號,它直接決定計時系統的精度,將標準秒脈沖信號送入“秒計數器” ,該計數器采用 60 進制計數器,每累計 60 秒發出一個“分脈沖”信號,該信號將作為“分計數器”的時鐘脈沖。 “分計數器”也采用 60 進制計數器,每累計 60 分,發出一個“時脈沖”信號,該信號將被送到“時計數器”?!皶r計數器”采用 24 進制計數器,可以實現一天 24h 的累計。電路是來對“時、分、秒”顯示數字進行校對調整。關鍵詞:計數器;單片機;數碼管;上拉電阻一、方案設計

3、1.1、單片機的選擇方案1.2、數碼管的選擇方案1.3、上拉電阻的選擇方案1.4、總體設計框圖1.1、AT89C51 是美國 ATMEL 公司生產的低電壓,高性能 CMOS8位單片機,片內含 4k bytes的可反復擦寫的只讀程序存儲器 (PEROM)和 128 bytes的隨機存取數據存儲器 (RAM ),器件采用 ATMEL 公司的高密度、非易失性存儲技術生產,兼容標準 MCS-51 指令系統,片內置通用 8 位中央處理器(CPU)和 Flash存儲單元,功能強大 AT89C51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。如圖 1.1.1:圖 1.1.11.2 、共陰

4、極數碼管是一類數字形式的顯示屏,通過對其不同的管腳輸入相對的電流, 會使其發亮, 從而顯示出數字能夠顯示時間、日期、溫度等所有可用數字表示的參數。由于它的價格便宜、使用簡單、在電器,特別是家電領域應用極為廣泛,空調、熱水器、冰箱等等。絕大多數熱水器用的都是數碼管, 其他家電也用液晶屏與熒光屏。如圖 1.2.1:圖 1.2.11.3 、上拉電阻(排阻,上拉就是將不確定的信號通過一個電阻嵌位在高電平,電阻同時起限流作用。上拉是對器件注入電流,下拉是輸出電流;弱強只是上拉電阻的阻值不同,沒有什么嚴格區分;對于非集電極(或漏極)開路輸出型電路(如普通門電路)提升電流和電壓的能力是有限的, 上拉電阻的功

5、能主要是為集電極開路 輸出型電路輸出電流通道。 所以根據本次課設設計選擇上拉電阻。如圖 1.3.1 :圖 1.3.1二、程序見附頁 1三、硬件模塊程序設計3.1、單片機最小系統51 單片機最小系統復位電路的極性電容 C1 的大小直接影響單片機的復位時間, 一般采用 1030uF,51 單片機最小系統容值越大需要的復位時間越短。 51 單片機最小系統起振電容 C2、 C3 一般采用1533pF,并且電容離晶振越近越好,晶振離單片機越近越好, P0 口為開漏輸出,作為輸出口時需加上拉電阻,阻值一般為 10k。其他接口內部有上拉電阻,作為輸出口時不需外加上拉電阻。3.2 數碼管顯示模塊1.3、6 位

6、共陰數碼管顯示所示四、軟件模塊設計本次設計使用的軟件是Keil 軟件,它能夠使用簡單易懂的高級C語言對單片機進行軟件開發,還是C52 系列兼容單片機語言軟件開發系統。五、系統硬件電路的設計系統的硬件主要包括單片機芯片,數碼管顯示,按鍵開關電路,它的硬件電路如下圖所示,單片機采用廣泛使用的AT89C51,系統采用 12MHz的晶振,采用 6 位共陰數碼管顯示。操作方法:對照原理圖,按下SW2 按鍵第一次設置小時數據,SW3 按鍵加, SW4 按鍵減,按下 SW2 按鍵第二次設置分鐘, SW3 按鍵加, SW4 按鍵減, SW2 按鍵第三次設置秒, SW3 按鍵加, SW4 按鍵減, SW2 第四

7、次退出設置。單獨的一個按鍵 SW1 是復位按鍵硬件電路圖如圖所示圖 5.1圖 5.1六、課程設計總結經過一周的時間以及對整本教材的知識總結, 把課程設計分成了硬件和軟件兩大模塊。 總的來說,硬件部分很好入手, 電路也教簡單,主要涉及的是簡單的按鍵、 電容、電阻、晶振和數碼管。 在軟件部分,細分為了按鍵模塊、顯示模塊、定時 /計數模塊,最后把幾個模塊整合在主程序模塊中, 使得程序簡單明了。 整個設計過程中遇到的最大問題是軟件的編寫, 由于采用的是匯編語言, 其間使用到的各種寄存器、存儲器地址、變量很多,很難對程序的整體把握。通過電子鐘的設計,對單片機的原理、結構、外圍電路進一步的了解。在整個設計

8、過程中學到了團體精神和獨立解決問題的重要性。 為以后的求職之路打下了基礎。七、參考資料1 單片機原理與應用 謝維成 楊加國 編著2 單片機應用與仿真調試 嚴天峰編著3 模擬電子技術 (第三版) 胡宴如 耿蘇燕編著4 數字電子技術 (第三版) 楊志忠 衛樺林編著附頁1#include /頭文件定義單片機內部寄存器#define uchar unsigned char /宏定義縮寫成uchar#define uint unsigned int/宏定義縮寫成uint/ 數碼管位端口定義sbit w1=P22;sbit w2=P23;sbit w3=P24;sbit w4=P25;sbit w5=P2

9、6;sbit w6=P27;/按鍵 /sbit key1=P35;/設置時間sbit key2=P36;/加sbit key3=P37;/減/ 共陰數碼管段信號編碼 /uchar code table10=/0-9 0xFC,0x60,0xDA,0xF2,0x66, 0xB6,0xBE,0xE0,0xFE,0xF6;/uchar num,miao,fen,shi;/計時時分秒變量uchar fen1,shi1;/鬧鐘變量uchar d1,d2,d3,d4,d5,d6;/顯示拆分數據voiddelay(uintms)/1ms延時函數數據保持用的 括號里面是幾大概就延時多少msuchar x;fo

10、r(ms;ms0;ms-)for(x=110;x0;x-);void display()/顯示函數d1=shi/10;/小時d2=shi%10;/d3=fen/10;/d4=fen%10;/ 分鐘d5=miao/10;/d6=miao%10;/ 秒w1=0;P0=tabled1;delay(10);/第 1 位顯示數據P0=0x00;w1=1;/ 關閉顯示消除動態掃描陰影w2=0;P0=tabled2|0x01;delay(10);/第 2位顯示數據P0=0x00;w2=1;/ 關閉顯示消除動態掃描陰影w3=0;P0=tabled3;delay(10);/第 3 位顯示數據P0=0x00;w3

11、=1;/ 關閉顯示消除動態掃描陰影w4=0;P0=tabled4|0x01;delay(10);/第 4位顯示數據P0=0x00;w4=1;/ 關閉顯示消除動態掃描陰影w5=0;P0=tabled5;delay(10);/第 5 位顯示數據P0=0x00;w5=1;/ 關閉顯示消除動態掃描陰影w6=0;P0=tabled6;delay(10);/第 6 位顯示數據P0=0x00;w6=1;/ 關閉顯示消除動態掃描陰影void keyscan()/調時按鍵掃描函數uchar k_flag;if(key1=0)/按鍵按下一下所有按鍵執行的模式都是一樣的delay(10);/延時消除按鍵抖動if(k

12、ey1=0)/確定按鍵按下k_flag=1;while(key1=0);/等待按鍵松手while(k_flag=1)/開始調整小時數據display();if(key1=0)delay(10);/延時消抖if(key1=0)k_flag=2;while(key1=0);if(key2=0)delay(10);if(key2=0)shi+;if(shi=24)shi=0;while(key2=0);if(key3=0)delay(10);if(key3=0)if(shi=0)shi=24;shi-;while(key3=0);while(k_flag=2)/開始調整分鐘數據display();i

13、f(key1=0)delay(10);/延時消抖if(key1=0)k_flag=3;while(key1=0);if(key2=0)delay(10);if(key2=0)fen+;if(fen=60)fen=0;while(key2=0);if(key3=0)delay(10);if(key3=0)if(fen=0)fen=60;fen-;while(key3=0);while(k_flag=3)/開始調整秒數據display();if(key1=0)delay(10);/延時消抖if(key1=0)k_flag=0;while(key1=0);if(key2=0)delay(10);if(key2=0)miao+;if(miao=60)miao=0;while(key2=0);if(key3=0)delay(10);if(key3=0)if(miao=0)miao=60;miao-;while(key3=0);void main()TMOD=0x01;/定時器 0 16 位計時模式TH0=(65536-50000)/256; /50ms定時TL0=(65536-50000)%256; /50ms定時EA=1;/ 開啟總中斷ET0=1;/ 開啟定時器中斷TR0=1;/ 開啟定時器while(1)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論