版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2013年重慶郵電大學(xué)電子設(shè)計競賽設(shè)計報告參賽題目:帶電子開關(guān)的單片機最小系統(tǒng)(題目一) 學(xué)院:光電工程學(xué)院參賽人員:XXX XXX XXX日期:2013.3.9帶電子開關(guān)的單片機最小系統(tǒng)摘要:帶電子開關(guān)的單片機最小系統(tǒng),通過一個電子開關(guān)控制電源的開斷,斷電狀態(tài)時,按一下開關(guān)啟動系統(tǒng)供電,系統(tǒng)電壓不低于4.5V;系統(tǒng)處于供電狀態(tài)時,通過LCD顯示日期,時間,溫度,并能對日期、時間進行調(diào)整,溫度測量采用熱敏電阻。系統(tǒng)處于供電狀態(tài)時,按下按鍵,LCD顯示關(guān)機信息,并倒計時十秒后自動關(guān)閉系統(tǒng)電源。此設(shè)計中,控制芯片采用STC89C52,電子開關(guān)部分采用具有開關(guān)特性的三極管的、單向?qū)щ姷亩O管、電阻、
2、電容等分立器件組成,設(shè)計可以滿足供電時系統(tǒng)電壓不低于4.5V的要求;LCD顯示采用比較通用的液晶屏LCD1602;在對日期、時間的程序設(shè)計中考慮了閏年二月的天數(shù)問題,硬件設(shè)計中設(shè)置了三個按鍵:功能鍵、數(shù)字+、數(shù)字-來調(diào)整;溫度測量部分采用10k的NTC熱敏電阻與10k的電阻串聯(lián)分壓直接經(jīng)ADC0809采集數(shù)據(jù),每一秒鐘采集一次數(shù)據(jù),可以達到對1溫度變化的采集。關(guān)鍵詞:電子開關(guān) 單片機 熱敏電阻 溫度采集 LCD16021. 課題分析本題目要求完成一個最小單片機系統(tǒng),要求不使用任何現(xiàn)成的模板。核心板,一般這類問題控制芯片可采用STC89C52完成目標。一個電子開關(guān)控制供電,斷電,又不能使用帶鎖按
3、鍵,于是我們利用三極管的開關(guān)特性和開關(guān)條件,構(gòu)建電子開關(guān),在開關(guān)按下的時候具有保持當前電源接通的狀態(tài),單片機工作,通過LCD1602顯示日期,時間的變化采用單片機的定時系統(tǒng)來控制。其中,溫度顯示經(jīng)溫度測量部分采用10k的NTC熱敏電阻與10k的電阻串聯(lián)分壓直接經(jīng)ADC0809采集數(shù)據(jù),熱敏電阻變化的產(chǎn)生采集數(shù)據(jù)的變化,根據(jù)熱敏電阻阻值與溫度的曲線關(guān)系,可以根據(jù)采集數(shù)據(jù)查找到熱敏電阻的溫度。2. 系統(tǒng)設(shè)計2.1. 硬件設(shè)計整體設(shè)計如下:2.1.1. 控制電路按鍵功能描述:S1:Mode鍵,可以對日期、時間進行校準,通過按下切換功能,共有秒、分、時、年、月、日6擋校準。S2:所對應(yīng)數(shù)值加一。S3:
4、所對應(yīng)數(shù)值減一。2.1.2. 電子開關(guān)電子開關(guān)部分采用單鍵實現(xiàn)單片機的開關(guān)機,控制流程如下:1,按下按鍵,Q2導(dǎo)通,單片機通電復(fù)位進入工作。2,K_out 設(shè)置為高,Q1導(dǎo)通,相當于按鍵長按,Q2保持導(dǎo)通。3,按鍵再次按下,檢測到K_in 為低,K_out 變低,Q1關(guān)閉,Q2關(guān)閉,系統(tǒng)斷電。2.1.3. 溫度采集信號產(chǎn)生與處理信號產(chǎn)生采用熱敏電阻與10k電阻串聯(lián)分壓,熱敏電阻上的電壓變化則反映了環(huán)境溫度的變化。我們選擇ADC0809對熱敏電阻上的分壓進行模數(shù)轉(zhuǎn)換。ADC0809是美國國家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)
5、地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。是目前國內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。ADC0809工作過程首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。電路如下:其中ADC0809的時鐘信號端CLOCK接單片機的端口,利用定時器控制端口的
6、翻轉(zhuǎn)來實現(xiàn)時鐘頻率2.1.4. 顯示模塊我們選擇LCD1602作為數(shù)據(jù)信息顯示,顯示格式如下:電路如下2.2. 程序設(shè)計2.2.1. 整體程序流程2.2.2. 溫度數(shù)據(jù)處理子流程3. 測試方案與測試分析3.1對時間日期的調(diào)整1,采用按鍵調(diào)整,仿真的時候未曾出現(xiàn)數(shù)據(jù)猛然跳轉(zhuǎn)(從2直接到4等)的現(xiàn)象,而在實物進行調(diào)試的時候出現(xiàn)了。原因:按鍵具有抖動現(xiàn)象解決:通過簡單的延時去抖。,2,時間精準方面的調(diào)試通過液晶顯示的時間與電腦時間進行同步對比,發(fā)現(xiàn)時間按每隔1s的變化,基本準確3.2對顯示溫度的誤差分析:因為本例采用的是直接讀取電阻兩端電壓的方法,而未通過信號放大,該方法注定了其溫度的不精準,但是一
7、般作為溫度顯示能夠達到溫度的整數(shù)或0.5的話基本就可以了,下面通過數(shù)據(jù)分析,可以知道,采用此方法,最高精度可以達到0.5左右。熱敏電阻兩端壓降為:經(jīng)A/D后讀出的電壓為:因為,若取則有:因此,該方法可以不受電源電壓和ADC0809參考電壓的限制。下表顯示了從12到41的參數(shù)變化:1218.151632211.49135327.581091317.631612310.95132337.311061416.991592410.46129347.061041516.281572510.00126356.811021615.54154269.58123366.581001714.79151279.18
8、121376.36981814.06148288.82118386.14961913.35144298.48116395.93942012.69141308.16113405.73922112.07138317.86111415.5490由上表可以清楚的看出,該方法是完全可以檢測到1的變化的。4. 心得體會:這次參加電子設(shè)計大賽讓我們學(xué)到了很多余電路的知識,最重要的是電子開關(guān)的設(shè)計。在電子開關(guān)的設(shè)計中我們反反復(fù)復(fù)分析出現(xiàn)的問題與解決方案,最終得到滿足需要,可保持當前狀態(tài)的開關(guān)的設(shè)計。這讓我們收獲很多。此外,對于編程中遇到的問題,我們在認真查詢ADC的使用后完成了對熱敏電阻端電壓的采集工作。其中
9、在聽取各方意見時我們對是否使用放大電路進行取舍,最終確定了加入的電阻的阻值之后發(fā)現(xiàn)熱敏電阻端電壓的變化范圍可以被檢測出來,圓滿的完成了任務(wù)。5. 參考文獻1燕山大學(xué)課程設(shè)計說明. 2一鍵開關(guān)電路設(shè)計集錦. 2011.4.123杜恒、向齊林,基于NTC熱敏電阻的溫度測量與控制系統(tǒng)設(shè)計. 2012.11.304馬長林,陳怡,程利民.單片機實踐應(yīng)用與技術(shù).北京:清華大學(xué)出版社,20085王柏林. 單片機系統(tǒng)設(shè)計的誤區(qū)與對策,電子技術(shù)應(yīng)用, 2002.026. 附錄附錄1:程序代碼/LCD1602 實現(xiàn)對手表的操作 00:00:00定時與鬧鈴#include<reg52.h>#define
10、 uchar unsigned char#define uint unsigned intsbit lcdrs=P26; /寫數(shù)據(jù)、指令sbit lcdrw=P24; /寫、讀sbit lcden=P27; /使能sbit s1=P20; /功能鍵sbit s2=P21; /+鍵sbit s3=P25; /- 鍵sbit s_pow=P11; /開關(guān)機sbit V_out=P10;sbit OE = P13; sbit EOC = P12; sbit ST = P17; sbit CLK = P14;uchar code T_tab=163,161,159,157,154,151,148,14
11、4,141,138,135,132,129,126,123,121,118,116,113,111,109,106,104,102,100,98,96,94,92,90,87;uchar code str_p="Power off. "uchar M_day= 31,28,31,30,31,30,31,31,30,31,30,31;uint year; /年 2000-uchar mon; /月 1-12uchar day; /天 uchar sec; /秒 0-59uchar min; /分 0-59uchar hour; /時 0-23uchar flag3; /定鬧鈴
12、時間標志位uchar t0; /1s 時間計數(shù)(=20)uchar fun_n; /記錄功能uchar Pow_n;uchar flag_off; /關(guān)機標志位void init();void w_com(uchar com);void w_date(uchar date);void display_D(uint y,uchar m,uchar d); /年 月 日void display_T(uchar a,uchar b,uchar c); /時 分 秒void delay(uint t);void key_scan();void display_Tem();void init()t0=0
13、;year=2013;if(year%4=0 && year%100!=0)|year%400=0)M_day1=29;elseM_day1=28;mon=1;day=1;hour=23;min=59;sec=0;Pow_n=9; /LCD1062lcden=0; /lcdrw=0; /寫模式w_com(0x38); /16*2顯示w_com(0x0c); /不顯示光標w_com(0x06); /寫一個字符后指針+1/定時器 TMOD=0x21; /定時器0,工作方式1TH0=(65536-50000)/256; /50msTL0=(65536-50000)%256;TH1=5
14、;TL1=5;EA=1; /開總中斷ET0=1; /開定時器0ET1=1;TR0=1; /啟動定時器0TR1=1;ST=0;OE=0;w_com(1);display_D(year,mon,day);display_T(hour,min,sec);display_Tem();void main()init();while(1) key_scan();if(t0>=20)t0=0;sec+;if(sec=60)sec=0;min+;if(min=60)min=0;hour+;if(hour=24)hour=0;day+;if(day=M_daymon+1)day=1;mon+;if(mon
15、=13)mon=1;year+;if(year%4=0 && year%100!=0)|year%400=0)M_day1=29;elseM_day1=28;if(flag_off)w_com(0x80+0x40+13);w_date('.');w_date(0x30+Pow_n);if(Pow_n=0) flag_off=0;Pow_n=9;w_com(1);V_out=0;delay(50);Pow_n-;elsedisplay_T(hour,min,sec); /每一秒刷新一次display_Tem();if(!(hour && min &
16、amp;& sec)display_D(year,mon,day); void delay(uint t)uint y, x;for(x=t;x>0;x-)for(y=100;y>0;y-);void display_T(uchar a,uchar b,uchar c) /時 分 秒/每次調(diào)用完以后,光標就在秒個位之后char mao=':'w_com(0x80+0x40+2); /指針位置w_date(0x30+a/10);/因為0的編碼為0x30,且數(shù)字的編碼按 1 遞增w_date(0x30+a%10);w_date(mao);w_date(0x30+
17、b/10);w_date(0x30+b%10);w_date(mao);w_date(0x30+c/10);w_date(0x30+c%10); void display_D(uint y,uchar m,uchar d) /年 月 日/每次調(diào)用完以后,光標就在秒個位之后char mao='-'w_com(0x80+3); /指針位置w_date(0x30+y/1000);/因為0的編碼為0x30,且數(shù)字的編碼按 1 遞增w_date(0x30+y/100%10);w_date(0x30+y/10%10);w_date(0x30+y%10);w_date(mao);w_date
18、(0x30+m/10);w_date(0x30+m%10);w_date(mao);w_date(0x30+d/10);w_date(0x30+d%10); void display_Tem()uchar T;uchar PP8,y;uchar i,j,z; uchar x;ST = 0;P3=0XFF;ST = 1;ST = 0;while(EOC = 0); P3=0XFF;OE = 1;x=P3;y=1;OE=0;for(i=0;i<8;i+) /將10進制數(shù)提取成2進制數(shù)PPi=x%2;x=x/2;x=PP4;PP4=PP5;PP5=PP6;PP6=PP7;PP7=x;y=0;f
19、or(i=0;i<8;i+) /實現(xiàn)位數(shù)首末替換z=1;for(j=1;j<=7-i;j+)z=z*2; /計算位權(quán)值y=y+PPi*z; /將2進制數(shù)變?yōu)?0進制數(shù)T=0;for(i=0;i<30;i+)if(y>=T_tabi)T=12+i;break;w_com(0x80+0x40+12);w_date(0x30+T/10);w_date(0x30+T%10);void w_com(uchar com)lcdrs=0;P0=com;delay(2);lcden=1;delay(2);lcden=0;void w_date(uchar date)lcdrs=1;P0
20、=date;delay(2);lcden=1;delay(2);lcden=0;void key_scan()uchar flags,i;if(s_pow=0)delay(5);if(s_pow=0)while(!s_pow);flag_off=1;w_com(1);w_com(0x80+0x40+2);for(i=0;i<13;i+)w_date(str_pi);if(s1=0) /判定功能鍵按下/ 功能鍵說明如下:/ 第1次按鍵 該 秒 數(shù)值,第2次 分 值; 第3次 時 值; / 第4次按鍵 該 年 數(shù)值,第5次 月 值; 第6次 日 值;第7次退出delay(5);if(s1=0
21、)while(!s1); /等著釋放fun_n+;if(fun_n=7) fun_n=0;switch(fun_n) case 0: TR0=1;w_com(0x0c); /光標消失display_D(year,mon,day);display_T(hour,min,sec);break;case 1: TR0=0; /關(guān)定時器0w_com(0x80+0x40+9); /光標到秒位置w_com(0x0f); /光標閃爍break;case 2:w_com(0x80+0x40+6); /光標到分位置w_com(0x0f);break;case 3:w_com(0x80+0x40+3); /光標到
22、時位置w_com(0x0f);break;case 4:w_com(0x80+6); /光標到年位置w_com(0x0f);break;case 5:w_com(0x80+9); /光標到月位置w_com(0x0f);break;case 6:w_com(0x80+12); /光標到日位置w_com(0x0f);elseif(s2=0)delay(5);if(s2=0)flags=1;while(!s2);switch(fun_n)case 1: sec+; break;case 2: min+; break;case 3: hour+; break;case 4: year+; break;case 5: mon+; break;case 6: day+; if(s3=0)delay(5);if(s3=0)flags=1;while(!s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 晉中信息學(xué)院《數(shù)字娛樂導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北汽車工業(yè)學(xué)院《藝術(shù)投融資》2023-2024學(xué)年第一學(xué)期期末試卷
- 鶴崗師范高等??茖W(xué)校《軟件項目案例分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶三峽醫(yī)藥高等??茖W(xué)?!豆た鼐W(wǎng)絡(luò)與通信》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶財經(jīng)職業(yè)學(xué)院《美術(shù)欣賞與創(chuàng)作》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江宇翔職業(yè)技術(shù)學(xué)院《數(shù)字取證技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 多金屬選礦生產(chǎn)線和尾礦庫項目可行性研究報告模板-備案拿地
- 空壓機工作原理及結(jié)構(gòu)圖解析
- 中國地質(zhì)大學(xué)(武漢)《企業(yè)經(jīng)營沙盤實訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 八年級散文閱讀專題訓(xùn)練-八年級語文上冊知識梳理與能力訓(xùn)練
- 2024年杭州市中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024-2025學(xué)年人教版八年級數(shù)學(xué)上冊期末測試模擬試題(含答案)
- 《環(huán)境感知技術(shù)》2024年課程標準(含課程思政設(shè)計)
- GB/T 45079-2024人工智能深度學(xué)習(xí)框架多硬件平臺適配技術(shù)規(guī)范
- 2024年安徽省銅陵市公開招聘警務(wù)輔助人員(輔警)筆試自考練習(xí)卷二含答案
- 國家安全教育高教-第六章堅持以經(jīng)濟安全為基礎(chǔ)
- 水處理藥劑采購項目技術(shù)方案(技術(shù)方案)
- 2024年城市環(huán)衛(wèi)一體化服務(wù)合同
- 工地春節(jié)安全培訓(xùn)
- 2024年代持房屋合作協(xié)議書模板
評論
0/150
提交評論