




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、家用多功能定時(shí)器的設(shè)計(jì) 專業(yè)年: 電子信息工程 學(xué) 號(hào): 201130040307 學(xué)生姓名: 廖義忠 指導(dǎo)教師: 謝勇勤 報(bào)告完成日期 2014 年 5 月28 日 第1章 緒論1.1 系統(tǒng)背景 1.1.1 單片機(jī)的電子技術(shù) 單片機(jī)是將CPU、RAMROM定時(shí)器/計(jì)數(shù)器以及輸入輸出(I/O)接口等計(jì)算機(jī)的主要部件集成在一塊的集成電路芯片,作為微機(jī)系統(tǒng)它還可以實(shí)現(xiàn)模/數(shù)轉(zhuǎn)換、脈寬調(diào)制、計(jì)數(shù)器捕獲/比較邏輯、高速I/O口和WDT各種控制功能。通過在MCS-51系列的單片機(jī)中增設(shè)了全雙工串行口I/O、片內(nèi)數(shù)據(jù)存儲(chǔ)器采用尋址范圍為256kb的8位地址、均有四種工作方式的2個(gè)16位的定時(shí)/計(jì)數(shù)器、增加
2、了中斷系統(tǒng)、增設(shè)了頗具特色的布爾處理機(jī)、讓單片機(jī)具有較強(qiáng)的指令尋址和運(yùn)算功能這些技術(shù),使單片機(jī)擁有了完善的外部并行總線(AB、DB、CB)具有多機(jī)識(shí)別功能的串行通信接口,規(guī)范了功能單元的特殊功能寄存器控制模式及適應(yīng)控制器特點(diǎn)的布爾處理系統(tǒng)和指令系統(tǒng),位發(fā)展具有良好兼容性的新一代單片機(jī)奠定了良好的基礎(chǔ)。單片機(jī)被廣泛地應(yīng)用在各種領(lǐng)域。例如用來作家用電器中如洗衣機(jī)、電冰箱、微波爐、電飯煲、電視機(jī)、錄像機(jī)以及其他視頻音像設(shè)備的控制器;在辦公室中用作大量通信、信息的承載體,比如磁盤驅(qū)動(dòng)、打印機(jī)、復(fù)印機(jī)、電話等;它還可以來構(gòu)成電子秤、收款機(jī)、倉儲(chǔ)安全檢測(cè)系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)等冷凍保鮮系統(tǒng)等的專用系統(tǒng);在工業(yè)
3、中,像工業(yè)過程控制、過程監(jiān)制以及機(jī)電一體化控制等系統(tǒng)都是以單片機(jī)為核心火多網(wǎng)絡(luò)系統(tǒng);它還可以構(gòu)成一些智能儀表與集成智能傳感器傳統(tǒng)的控制電路,實(shí)現(xiàn)一些像存儲(chǔ)、數(shù)據(jù)處理、查找、判斷、聯(lián)網(wǎng)和語音功能等智能化功能,還可以構(gòu)成一些電子系統(tǒng)中的集中顯示系統(tǒng)、動(dòng)力檢測(cè)控制系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視器等的冗余網(wǎng)絡(luò)系統(tǒng)。 1.1.2 定時(shí)器介紹 人類最早使用的定時(shí)工具是沙漏或水漏,但在鐘表誕生發(fā)展成熟之后,人們開始嘗試使用這種全新的計(jì)時(shí)工具來改進(jìn)定時(shí)器,達(dá)到準(zhǔn)確控制時(shí)間的目的。 1876年,英國外科醫(yī)生索加取得一項(xiàng)定時(shí)裝置的專利,用來控制煤氣街燈的開關(guān)。它利用機(jī)械鐘帶動(dòng)開關(guān)來控制煤氣閥門。 定時(shí)器
4、確實(shí)是一項(xiàng)了不起的發(fā)明,使相當(dāng)多需要人控制時(shí)間的工作變得簡單了許多,家用電器都安裝了定時(shí)器來控制開關(guān)或工作時(shí)間。1.2 設(shè)計(jì)要求 主要內(nèi)容和任務(wù):完成單片機(jī)最小系統(tǒng)板設(shè)計(jì)與制作,在此基礎(chǔ)上通過編程設(shè)計(jì)家用多路定時(shí)控制器。目標(biāo):通過編寫程序,使單片機(jī)最小系統(tǒng)具有正常數(shù)字鐘功能,包括時(shí)間校正,具有至少三路定時(shí)開關(guān)控制功能,每路定時(shí)時(shí)間可以任意設(shè)置。第2章 系統(tǒng)電路設(shè)計(jì)2.1 設(shè)計(jì)框架介紹按鍵輸入電路:對(duì)定時(shí)器輸入定時(shí)時(shí)間、時(shí)鐘時(shí)間,并對(duì)其調(diào)整。時(shí)鐘電路:給單片機(jī)一個(gè)時(shí)鐘信號(hào),讓其工作。復(fù)位電路:使單片機(jī)為初始狀態(tài),并從初態(tài)開始工作。數(shù)碼管 :顯示時(shí)間或者其它。2.2 系統(tǒng)硬件單元電路設(shè)計(jì)2.2.1
5、 復(fù)位電路設(shè)計(jì)復(fù)位操作有上電自動(dòng)復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位三鐘方式,本次實(shí)驗(yàn)用的是按鍵電平復(fù)位,利用電容的充放電公式來選擇所需的電容、電阻,能保證復(fù)位信號(hào)高電平持續(xù)時(shí)間大于2個(gè)機(jī)器周期。2.2.2 時(shí)鐘電路設(shè)計(jì)該時(shí)鐘電路是由晶體振蕩器和兩個(gè)微調(diào)電容組成的。在單片機(jī)芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為引腳XTAL1,其輸出端為引腳XTAL2。只需要在片外通過XTAL1和XTAL2引腳跨接晶體振蕩器或在引腳與地之間加接微調(diào)電容,形成反饋電路,振蕩器即可工作。由于該晶振使用的是12MHZ的晶體,因此它的時(shí)鐘周期是0.167us,機(jī)器周期為1us。2.2.3 按鍵電路設(shè)計(jì)本課程設(shè)計(jì)要用數(shù)碼
6、管顯示數(shù)字鐘、定時(shí)時(shí)間。這就需要鍵盤來設(shè)定,鍵盤可以分為獨(dú)立連接式和矩陣式。本實(shí)驗(yàn)用的是矩陣式。為了減少所以的I/O口,利用三八譯碼器來實(shí)現(xiàn)12個(gè)鍵盤的連接。對(duì)于這種矩陣式的鍵盤連接,掃描時(shí)依次將行線置為低電平,即在置某根行線為低電平時(shí),其它都線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。注意在按鍵時(shí)一定要調(diào)延時(shí)子程序來消除抖動(dòng)。2.2.4 數(shù)碼管顯示電路設(shè)計(jì)實(shí)驗(yàn)中所用的數(shù)碼管為共陰極數(shù)碼管,當(dāng)給其引腳加入高電平時(shí),數(shù)碼管中對(duì)應(yīng)的那一段就亮。2.3 系統(tǒng)硬件總電路第3章 系統(tǒng)軟件設(shè)計(jì)3.1 系統(tǒng)軟件流程圖
7、主程序在執(zhí)行時(shí),通過單片機(jī)內(nèi)部中斷對(duì)程序不斷的掃描判斷、刷新顯示,當(dāng)有鍵按下時(shí),將數(shù)字鐘中的時(shí)間與定時(shí)時(shí)間相比較,然后根據(jù)比較程序顯示狀態(tài),并且還要延時(shí)消除抖動(dòng),之后進(jìn)行按鍵處理,從而顯示不同的狀態(tài),如此周期循環(huán)。3.2 系統(tǒng)程序設(shè)計(jì)#include<reg51.h>#define uchar unsigned char#define uint unsigned int/*定義管腳*/sbit RELAY=P10;sbit LED1=P11;sbit LED2=P12;sbit LED3=P13;sbit LED4=P14;sbit LED5=P15;sbit LED6=P16;s
8、bit LED7=P17;sbit Line1=P21;sbit Line2=P20;/*定義緩沖區(qū)及初始化*/uchar data TimeTab6=0x06,0x5b,0x4f,0x66;uchar data Tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; uchar data TimeTab14,TimeTab24;/*定義參數(shù)及初始化*/char hour=12,minute=34,second=0,h=0,m=0,h1=0,m1=0;char second1;char flag=0,flag1=0,flag2=0;ucha
9、r Keyno=0;uchar num=0,count=0;uchar STATE=0;/*延時(shí)子函數(shù)*/void Delay( uint x) /自定義延時(shí)約0.1ms uint t; while(-x)for(t=0;t<120;t+) ; /*/* 刷新緩沖區(qū)子程序 */*/void RefreshTab(void)if(flag=0)TimeTab0=Tabhour/10; TimeTab1=Tabhour%10; TimeTab2=Tabminute/10; TimeTab3=Tabminute%10;if(flag=1) TimeTab10=Tabh/10; TimeTab1
10、1=Tabh%10; TimeTab12=Tabm/10; TimeTab13=Tabm%10; if(flag=2)TimeTab20=Tabh1/10; TimeTab21=Tabh1%10; TimeTab22=Tabm1/10; TimeTab23=Tabm1%10; if(flag=4)TimeTab0=0x00; TimeTab1=0x00; TimeTab2=Tab(50-second1)/10; TimeTab3=Tab(50-second1)%10;/*/* 按鍵處理子程序 */*/void Key_Process(void)switch(STATE)case 0: if(K
11、eyno=1)STATE=1;break;case 1: if(Keyno=2)hour+;if(hour=24)hour=0;if(Keyno=3)hour-;if(hour=-1)hour=23;if(Keyno=1)STATE=2;break;case 2: if(Keyno=2)minute+;if(minute=60)minute=0;if(Keyno=3)minute-;if(minute=-1)minute=59;if(Keyno=1)STATE=3;flag=1;break;case 3: if(Keyno=2)h+;if(h=24)h=0;if(Keyno=3)h-;if(h
12、=-1)h=23;if(Keyno=1)STATE=4;break;case 4: if(Keyno=2)m+;if(m=60)m=0;if(Keyno=3)m-;if(m=-1)m=59;if(Keyno=1)STATE=5;flag=0;break;case 5: if(Keyno=1)STATE=6;flag=2;break;case 6:if(Keyno=2)h1+;if(h1=24)h1=0;if(Keyno=3)h1-;if(h1=-1)h1=23;if(Keyno=1)STATE=7;break;case 7: if(Keyno=2)m1+;if(m1=60)m1=0;if(Ke
13、yno=3)m1-;if(m1=-1)m1=59;if(Keyno=1)STATE=8;flag=0;break;case 8:if(Keyno=4)STATE=9;flag=3; break;case 9:if(Keyno=5)STATE=10;second1=20;flag=4;if(Keyno=1)STATE=0;flag=0;break;case 10:if(Keyno=1)STATE=0;flag=0;break;case 11:if(Keyno=1)STATE=0;flag=0;break;case 12:if(Keyno=1)STATE=0;flag=0;break;defaul
14、t:break;/*/* 數(shù)碼管顯示子程序 */*/void SEG_Display(void) if(flag=0) P0=TimeTabnum; if(flag=1) P0=TimeTab1num; if(flag=2) P0=TimeTab2num; if(flag=3) P0=0x49; if(flag=4) P0=TimeTabnum; /*紅綠燈*/void hlhd(void)if(second1=50&&STATE=10) STATE=11;second1=45;if(second1=50&&STATE=11) STATE=12;second1=
15、30;if(second1=50&&STATE=12) STATE=10;second1=20; /*/ /* 比較函數(shù) */*/void compare(void)if(h=hour)if(m=minute)STATE=4;if(minute=m+2)STATE=0; if(h1=hour)if(m1=minute)STATE=6;if(minute=m1+2)STATE=0;/*/* LED顯示子程序 */*/void LED_Display(void)switch(STATE) case 0: LED2=0;LED3=0;LED4=0;LED5=0;LED6=0;LED7
16、=0;break;case 1: LED2=1;LED3=0;LED4=0;LED5=0;LED6=0;LED7=0;break;case 2: LED3=1;LED2=0;LED4=0;LED5=0;LED6=0;LED7=0;break;case 3: LED4=1;LED2=0;LED3=0;LED5=0;LED6=0;LED7=0;break;case 4: LED4=1;LED2=0;LED3=0;LED5=0;LED6=0;LED7=0;break;case 6: LED5=1;LED2=0;LED3=0;LED4=0;LED6=0;LED7=0;break;case 7: LED
17、5=1;LED2=0;LED3=0;LED4=0;LED6=0;LED7=0;break;case 8: LED2=1;LED3=1;LED4=1;LED5=0;LED6=0;LED7=0;break;case 9: LED2=1;LED3=1;LED4=1;LED5=0;LED6=0;LED7=0;break;case 10: LED2=0;LED3=1;LED4=0;LED5=0;LED6=0;LED7=0;break;case 11: LED2=1;LED3=0;LED4=0;LED5=0;LED6=0;LED7=0;break;case 12: LED2=0;LED3=0;LED4=1
18、;LED5=0;LED6=0;LED7=0;break;default: break; /*/* 主程序 */*/void main(void)P1=0x00;EA=1;TMOD |=0x01;/定時(shí)器0計(jì)時(shí)50ms in 12M crystal TH0=0x3C; /初值TL0=0xB0;ET0=1;TR0=1;TMOD |=0x10; /定時(shí)器1用于動(dòng)態(tài)掃描TH1=0xFa; /初值TL1=0xF0;ET1=1;TR1=1; while(1)RefreshTab();LED_Display();compare();hlhd(); if(!Line1|!Line2)Delay(200);Ke
19、y_Process();/*/* 定時(shí)器0中斷用于計(jì)時(shí) */*/void Timer0(void) interrupt 1TH0=0x3C; /重新賦值50ms溢出TL0=0xB0;count+;if(count=10) LED1=LED1; if (count=20) count=0; second+;if(flag=4)second1+; /秒加1 if(second=60) second=0; minute+; /分加1 if(minute=60) minute=0; hour+; /時(shí)加1 if(hour=24) hour=0; /*/* 定時(shí)器1中斷掃描顯示+鍵值判斷 */*/voi
20、d Timer1(void) interrupt 3 TH1=0xFa; /定時(shí)2ms顯示下一個(gè)數(shù)碼管TL1=0xF0;switch(num)case 0: P2=0x0f;if(!Line1)Keyno=1;if(!Line2)Keyno=6;SEG_Display();break;case 1: P2=0x1f;if(!Line1)Keyno=4;if(!Line2)Keyno=5;SEG_Display();break;case 2: P2=0x2f;if(!Line1)Keyno=3;if(!Line2)Keyno=12;SEG_Display();break;case 3: P2=0
21、x3f;if(!Line1)Keyno=7;if(!Line2)Keyno=8;SEG_Display();break;case 4: P2=0x4f;if(!Line1)Keyno=2;if(!Line2)Keyno=9;SEG_Display();break;case 5: P2=0x5f;if(!Line1)Keyno=10;if(!Line2)Keyno=11;SEG_Display();break;default: break;num+; if(num=6)num=0;第4章 實(shí)驗(yàn)結(jié)果和分析4.1 實(shí)驗(yàn)使用的儀器設(shè)備電腦,PTOTEUS軟件,KEIL軟件,電烙鐵,吸錫器,鉗子,直流電源,電阻,電容等基本元器件。4.2測(cè)試結(jié)果分析程序燒錄到單片機(jī)中后,將其接到+5V左右的直流電源中,并開始按鍵實(shí)現(xiàn)時(shí)間控制或調(diào)整,設(shè)置多路定時(shí)時(shí)間,每路定時(shí)時(shí)間有起始時(shí)間和終止時(shí)間。當(dāng)設(shè)定好每路時(shí)間段后,按鍵恢復(fù)時(shí)鐘狀態(tài)并開始計(jì)時(shí)。當(dāng)?shù)搅酥付ǖ臅r(shí)間后,LED燈便會(huì)開始亮直至定時(shí)時(shí)間結(jié)束。具體的顯示情況如下:通過按shift鍵來
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年專用系統(tǒng)集成電路項(xiàng)目經(jīng)濟(jì)效益評(píng)估報(bào)告
- Lesson 4 He goes to school at 7:30. Period 2( 教學(xué)設(shè)計(jì))-2024-2025學(xué)年接力版英語五年級(jí)上冊(cè)
- 《主題六 我們的“十歲成長禮”》教學(xué)設(shè)計(jì)-2023-2024學(xué)年四年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)四年級(jí)下冊(cè)遼師大版
- 《主題七 我當(dāng)校園小導(dǎo)游》教學(xué)設(shè)計(jì)-2023-2024學(xué)年四年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)遼師大版
- 10我們愛和平(第1課時(shí))(教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治六年級(jí)下冊(cè)
- Unit 5 Fun clubs. SectionB 1a~2b教學(xué)設(shè)計(jì) -2024-2025學(xué)年人教版(2024)七年級(jí)英語上冊(cè)
- Unit8 The earth-our only home (教學(xué)設(shè)計(jì))-2024-2025學(xué)年冀教版英語七年級(jí)上冊(cè)
- 2024秋八年級(jí)道德與法治上冊(cè) 第三單元 網(wǎng)絡(luò)世界 第八課 匿名世界的“游戲規(guī)則”第2框 恪守網(wǎng)絡(luò)道德教學(xué)設(shè)計(jì) 教科版
- 28有的人-紀(jì)念魯迅有感 教學(xué)設(shè)計(jì)-2024-2025學(xué)年語文六年級(jí)上冊(cè)統(tǒng)編版
- Module 10 Unit 2 教學(xué)設(shè)計(jì) 2024-2025學(xué)年外研版八年級(jí)英語上冊(cè)
- 果汁加工工藝
- 六年級(jí)上冊(cè)語文課件-非連續(xù)性文本閱讀 人教部編版 (共21張PPT)
- 構(gòu)樹種植項(xiàng)目可行性分析報(bào)告
- 大數(shù)據(jù)考試試題(部分)
- 瀝青混凝土路面施工質(zhì)量通病防治措施
- 自然災(zāi)害隱患排查總結(jié)
- 馬工程版公共財(cái)政概論期末復(fù)習(xí)知識(shí)點(diǎn)總結(jié)
- 隧道工程現(xiàn)場(chǎng)施工質(zhì)量管理亮點(diǎn)
- 醫(yī)院醫(yī)患關(guān)系培訓(xùn)課件:護(hù)患溝通技巧
- 培優(yōu)的目的及作用
- 《漢字與中國文化》PPT課件
評(píng)論
0/150
提交評(píng)論