




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、制作和調試(50分)設計報告(50分)評定等級指導教師湖州師范學院求真學院信息與工程系單片機應用系統設計總結報告題目基于STC89C52的數字電子鐘設計15電子科學與技術092835 班 姚宇飛09283524指導教師吳小紅 萬東輝信息與工程系2011年4月14日設計任務:1. 采用STC單片機和鍵盤,設置 4位LED數碼管顯示的電子時鐘;2. 上電時,顯示12:00并且“:”間隔500ms閃爍,其中“:”代表秒功能;3. 具有鬧鐘設定,鬧鈴功能;4. 通過鍵盤可修改時間。 發揮功能:1. 實現時鐘整點“嘟”聲提示功能;2. 實現秒表功能。秒表具有計時開始,計時結束,及時復位等功能。 總體設計
2、:原理圖中應該包括 8052芯片,晶振復位系統,按鍵大概4個,蜂鳴器,數碼管1. 首先分析數碼管,此次課程設計的數碼管為共陽極,所以低電平有效。且管腳分別為卩1人5,P1A6,P 1人7;2. 蜂鳴器P3人2必須接低電平有效;3. 按鍵是一個矩陣按鍵, 一定要進行鍵盤掃描,4*3型的管腳分別是P2A7 , P26,P25,P2M, P2A3,P2A2,p2人1,P2人0,在掃描的時候必須另P2M接低電平有效。4. 晶振是12MHZ ;還有電阻阻值詳細見電路圖設計流程圖:走時一一時鐘分修改一一時鐘時修改一一鬧鐘分修改P1M,說明:狀態的修改由按鍵 1的按下的次數決定,時鐘,2調上,按鍵3調下,按
3、鍵4用了返回走時狀態。原理圖:鬧鐘時修改一一走時鬧鐘的調時用按鍵2和按鍵3,按鍵+ 5V程序LABAc-PEAKER_kR5-pF 丄 L AriC31P10/TPOOP11/TP01P12P02P13P03P14P04P15P05P16P06P17P07INT1P20INTOP21P22T1P23TOP24P25EATVPP26P27X1X2RE SETRXDTXDLAL E/P-PSENSIC89C5131191315917U15KknR35K1|R45K1abdefg deR25K1abdefgdea 1a 1DS2aDS3a 1DS1a DPY badefgdeDS4a DPY bad
4、p cnrr切+ 5V+ 5VR6S5-fe_*SW扁#in clude<reg51.h>#in clude< intrin s.h>#defi ne uint un sig ned int#defi ne uchar un sig ned char/按鍵端口定義sbit key仁卩2人0;/定義按鍵-功能鍵sbit key2=Pil;/按鍵定義-增加鍵sbit key3=卩2人2; /按鍵定義-減少鍵 sbit key4=卩2人3; /按鍵定義-確定鍵 sbit beep=P 2人4;/蜂鳴器端口sbit sp eaker=卩3人2;數碼管端口sbit com仁 PI
5、M;sbit com2=P 1人5;sbit com3=PIW;sbit com4=卩1人7;/全局變量定義uint z=0;uchar flag=1;uchar temp=0;uchar nu m1=0, num 4=0;/設置按鍵按下次數uchar sp eaker_ num;uchar sec on d_miao_t ing;uchar sec ond_min_ting;uchar sec on d_miao=0;uchar sec ond_min=0;uchar clk_hour=12,clk_ min=0,clk_miao=0;uchar alm_hour=0,alm_ min=0;
6、uchar coun t=0,co un t1=0;uchar T0_int_nums;/T0 中斷次數uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f;/數碼管正碼uchar code table1=0xc0,0xcf,0xa4,0x86,0x8b,0x92,0x90,0xc7,0x80,0x82,0x7f;/ 數碼管倒碼 /void jin wei();void zhe ngdia n();/延時程序voiddelayms( uint xms)uint i,j;for(i=xms;i>0;i
7、-);for(j=1060;j>0;jT;顯示子程序void dis play()if(nu m1=0&&n um4=0)if(cou nt< 50)com4=0;com3=1;com2=1;com1=1;/ 顯示時鐘時的十位P 0=tableclk_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;/P0=tableclk_hour%10;delayms(l);顯示時鐘時的個位com4=1;com3=1;com2=0;com1=1;/P0=table1clk_mi n/10;delayms(1);顯示時鐘分的十位com4
8、=1;com3=1;com2=1;com1=0;/P 0=table1clk_mi n%10;delayms(1);else com4=0;com3=1;com2=1;com1=1;P 0=tableclk_hour/10;delayms(1);顯示始終分的個位com4=1;com3=0;com2=1;com1=1;P0=tableclk_hour%10&0x7f; delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1clk_mi n/10&0x7f; delayms(1);com4=1;com3=1;com2=1;com1=0;P
9、 0=table1clk_mi n%10; delayms(1);elseif( nu m1!=0)if(nu m1=1)if(cou nt<50) com4=0;com3=1;com2=1;com1=1;P 0=tableclk_hour/10;delayms(l);com4=1;com3=0;com2=1;com1=1;P0=tableclk_hour%10;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1clk_mi n/10; delayms(1);com4=1;com3=1;com2=1;com1=0;P 0=table1clk
10、_mi n%10;delayms(1);else com4=0;com3=1;com2=1;com1=1;P 0=tableclk_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;P0=tableclk_hour%10;delayms(1);com4=1;com3=1;com2=0;com1=1;P0=0x7f;delayms(1);com4=1;com3=1;com2=1;com1=1;P 0=0x7f; delayms(1);if(nu m1=2)if(cou nt<50) com4=0;com3=1;com2=1;com1=1;P 0=
11、tableclk_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;P0=tableclk_hour%10;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1clk_mi n/10; delayms(1);com4=1;com3=1;com2=1;com1=0;P0=table1clk_mi n%10; delayms(1); else com4=1;com3=1;com2=1;com1=1;P 0=0x7f;delayms(1);com4=1;com3=0;com2=1;com1=1;P0=0x7f;
12、delayms(l);com4=1;com3=1;com2=0;com1=1;P 0=table1clk_mi n/10; delayms(1);com4=1;com3=1;com2=1;com1=0;P 0=table1clk_mi n%10;delayms(1);if(nu m1=3)if(cou nt<50)com4=0;com3=1;com2=1;com1=1;P 0=tablealm_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;P 0=tablealm_hour%10;delayms(1);com4=1;com3=1;com2=
13、0;com1=1;P 0=table1alm_mi n/10;delayms(1);P 0=table1alm_mi n%10;com4=1;com3=1;com2=1;com1=0; delayms(1);elsecom4=0;com3=1;com2=1;com1=1;P 0=tablealm_hour/10;delayms(l);com4=1;com3=0;com2=1;com1=1;P 0=tablealm_hour%10 &0x7f;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=0x7f;delayms(1);P 0=table1alm_
14、mi n%10;com4=1;com3=1;com2=1;com1=1;delayms(1);if(nu m1=4)if(cou nt<50)com4=0;com3=1;com2=1;com1=1;P 0=tablealm_hour/10;delayms(1);com4=1;com3=0;com2=1;com1=1;P 0=tablealm_hour%10;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1alm_mi n/10;delayms(1);P 0=table1alm_mi n%10;com4=1;com3=1;com2=1;co
15、m1=0;delayms(1);elsecom4=1;com3=1;com2=1;com1=1;P 0=0x7f;delayms(1);com4=1;com3=1;com2=1;com1=1;P 0=0x7f;delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1alm_mi n/10;delayms(1);P 0=table1alm_mi n%10;com4=1;com3=1;com2=1;com1=0;delayms(1); elseif(cou nt<50) com4=0;com3=1;com2=1;com1=1;P 0=tablesec
16、o nd_mi n/10; delayms(1);com4=1;com3=0;com2=1;com1=1;P 0=tableseco nd_mi n%10; delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1seco nd_miao/10; delayms(1);P 0=table1seco nd_miao%10; com4=1;com3=1;com2=1;com1=0; delayms(1); else com4=0;com3=1;com2=1;com1=1;P 0=tableseco nd_mi n/10; delayms(1);com4=1
17、;com3=0;com2=1;com1=1;P 0=tableseco nd_mi n%10 &0x7f; delayms(1);com4=1;com3=1;com2=0;com1=1;P 0=table1seco nd_miao/10&0x7f; delayms(1);P 0=table1seco nd_miao%10; com4=1;com3=1;com2=1;com1=0; delayms(1); II按鍵分增加void key_minjia() if(key2=0)delayms(5); if(key2=0) while(!key2) dis play(); clk_m
18、i n+; if(clk_mi n=60) clk_mi n=0;/按鍵分減void key_min_jia n() if(key3=0)delayms(5);if(key3=0)while(!key3) dis play(); clk_mi n-;if(clk_mi n=-1) clk_m in=59;/按鍵時加void key_hour_jia() if(key2=0) delayms(5); if(key2=0) while(!key2) dis play();clk_hour+; if(clk_hour=24) clk_hour=0;/按鍵時減void key_hour_jia n()
19、 if(key3=0)delayms(5);if(key3=0) while(!key3) dis play();clk_hour-; if(clk_hour=-1) clk_hour=23;II鬧鐘分加void alm_min_jia() if(key2=0)delayms(5);if(key2=0)while(!key2)dis play(); alm_mi n+; if(alm_mi n=60) alm_mi n=0;/鬧鐘分減void alm_min_jia n() if(key3=0)delayms(5);if(key3=0)while(!key3)dis play(); alm_m
20、i n-; if(alm_mi n=-1) alm_mi n=59; /鬧鐘時加void alm_hour_jia() if(key2=0)delayms(5);if(key2=0)while(!key2) dis play(); alm_hour+; if(alm_hour =24) alm_hour =0;/鬧鐘時減void alm_hour_jia n() if(key3=0)delayms(5);if(key3=0) while(!key3) dis play(); alm_hour-;if(alm_hour=-1) alm_hour=23;II按鍵處理voidkey_ proc()b
21、ee p=0;if(key1=0)delayms(l);if(key1=0)while(!key1);delayms(1);nu m1+;if(nu m1=5) nu m1=0;if(n um1=1)/ 分調節分加的進制分減的進制key_min_jia();key_min_jia n();if(num1=2)/ 時調節時加的進制/時間的進制key_hour_jia(); / key_hour_jia n();if(num1=3)/鬧鐘,調節程序alm_min_jia();alm_min_jia n();if(num1=4)/鬧鐘,調節程序alm_hour_jia();alm_hour_jia
22、n();/鬧鐘void n aozh on g()if(clk_hour=alm_hour)&&(clk_mi n=alm_mi n) if(clk_miao%2=0&&clk_miao<=19)sp eaker=0;delayms(1);sp eaker=1;/秒表void miaobiao() bee p=0;if(key4=O)delayms(5);if(key4=0);while(!key4) dis play(); num 4+;if (num 4=5)num4=0;if(num 4=1)sec on d_miao=0 ,sec ond_min=
23、0;if(num 4=2) TR1=1;if(nu m4=3)TR1=0;if(num4=4)sec on d_miao=0 ,sec ond_min=0;void mai n()TMOD=Ox11;TH0=(65535-9216)/256;TL0=(65535-9216)%256;TH1=(65535-9216)/256;TL1=(65535-9216)%256;EA=1;ET0=1;ET1=1;TR0=1;alm_mi n=0; alm_hour=0;while(1) key_proc();dis play();n aozho ng(); miaobiao(); zhe ngdia n();中斷void T0_i nt()i nterru pt 1TH0=(65535-9216)/256;TL0=(65535-9216)%256;count+;/中斷次數累加if(cou nt=100)coun t=0;clk_miao+;if
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新消費品牌在Z世代市場中的競爭優勢分析報告2025
- 人武部消防培訓課件
- 農業灌溉用水高效利用技術與管理在農業節水型社會建設中的應用報告
- 2025年智慧物流配送體系資金申請與物流信息化戰略規劃
- 常見病照護課件:神經系統常見疾病的照護
- 眼科疾病分類及診療概述
- 校園艾滋病健康教育宣傳
- 團日主題活動策劃方案
- 現代教職工心理健康教育
- 實驗設計方案匯報
- DBJ45 024-2016 巖溶地區建筑地基基礎技術規范
- 養殖產業政策與市場趨勢分析-洞察分析
- 快遞柜租賃合同
- 2025年電源管理芯片市場分析報告
- 2025年行政執法證考試必考題庫及答案(共四套)
- 《律師事務所管理辦法》(全文)
- 校長國培計劃培訓成果匯報
- 湖南出版中南傳媒招聘筆試真題2023
- 2025年河北省職業院校高職組“食品安全與質量檢測”技能大賽參考試題庫(含答案)
- 中國血管性認知障礙診治指南(2024版)解讀
- 2024版房屋市政工程生產安全重大事故隱患判定標準內容解讀
評論
0/150
提交評論