前言:中文期刊網(wǎng)精心挑選了stc89c52單片機(jī)范文供你參考和學(xué)習(xí),希望我們的參考范文能激發(fā)你的文章創(chuàng)作靈感,歡迎閱讀。
stc89c52單片機(jī)范文1
關(guān)鍵詞:stc89c52單片機(jī);溫度控制;溫度檢測(cè)
中圖分類號(hào):TP273文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2011)04-0902-02
A Temperature Control System Based on STC89C52 MCU
WU Jian, HOU Wen, ZHENG Bin
(National Key Laboratory for Electronic Measurement Technology, North University of China, Taiyuan 030051, China)
Abstract: This paper discusses a STC89C52 MCU to increase the technical indexes of accused of temperature control system,Presented the design of the MCU circuitry of system, temperature control output circuit, temperature detecting amplifier circuit and so on. Realized of furnace temperature automatic control and improve the precision temperature control. Be provided with important engineering use value.
Key words: STC89C52 MCU; temperature control; temperature test
隨著工業(yè)技術(shù)的不斷發(fā)展,利用溫度控制表,溫度接觸器的控制方式已不能滿足高精度、高速度的控制要求,其主要缺點(diǎn)是溫度波動(dòng)范圍大,受儀表本身誤差和交流接觸器壽命的限制,通斷頻率很低。本文設(shè)計(jì)了一種基于STC89C52單片機(jī)控制的溫度控制系統(tǒng)。它使用了較少的器件和較為簡單的電路設(shè)計(jì),因此具有成本低、控制方便,實(shí)用性強(qiáng)等特點(diǎn)。
1 系統(tǒng)設(shè)計(jì)
本系統(tǒng)是對(duì)電爐爐溫進(jìn)行控制的微機(jī)控制系統(tǒng)。控制方式是單閉環(huán)控制形式。溫度控制系統(tǒng)是以STC89C52單片機(jī)為控制核心,其系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
鍵盤將溫度設(shè)定值和溫度反饋值送入單片機(jī),然后經(jīng)過運(yùn)算得到輸出控制量,輸出控制量控制控溫輸出電路得到控制電壓,施加到驅(qū)動(dòng)器上,從而控制電加熱爐內(nèi)溫度。
2 系統(tǒng)硬件設(shè)計(jì)
硬件系統(tǒng)由單片機(jī)電路,溫度檢測(cè)放大電路,A/D、D/A轉(zhuǎn)換電路,控溫輸出電路等組成。下面分別給予介紹。
2.1 單片機(jī)電路
STC89C52是一個(gè)低功耗,高性能的51內(nèi)核的CMOS 8位單片機(jī), 具有在線編程功能,不再需要啟動(dòng)像STC89C51那樣的12V的VPP編程高壓[1]。 使用簡單且價(jià)格非常低廉。故本文使用STC89C52為系統(tǒng)的主控制器。單片機(jī)發(fā)送溫度設(shè)定值和采集溫度反饋值,并據(jù)此調(diào)節(jié)I/O的輸出來控制溫度的值。
2.2 溫度檢測(cè)放大電路
溫度檢測(cè)電路承擔(dān)著檢測(cè)電阻爐溫度并將溫度數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)的任務(wù)。鉑電阻最常應(yīng)用于中低溫區(qū),精度高,穩(wěn)定性好,具有一定的非線性,溫度越高電阻變化率越小,測(cè)量范圍一般為-200~850℃。目前應(yīng)用最廣泛的是Pt100。Pt100鉑熱電阻與溫度的關(guān)系如下:
(1)
其中:Rt――溫度為t℃時(shí)鉑電阻的電阻值(Ω);R0――溫度為0℃時(shí)鉑電阻的電阻值(Ω);A,B,C――常數(shù),3.96847×10-3 (℃-1);-5.847×10-7 (℃-2);-4.22×10-12(℃-3)。
信號(hào)放大電路采用OP07E放大器,溫度信號(hào)輸入采用差動(dòng)放大模式,輸入電壓范圍為+/-14V,輸出電壓范圍為+/-12V。設(shè)計(jì)電路如圖2所示。
U1放大器放大倍數(shù)為:
(2)
2.3 A/D轉(zhuǎn)換電路
溫度檢測(cè)電路采集到的溫度值為模擬信號(hào),需要轉(zhuǎn)化為數(shù)字信號(hào)才能被單片機(jī)處理。溫度控制系統(tǒng)的A/D轉(zhuǎn)換模塊采用ADC0804型8位全MOS A/D轉(zhuǎn)換器。轉(zhuǎn)換時(shí)間約為100μs,轉(zhuǎn)換時(shí)鐘信號(hào)可以由內(nèi)部施密特電路和外接RC電路構(gòu)成的震蕩器產(chǎn)生,當(dāng)/CS與/WR同時(shí)有效時(shí)便啟動(dòng)A/D轉(zhuǎn)換,經(jīng)DATA口送入單片機(jī),再采集第二個(gè)模擬量進(jìn)行轉(zhuǎn)換。
2.4 D/A轉(zhuǎn)換電路
溫度控制系統(tǒng)的D/A轉(zhuǎn)換芯片采用DAC0832。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成[2]。DAC0832的主要特性參數(shù):分辨率為8位;電流穩(wěn)定時(shí)間1us;可單緩沖、雙緩沖或直接數(shù)字輸入;只需在滿量程下調(diào)整其線性度;單一電源供電,電壓范圍為+5V~+15V;低功耗,功耗為200mW。
2.5 可控硅調(diào)功控溫電路
溫度控制電路采用可控硅調(diào)功率方式。雙向可控硅串在50Hz交流電源和加熱絲電路中,在給定周期里改變可控硅開關(guān)的接通時(shí)間改變加熱功率,從而實(shí)現(xiàn)溫度調(diào)節(jié)[3]。如圖3所示。
可控硅驅(qū)動(dòng)器MOC3041集光電隔離、過零檢測(cè)功能于一身,具有體積小、功耗低、抗干擾能力強(qiáng),無噪聲等優(yōu)點(diǎn)[4],RS、CS為吸收電路,起保護(hù)作用。經(jīng)驗(yàn)公式如下:
Cs=(2~4)IT×10-3(uF)(3)
Rs=10~50Ω(4)
R17是觸發(fā)器輸出限流電阻,取51Ω。R16是驅(qū)動(dòng)器的門極電阻,一般取值300-500Ω。
3 PID溫度控制算法
溫度控制技術(shù)大致可分為定值開關(guān)控溫法,PID線性控溫法。定值開關(guān)控溫法通過硬件電路或軟件計(jì)算判別,系統(tǒng)溫度上升至設(shè)定點(diǎn)時(shí)關(guān)斷電源,當(dāng)系統(tǒng)溫度下降至設(shè)定點(diǎn)時(shí)開通電源,因而無法克服溫度變化過程的滯后性,致使被控溫度波動(dòng)較大,精度低。當(dāng)我們不完全了解被控對(duì)象,或不能通過有效的測(cè)量手段來獲得系統(tǒng)的參數(shù)時(shí),最適合用PID控制技術(shù)。PID線性控溫法主要取決于比例值、積分值、微分值[5]。只要三參數(shù)選取的正確,其控制精度是比較令人滿意的。當(dāng)執(zhí)行機(jī)構(gòu)需要的不是控制量的絕對(duì)值,而是控制量的增量時(shí),需要用PID的“增量算法”。增量式PID控制算法可以通過(式5)推導(dǎo)出。
(5)
Uk――控制器的輸出值;ek――控制器輸入與設(shè)定值之間的誤差;Kp――比例系數(shù);
Ti――積分時(shí)間常數(shù);Td――微分時(shí)間常數(shù);T――調(diào)節(jié)時(shí)間。由(式5)可以得到控制器的第k-1個(gè)采樣時(shí)刻的輸出值為:
(6)
將(式5)與(式6)相減并整理,就可以得到增量式PID控制算法公式:
(7)
其中:
由(式7)可以看出,如果計(jì)算機(jī)控制系統(tǒng)采用恒定的采樣周期T,一旦確定A、B、C,只要使用前后三次測(cè)量的偏差值,就可以由(式7)求出控制量。物理模型如圖4所示。
4 系統(tǒng)軟件設(shè)計(jì)
為了便于程序的調(diào)試與維護(hù),系統(tǒng)全部程序采用模塊化結(jié)構(gòu)。由一個(gè)主程序和若干子程序組成。子程序主要包括A/D轉(zhuǎn)換子程序、D/A轉(zhuǎn)換子程序、LED顯示子程序、增量式PID控制子程序、鍵盤控制子程序等,各子程序均能很快返回主程序,不會(huì)發(fā)生子程序時(shí)間過長等問題,子程序?qū)ο嚓P(guān)事件的處理依靠標(biāo)志位和判斷標(biāo)志位來完成。主程序通過調(diào)用各個(gè)子程序來完成所有的溫度控制器功能。主程序的流程圖如圖5所示。
5 設(shè)計(jì)結(jié)果
設(shè)計(jì)的溫度控制系統(tǒng)基于STC89C52單片機(jī),采用了信號(hào)放大,可控硅控制等簡單的電路,經(jīng)過焊接、 組裝、 調(diào)試后,可以很好實(shí)現(xiàn)控制功能,具有很強(qiáng)的實(shí)用性,尤其是具有體積小、 易移動(dòng)等優(yōu)點(diǎn)。 該方案也可以在功能上加以擴(kuò)展,如加上LED電路,當(dāng)?shù)竭_(dá)我們想要的溫度時(shí)綠燈亮,當(dāng)超過我們想要的溫度一定量程時(shí)紅燈亮。
參考文獻(xiàn):
[1] 張俊謨.單片機(jī)中級(jí)教程[M].北京:北京航空航天大學(xué)出版社,1999:75-86.
[2] 小島郁太郎.實(shí)現(xiàn)數(shù)字電路與模擬電路及軟件的協(xié)調(diào)設(shè)計(jì)[J].電子設(shè)計(jì)應(yīng)用,2009(6):15-20.
[3] 王海寧.基于單片機(jī)的溫度控制系統(tǒng)的研究[D].合肥:合肥工業(yè)大學(xué),2008.
stc89c52單片機(jī)范文2
關(guān)鍵詞:Protues; 密碼鎖; 單片機(jī); C語言
中圖分類號(hào):TN433-34文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)19-0176-03
Design and Simulation of Electronic Code Lock Using STC89C52 MCU Based on C Language
JIN Gui, XIANG Guo-liang
(Department of Physics & Electronic Information Engineering, Xiangnan University, Chenzhou 423000, China)
Abstract: The implementation of an electronic code lock which was successfully simulated by Protues is introduced. It uses high reliable microcontroller STC89C52 to achieve the unlocking and identification of the code, adopts I2C bus-based E2PROM chip to complete the code′s storage, uses LCD1602 to prompt the program′s running state and working procedures, adopts buzzer to imitate the alarm and LED to imitate the switch. It is convenient to modify and add function by using C language program,which is more transplantable and reliable compared to assembly language.
Keywords: Protues; code lock; single chip microcomputer; C language
0 引 言
電子密碼鎖是現(xiàn)代生活中常用的加密工具。它克服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點(diǎn),尤其是微控制器的智能電子密碼鎖,不僅具有電子密碼鎖的功能,還可引入智能化管理功能,從而使密碼鎖具有更高的安全性和可靠性。
電子密碼鎖通常使用ARM和單片機(jī)控制[1],單片機(jī)相對(duì)ARM實(shí)現(xiàn)較為簡單,功能較為完善,因此使用單片機(jī)控制較多。用單片機(jī)控制的密碼鎖常使用匯編語言編寫程序,顯示器多數(shù)用數(shù)碼管[2-3]。而本文所介紹的電子密碼鎖使用移植性及可讀性強(qiáng)的高級(jí)語言C語言編寫,便于修改和增減功能;同時(shí)采用顯示清楚,功率消耗小而且壽命長的1602液晶顯示器,顯示更加直觀,使用更加方便。從經(jīng)濟(jì)實(shí)用的角度出發(fā), 采用STC89C52[4]單片機(jī)設(shè)計(jì)出一種具有密碼設(shè)置、報(bào)警和防止多次試探密碼功能的電子密碼鎖,通過Protues軟件成功地進(jìn)行了仿真。
1 系統(tǒng)工作原理
本系統(tǒng)以STC89C52單片機(jī)為核心,使用4×4矩陣鍵盤作為數(shù)據(jù)輸入方式,驅(qū)動(dòng)1602顯示器提示程序運(yùn)行過程和開鎖的步驟。本系統(tǒng)的密碼判斷過程如下:
當(dāng)使用者輸入6位密碼后按下BESURE鍵,單片機(jī)通過密碼逐個(gè)比較,如果輸入的6位密碼和設(shè)定的密碼完全相同,那么能成功驅(qū)動(dòng)開鎖模擬燈將鎖打開。若輸入6位密碼與設(shè)定的密碼不相同,按下BESURE鍵后,模擬燈不亮,可以按BACK鍵重新輸入。由于輸入密碼過程中難免輸入失誤,如果密碼輸錯(cuò),可直接按下BACK鍵重新輸入,但是系統(tǒng)不允許無限次地按BACK鍵,以免密碼被套用,當(dāng)3次密碼輸入都錯(cuò)誤,單片機(jī)將驅(qū)動(dòng)蜂鳴器報(bào)警[5]。并且本系統(tǒng)輸入密碼還有時(shí)間限制,若在規(guī)定的時(shí)間內(nèi)沒有將正確密碼輸入也會(huì)報(bào)警。
修改密碼功能如下:當(dāng)密碼輸入正確后,按下SET鍵可新設(shè)置密碼。每設(shè)定一位新密碼,單片機(jī)將其送給E2PROM,當(dāng)6位新密碼都輸入完畢,系統(tǒng)將自動(dòng)回到程序開始,重新讀取密碼并保存,使用者需輸入新的密碼才能將鎖打開。
2 系統(tǒng)設(shè)計(jì)
2.1 硬件支持
使用的元器件有:核心芯片STC89C52、存儲(chǔ)芯片AT24C02、液晶顯示1602、矩陣鍵盤、報(bào)警蜂鳴器、獨(dú)立按鍵(模擬門的開關(guān))、發(fā)光二極管(模擬鎖的開關(guān))和┤極管(放大電流)。
2.2 軟件設(shè)計(jì)
本系統(tǒng)軟件包括主程序模塊、密碼比較判斷模塊、修改密碼模塊、鍵盤掃描模塊、液晶顯示模塊及定時(shí)程序等模塊。系統(tǒng)程序流程如圖1所示。
圖1 系統(tǒng)程序流程圖
2.2.1 主程序模塊
主程序主要用于定義全局變量,給全局變量賦初值,初始化E2PROM,啟動(dòng)定時(shí)器以及從AT24C02[6]中讀取密碼,為整個(gè)程序提供數(shù)據(jù)。
2.2.2 密碼比較判斷模塊
該模塊的功能是將鍵盤輸入的密碼利用if語句與設(shè)定的密碼進(jìn)行逐個(gè)比較,若密碼完全正確則開鎖;若不正確,則按下BACK鍵,重新輸入密碼,每按下BACK鍵一次,輸入次數(shù)將自加1,當(dāng)3次都出錯(cuò)則報(bào)警。
2.2.3 密碼修改模塊
在密碼輸入正確情況下,可以按下SET對(duì)密碼進(jìn)行重新設(shè)置,每設(shè)定一位就將密碼送給AT24C02存儲(chǔ)起來,當(dāng)設(shè)置6位密碼完畢后,系統(tǒng)將自動(dòng)跳到程序開始,調(diào)用新設(shè)置的密碼。
STC89C52向AT24C02寫入密碼子程序:
void write_byte(uchar date)
{
uchar i,temp;
temp=date;
for(i=0;i
{
temp=temp
scl=0;
delay1();
sda=CY;
delay1();
scl=1;
delay1();
}
scl=0;
delay1( );
sda=1;
delay1( );
}
STC89C52從AT24C02讀取密碼子程序:
uchar read_byte()
{
uchar i,k;
scl=0;
delay1();
sda=1;
delay1();
for(i=0;i
{
scl=1;
delay1();
k=(k
scl=0;
delay1( );
}
return k;
}
2.2.4 鍵盤掃描模塊[7]
該模塊具備功能有:逐列掃描鍵盤確定被按鍵的具置、判斷鍵盤上有無鍵按下、消除去抖動(dòng)、判斷閉合的鍵是否釋放等功能。
2.2.5 定時(shí)模塊[8]
本模塊用于對(duì)密碼輸入時(shí)間控制。在程序開始運(yùn)行時(shí)首先對(duì)定時(shí)器進(jìn)行了初始化,從按下PUT IN鍵開始,系統(tǒng)開始計(jì)時(shí),當(dāng)輸入的時(shí)間達(dá)到規(guī)定的時(shí)間將立即報(bào)警。
2.2.6 液晶顯示模塊[9]
此模塊包括液晶初始化、命令的輸入、顯示數(shù)據(jù)的輸入。其中命令是用于控制液晶狀態(tài)是否顯示光標(biāo),光標(biāo)是否閃爍,是否清除原來數(shù)據(jù)以及顯示的具置。數(shù)據(jù)顯示主要是將要顯示的信息按需要準(zhǔn)時(shí)顯示出來。
3 系統(tǒng)仿真
為了方便程序調(diào)試,本文采用了Proteus仿真[10],仿真圖如圖2所示。
圖2 系統(tǒng)仿真圖
3.1 系統(tǒng)介紹
圖2中U1為STC89C52是整個(gè)系統(tǒng)的核心,編寫的程序以二進(jìn)制的文件導(dǎo)入其中;U2為AT24C02,┑5和第6個(gè)引腳分別與單片機(jī)的P1.2和P1.3相連;LCD1為1602液晶顯示器,引腳連接如圖2所示;獨(dú)立按鍵DOOR,當(dāng)門關(guān)上為鍵按下狀態(tài);D1為模擬開鎖燈,當(dāng)密碼正確,按下BESURE鍵D1將亮;BUZ1為蜂鳴器報(bào)警。當(dāng)程序編寫好并導(dǎo)入到單片機(jī)里后,按下┩2最下面的開始按鈕,1602液晶顯示器將提示密碼鎖的運(yùn)行狀態(tài),系統(tǒng)開始工作。
3.2 開鎖功能
當(dāng)電源開啟時(shí),1602液晶顯示W(wǎng)elcome歡迎界面,當(dāng)按下PUT IN鍵后,顯示器顯示PUT IN CODES提示使用者輸入密碼,如圖3所示。幾秒后液晶顯示器上提示將自動(dòng)消失。此時(shí)可輸入正確密碼,且密碼輸入時(shí)顯示*而不會(huì)將輸入的數(shù)據(jù)顯示出來。當(dāng)輸入密碼完畢后,按下BESURE鍵,如果輸入的密碼正確D1將亮(D1作為開鎖的模擬開關(guān))。若密碼錯(cuò)誤,可以按下BACK鍵,程序?qū)⑻絣oop(開始界面),重新輸入密碼,同時(shí)輸入次數(shù)將增加一次。當(dāng)3次都輸入錯(cuò)誤則自動(dòng)報(bào)警,并且輸入密碼的時(shí)間必須在規(guī)定的時(shí)間完成,否則也會(huì)報(bào)警。
圖3 液晶顯示
3.3 密碼設(shè)定
在密碼輸入正確后,按下SET鍵可對(duì)密碼進(jìn)行重新設(shè)置,液晶顯示器顯示SET CODS。同樣幾秒后提示信息將自動(dòng)消失,此時(shí)開始重設(shè)密碼。在密碼設(shè)定過程中會(huì)將設(shè)定的數(shù)字顯示出來,每輸入一位密碼需按下YES鍵確定,當(dāng)設(shè)置的密碼達(dá)到6位將自動(dòng)回到啟動(dòng)界面。
4 結(jié) 論
(1) 成功仿真實(shí)現(xiàn)了1602液晶顯示,密碼開鎖,密碼設(shè)置,防止多次試探,報(bào)警等功能。
(2) 采用C語言編寫程序,具有很強(qiáng)的移植性,為系統(tǒng)增減和修改功能帶來了方便。
參考文獻(xiàn)
[1]郭海英.基于單片機(jī)的電子安全密碼鎖的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2005,28(13):95-97.
[2]趙益丹,徐曉林,周振峰.電子密碼鎖的系統(tǒng)原理、設(shè)計(jì)程序及流程圖[J].嘉興學(xué)院學(xué)報(bào),2003(15):103-105.
[3]曾高榮,胡寧,高揚(yáng).一種新型電子安全密碼鎖的設(shè)計(jì)[J].電子科技,2003(8):44-45.
[4]張?zhí)旆?完全手冊(cè)51單片機(jī)C語言開發(fā)詳解[M].北京:電子工業(yè)出版社,2008.
[5]周功明.基于AT89C2051單片機(jī)的防盜自動(dòng)報(bào)警電子密碼鎖系統(tǒng)的設(shè)計(jì)[J].綿陽師范學(xué)院學(xué)報(bào),2007(4):112-115.
[6]劉振棟.EPROM芯片的特殊應(yīng)用[J].電子工程師,1999(6):26-27.
[7]唐德禮,王襄.單片機(jī)學(xué)習(xí)機(jī)及編程器的設(shè)計(jì)與制作[J].現(xiàn)代電子技術(shù),2005,28(12):117-120.
[8]倪淑艷,李曉波,于涵.單片機(jī)C8051F303在數(shù)字鎖相式頻率合成器中的應(yīng)用[J].現(xiàn)代電子技術(shù),2006,29(4):19-21.
stc89c52單片機(jī)范文3
【關(guān)鍵詞】STC89C52RC;智能小車;超車;紅外收發(fā)管;光電傳感器
一、系統(tǒng)方案
1.1 功能與要求
1.1.1 功能
甲車車頭緊靠起點(diǎn)標(biāo)志線,乙車車尾緊靠邊界,甲、乙兩輛小車同時(shí)起動(dòng),先后通過起點(diǎn)標(biāo)志線,在行車道同向而行,實(shí)現(xiàn)兩車交替超車領(lǐng)跑功能。跑道如圖1-1。
1.1.2 設(shè)計(jì)要求
(1)甲車和乙車分別從起點(diǎn)標(biāo)志線開始,在行車道各正常行駛一圈。
(2)甲、乙兩車按圖1所示位置同時(shí)起動(dòng),乙車通過超車標(biāo)志線后在超車區(qū)內(nèi)實(shí)現(xiàn)超車功能,并先于甲車到達(dá)終點(diǎn)標(biāo)志線,即第一圈實(shí)現(xiàn)乙車超過車。
(3)甲、乙兩車在完成(2)時(shí)的行駛時(shí)間要盡可能的短。
(4)在完成基本要求后,甲、乙兩車?yán)^續(xù)行駛第二圈,要求甲車通過超車標(biāo)志線后要實(shí)現(xiàn)超車功能,并先于乙車到達(dá)終點(diǎn)標(biāo)志線,即第二圈完成車超過乙車,實(shí)現(xiàn)了交替領(lǐng)跑。甲、乙兩車在第二圈行駛的時(shí)間要盡可能的短。
1.2 系統(tǒng)分模塊比較與論證
本系統(tǒng)主要由車體、控制器、電機(jī)驅(qū)動(dòng)、紅外收發(fā)傳感器、無線收發(fā)模塊、測(cè)距模塊組成,現(xiàn)做比較分析如下。
1.2.1 車體的選擇比較
方案一:采用四輪雙電機(jī)電動(dòng)車。這種電動(dòng)車具有靈活性和體積較小的優(yōu)點(diǎn)。但是一般的說來,它還具有如下缺點(diǎn):首先,這種電動(dòng)車結(jié)構(gòu)簡單,車輪較小而且容易與賽道表面打滑,雖然能夠通過兩個(gè)電機(jī)來實(shí)現(xiàn)轉(zhuǎn)向,但是不容易控制。其次,這種電動(dòng)車一般都是兩個(gè)直流電機(jī)通過聯(lián)軸器帶動(dòng)小車,力矩小,空載轉(zhuǎn)速快,負(fù)載性能差,不易調(diào)速。
方案二:采用帶舵機(jī)的電動(dòng)小車。前端加舵機(jī)的電動(dòng)小車可以精準(zhǔn)的控制其轉(zhuǎn)彎方向,能較好的完成題目賽道里的轉(zhuǎn)彎要求。但是舵機(jī)小車的轉(zhuǎn)向需要通過MCU對(duì)光電收發(fā)器進(jìn)行信號(hào)采集,通過處理分別發(fā)送給電機(jī)和舵機(jī)從而控制小車的前進(jìn)。其優(yōu)點(diǎn)是轉(zhuǎn)彎精確,能較好的完成轉(zhuǎn)彎路徑的實(shí)現(xiàn),但相對(duì)其他類型小車成本高,控制較復(fù)雜。
方案三:采用履帶式電動(dòng)小車。選擇RP5底盤的小車,它是大功率坦克車體,采用帶電感的大扭力260馬達(dá),組合斜齒+金屬齒,形成大扭力系統(tǒng),具有動(dòng)力性能強(qiáng)、底盤穩(wěn)定性高、可原地轉(zhuǎn)圈、轉(zhuǎn)彎靈活精確等特點(diǎn)。履帶小車可以完成本次題目的要求,達(dá)到轉(zhuǎn)彎靈活,轉(zhuǎn)彎角度可調(diào),可滿足小車運(yùn)行平穩(wěn)等要求,而且控制兩個(gè)直流電機(jī)相對(duì)簡單。
綜上,選擇方案三,使用RP5底盤履帶式電動(dòng)小車。
1.2.2 控制器的選擇比較
方案一:采用凌陽公司的16位單片機(jī),它是16位控制器,具有體積小、驅(qū)動(dòng)能力高、集成度高、易擴(kuò)展、可靠性高、功耗低、結(jié)構(gòu)簡單、中斷處理能力強(qiáng)等特點(diǎn)。處理速度高,尤其適用于語音處理和識(shí)別等領(lǐng)域。
方案二:采用宏晶科技公司的STC89C52RC單片機(jī)作為主控制器。本款單片機(jī)是單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。其編程下載使用較方便,而且能夠完成對(duì)本題目要求較簡單的控制。
51單片機(jī)控制簡單,下載使用方便。其處理能力能夠滿足本題目的要求,故采用方案二。
1.2.3 紅外收發(fā)傳感器模塊的選擇比較
方案一:使用紅外發(fā)射和接收管制作紅外收發(fā)電路,紅外發(fā)射管發(fā)出紅外線,當(dāng)發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測(cè)出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則檢測(cè)出黑線繼而輸出高電平。輸出的高低電平通過電壓比較器可以得到單片機(jī)可以識(shí)別的信號(hào),從而進(jìn)行控制。這樣自己制作組裝的尋跡傳感器基本能夠滿足要求,但是工作不夠穩(wěn)定,且容易受外界光線的影響。
方案二:采用TCRT5000型光電對(duì)管模塊。傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,當(dāng)發(fā)射出的紅外線沒有被反射回來或被反射回來但強(qiáng)度不夠大時(shí),光敏三極管一直處于關(guān)斷狀態(tài),此時(shí)模塊的輸出端為低電平,指示二極管一直處于熄滅狀態(tài);當(dāng)無檢測(cè)黑線出現(xiàn)在檢測(cè)范圍內(nèi)時(shí),紅外線被反射回來且強(qiáng)度足夠大,光敏三極管飽和,此時(shí)輸出端為高電平。此紅外收發(fā)模塊運(yùn)行穩(wěn)定,感應(yīng)靈敏,可以使單片機(jī)采集信號(hào)后對(duì)小車進(jìn)行很好的控制。
為使紅外收發(fā)管感應(yīng)黑色膠布線保證靈敏從而控制小車,使用方案二的TCRT5000紅外收發(fā)模塊。
1.2.4 電機(jī)驅(qū)動(dòng)模塊的選擇比較
方案一:采用專用芯片L298N作為電機(jī)驅(qū)動(dòng)芯片。L298N是一個(gè)具有高電壓大電流的全橋驅(qū)動(dòng)芯片,它相應(yīng)頻率高,一片L298N可以分別控制兩個(gè)直流電機(jī),而且還帶有控制使能端。用該芯片作為電機(jī)驅(qū)動(dòng),操作方便,穩(wěn)定性好,性能優(yōu)良。
方案二:對(duì)于直流電機(jī)用分立元件構(gòu)成驅(qū)動(dòng)電路。由分立元件構(gòu)成電機(jī)驅(qū)動(dòng)電路,結(jié)構(gòu)簡單,價(jià)格低廉,在實(shí)際應(yīng)用中應(yīng)用廣泛。但是這種電路工作性能不夠穩(wěn)定。
為使電機(jī)穩(wěn)定運(yùn)行,能夠靈活控制小車行進(jìn),選用方案一。
1.2.5 避障和牽引模塊的選擇比較
方案一:采用超聲波測(cè)距避障。超聲測(cè)距是一種非接觸式的檢測(cè)方式。與其它方法相比,它不受光線、被測(cè)對(duì)象顏色等影響。對(duì)于被測(cè)物處于黑暗、有灰塵、煙霧、電磁干擾、有毒等惡劣的環(huán)境下有一定的適應(yīng)能力。而且超聲波傳感器具有結(jié)構(gòu)簡單、體積小、信號(hào)處理可靠等特點(diǎn)。
方案二:采用激光、雷達(dá)、攝像等復(fù)雜方式測(cè)距避障,可以得到精確的距離,但本題并不要求能夠得到兩車間精確距離,而且控制電路過于復(fù)雜,較難實(shí)現(xiàn)。
方案三:采用E18-D80NK光電傳感器進(jìn)行避障,這種光電開關(guān)具有良好的開關(guān)特性,輸出測(cè)量障礙物距離可調(diào),可自己設(shè)置感知物體的距離。在輸出端上拉10K電阻后得到5V電壓,方便單片機(jī)進(jìn)行控制。
綜上,本系統(tǒng)通過避障模塊實(shí)現(xiàn)的功能是防止撞車的發(fā)生而且保證兩車間距離,不需要得到精確的距離值,故可以采用方案三,選用E18-D80NK光電傳感器進(jìn)行避障。
1.2.6 總體方案設(shè)計(jì)與比較
方案一:利用賽道的固定性,采用單片機(jī)控制兩個(gè)小車精準(zhǔn)轉(zhuǎn)彎,按賽道和題目要求,嚴(yán)格按照規(guī)定好的路線進(jìn)行兩個(gè)小車的行進(jìn),如轉(zhuǎn)彎和進(jìn)、出超車區(qū);同時(shí)兩車間利用無線模塊進(jìn)行通信,通過調(diào)節(jié)速度實(shí)現(xiàn)兩個(gè)小車的超車;通過光電開關(guān)可以進(jìn)行避障防止撞車發(fā)生。此種方案程序復(fù)雜,容易受賽道、小車性能等因素干擾,很難實(shí)現(xiàn)。
方案二:利用紅外反射發(fā)送接收開關(guān),使小車在賽道內(nèi)能夠識(shí)別邊界線、起點(diǎn)/終點(diǎn)標(biāo)志線、轉(zhuǎn)彎標(biāo)志線等黑膠帶線,從而可以循跡和轉(zhuǎn)彎行進(jìn),完成題目要求。此種方案能控制小車按照賽道邊緣行進(jìn),但在超車區(qū)進(jìn)入和外出部分容易掉出賽道,同時(shí)兩車進(jìn)行超車時(shí),單純利用循跡很難實(shí)現(xiàn)。
方案三:綜合以上兩種方案,在小車的紅外收發(fā)管檢測(cè)到轉(zhuǎn)彎標(biāo)志線車區(qū)的信號(hào)時(shí),小車按照固定的程序進(jìn)行相應(yīng)的行進(jìn)如轉(zhuǎn)固定角度的方向。同時(shí),可利用紅外收發(fā)管檢測(cè)賽道內(nèi)、外邊線,防止小車走出賽道。兩車進(jìn)行超車時(shí),利用無線模塊進(jìn)行通信,調(diào)節(jié)各自速度,同時(shí)有光電傳感器的保證兩輛車間的距離,使超車安全穩(wěn)定的完成。此種方案可以完成小車在行車道的行走,并在超車區(qū)及附近安全行駛。
綜上所述,方案三能夠相對(duì)完整、穩(wěn)定的完成題目提出的各項(xiàng)要求。
1.2.7 系統(tǒng)方案確定與系統(tǒng)結(jié)構(gòu)
進(jìn)過反復(fù)論證與實(shí)際測(cè)試,最終確定系統(tǒng)方案如下:
(1)小車車體采用RP5底盤履帶式電動(dòng)小車兩個(gè);
(2)采用STC89C52RC單片機(jī)作為系統(tǒng)控制器;
(3)用TCRT5000紅外傳感器作為光電收發(fā)模塊;
(4)L298N作為直流電機(jī)的驅(qū)動(dòng)芯片;
(5)E18-D80NK光電傳感器進(jìn)行避障和牽引;
二、系統(tǒng)理論分析與計(jì)算
2.1 信號(hào)檢測(cè)與控制分析
2.1.1 黑膠帶線的檢測(cè)
小車對(duì)黑膠帶線的檢測(cè)是通過接在前端的三個(gè)紅外收發(fā)管完成的,分別標(biāo)記為左、中、右紅外收發(fā)管,三個(gè)傳感器共同工作完成小車的定位和標(biāo)記識(shí)別。對(duì)應(yīng)信號(hào)的小車位置和相應(yīng)動(dòng)作如表2-1所示。
表2-1:對(duì)應(yīng)信號(hào)的小車位置和相應(yīng)動(dòng)作
左管 左中管 右中管 右管 小車位置 小車相應(yīng)動(dòng)作
× × × × 行車道 正常前進(jìn)
√ √ √ √ 起點(diǎn) 不動(dòng)作
轉(zhuǎn)彎標(biāo)志線 進(jìn)行轉(zhuǎn)彎
超車標(biāo)志區(qū)(第4條) 進(jìn)入超車區(qū)
√ × × × 跑道內(nèi)邊界 向右調(diào)整
× × × √ 跑道外邊界 向左調(diào)整
2.1.2 前車識(shí)別檢測(cè)與超車
對(duì)于小車的超車功能,前車在進(jìn)過超車標(biāo)志區(qū)后,進(jìn)行減速緩慢行駛,后車也通過超車標(biāo)志區(qū)后,用光電傳感器E18-D80NK對(duì)前車進(jìn)行檢測(cè),如果單片機(jī)識(shí)別到10cm距離的前車,則開啟超車程序,在超車區(qū)完成超車。
2.2 兩車之間的通信方法
兩車要完成互相超車的行為,必須進(jìn)行通信,才能即時(shí)的對(duì)被超過的車進(jìn)行控制。甲車進(jìn)入超車標(biāo)志區(qū)后,進(jìn)行減速前進(jìn),待乙車也進(jìn)入超車標(biāo)志區(qū),光電傳感器檢測(cè)到甲車后,按固定路徑超車;隨后超車完成后,乙車成為前車,再通過甲車前端的光電傳感器使其恢復(fù)原速前進(jìn),從而完成一個(gè)超車的過程。
三、電路與程序設(shè)計(jì)
3.1 電路設(shè)計(jì)
3.1.1 紅外收發(fā)管電路設(shè)計(jì)
TCRT5000紅外對(duì)管模塊采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出的高低電平通過電壓比較器可以由單片機(jī)識(shí)別,從而得到傳感器信號(hào)。傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,當(dāng)發(fā)射出的紅外線沒有被反射回來或被反射回來但強(qiáng)度不夠大時(shí),光敏三極管一直處于關(guān)斷狀態(tài),此時(shí)模塊的輸出端為低電平;被檢測(cè)物體出現(xiàn)在檢測(cè)范圍內(nèi)時(shí),紅外線被反射回來且強(qiáng)度足夠大,光敏三極管飽和,此時(shí)模塊的輸出端為高電平。
3.1.2 光電傳感器電路
E18-D80NK模塊是開關(guān)電路。集發(fā)射與接收于一體的光電傳感器。輸出端口接上拉電阻可輸入至單片機(jī)I/O口,進(jìn)行障礙物的信號(hào)檢測(cè)。
3.1.3 電機(jī)驅(qū)動(dòng)電路
電機(jī)驅(qū)動(dòng)采用L298N驅(qū)動(dòng)電路,由單片機(jī)P1口接四路輸入和兩路使能信號(hào),從而控制兩個(gè)電機(jī)進(jìn)行正反轉(zhuǎn)。
3.2 程序設(shè)計(jì)
程序流程圖如圖3-1。
四、測(cè)試方案與結(jié)果
在自制的標(biāo)準(zhǔn)賽道上,將兩只小車分別置于起點(diǎn),小車啟動(dòng)后,均可行進(jìn),能完成一圈的行走,最后回到起點(diǎn)。通過觀察和測(cè)試得到兩個(gè)小車直行速度不同,一快一慢。這樣的情況導(dǎo)致甲、乙兩車在多圈互相超車時(shí),不能控制間距,直接導(dǎo)致發(fā)生碰撞。因此采用在快車前部、后部和慢車前部安裝光電傳感器,使得兩車間距能夠保持一致。這樣第一圈和第二圈的軟件設(shè)計(jì)可以得到循環(huán)使用,達(dá)到多圈互相超車的控制。
測(cè)試可得,系統(tǒng)倆只小車能完成各個(gè)模塊的功能,如檢測(cè)黑線不出賽道、光電傳感開關(guān)防止撞車、進(jìn)入超車區(qū)進(jìn)行超車并繼續(xù)行進(jìn)等,但由于賽道材質(zhì)等原因,超車動(dòng)作不能穩(wěn)定實(shí)現(xiàn)。
參考文獻(xiàn)
[1]黃智偉.全國大學(xué)生電子設(shè)計(jì)競(jìng)賽系統(tǒng)設(shè)計(jì)(第2版)[M].北京:北京航空航天大學(xué)出版社,2011.1
[2]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2003
[3]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1983
[4]韓毅,楊天.基于HCS12單片機(jī)的智能尋跡模型車的設(shè)計(jì)與實(shí)現(xiàn)[J].學(xué)術(shù)期刊,2008,29(18):1535-1955.
[5]張桂香.單片機(jī)現(xiàn)場(chǎng)應(yīng)用中的幾個(gè)技術(shù)問題[B].湖北:華中科技大學(xué)出版,2007.6
[6]吳金戍.沈慶陽,郭庭吉. 8051單片機(jī)實(shí)踐與應(yīng)用[M].山東:山東大學(xué)出版社,2003.4
作者簡介
薛鵬,男,1989年生,東北大學(xué)信息科學(xué)與工程學(xué)院,檢測(cè)技術(shù)與自動(dòng)化裝置碩士研究生,研究方向:生產(chǎn)過程參數(shù)測(cè)量與優(yōu)化控制系統(tǒng)
安哲,男,1989年生,東北大學(xué)模式識(shí)別與智能系統(tǒng)碩士研究生,研究方向:控制系統(tǒng)設(shè)計(jì)及半實(shí)物仿真
stc89c52單片機(jī)范文4
關(guān)鍵詞:智能小車;STC89C52單片機(jī);定向行駛;指南針;TCRT5000
1引言
近年來智能小車的發(fā)展非常迅速,在工業(yè)、科研甚至是軍事領(lǐng)域都得到了很廣泛的應(yīng)用,智能小車能實(shí)現(xiàn)在無人操作的情況下,按照人為預(yù)先設(shè)定的情況工作,也可以根據(jù)現(xiàn)場(chǎng)的實(shí)際情況進(jìn)行判斷做出相應(yīng)的響應(yīng),并穩(wěn)定工作。本文以STC89C52單片機(jī)作為微控制器,設(shè)計(jì)并實(shí)現(xiàn)了塊的智能定向循跡小車系統(tǒng)。
2 系統(tǒng)整體設(shè)計(jì)
整個(gè)系統(tǒng)由STC89C52最小系統(tǒng)控制模塊、L298N驅(qū)動(dòng)模塊、GY-26指南針模塊、TCRT5000紅外光電傳感器模塊和電源轉(zhuǎn)換模塊構(gòu)成,如圖1所示。
STC89C52模塊為核心,通過指令獲取指南針模塊所測(cè)得的方位角度值,并輔以紅外模塊TCRT5000的邊界檢測(cè)結(jié)果,獲得小車的方位,再通過分析與比較,將小車的轉(zhuǎn)向以及兩電機(jī)轉(zhuǎn)速調(diào)整的信息輸出給電機(jī)驅(qū)動(dòng)模塊,從而完成小車的行進(jìn)以及位置調(diào)整。電源轉(zhuǎn)換模塊負(fù)責(zé)給系統(tǒng)的各模塊供電。
3系統(tǒng)單元模塊設(shè)計(jì)
3.1 控制模塊
STC89C52模塊控制各個(gè)功能模塊數(shù)據(jù)的讀入、處理、輸出,使各個(gè)模塊連接在一起組成一個(gè)有機(jī)整體。主要由STC89C52單片機(jī)和電路組成的最小系統(tǒng)。單片機(jī)最小系統(tǒng)包括開關(guān)指示電路、復(fù)位電路、時(shí)鐘電路等。
3.2 紅外檢測(cè)模塊
TCRT5000紅外傳感器作為紅外邊界檢測(cè)模塊的核心部分。當(dāng)紅外線未被反射或者發(fā)射的信號(hào)很弱,光敏三極管會(huì)處于關(guān)斷狀態(tài),模塊輸出高電平;反之,當(dāng)被測(cè)量的物體在檢測(cè)的范圍內(nèi),則信號(hào)足夠大使三極管飽和,模塊輸出低電平。紅外檢測(cè)模塊電路圖如圖2所示。
3.3 電機(jī)驅(qū)動(dòng)模塊
采用L298N作為電機(jī)驅(qū)動(dòng)芯片,需要兩組驅(qū)動(dòng)電路驅(qū)動(dòng)小車的兩個(gè)后輪。L298N配合單片機(jī)的方式可以實(shí)現(xiàn)對(duì)小車速度的精確控制。驅(qū)動(dòng)電路圖如圖3所示。
3.4 指南針模塊
系統(tǒng)采用GY-26型號(hào)的一款平面數(shù)字羅盤模塊,其電路核心是型號(hào)為HMC1022的磁阻傳感器和PIC16F690單片機(jī)。本模塊主要用于實(shí)現(xiàn)小車在沒有黑色軌跡線的地點(diǎn)進(jìn)行定向行駛。GY-26指南針模塊的計(jì)數(shù)參數(shù)如表1所示。
3.5 顯示模塊
LCD1602液晶模塊作為顯示部分,用于顯示小車的測(cè)量角度值、目標(biāo)角度值、當(dāng)前角度值和轉(zhuǎn)向控制等數(shù)據(jù)。
3.6 電源模塊
本系統(tǒng)的中的電機(jī)驅(qū)動(dòng)模塊采用12V的鋰電池供電;其它模塊機(jī)如單片機(jī)最小系統(tǒng)、指南針、紅外檢測(cè)模塊需要5V的供電電壓,采用LM7805穩(wěn)壓芯片將12V轉(zhuǎn)成5V,達(dá)到系統(tǒng)電壓的要求。
4 程序設(shè)計(jì)
4.1 主程序流程圖
系統(tǒng)的軟件設(shè)計(jì)部分以指南針模塊為主體,小車左右兩側(cè)的紅外檢測(cè)模塊為輔助,獲取小車當(dāng)前位置角度值,通過單片機(jī)分析模塊返回的角度數(shù)據(jù),判斷小車轉(zhuǎn)向及轉(zhuǎn)向角度,驅(qū)動(dòng)兩個(gè)電機(jī),調(diào)整小車位置,并通過液晶顯示輔助觀察小車行駛情況,從而實(shí)現(xiàn)小車的定向行駛功能。主程序流程圖如圖4所示。
4.2 位置角度值獲取程序
位置角度值的獲取,依靠的是指南針模塊,通過I2C協(xié)議,單片機(jī)讀取其角度值。其整體的程序流程圖如圖5所示。
4.3 小車轉(zhuǎn)向及角度判斷程序
判斷轉(zhuǎn)向及轉(zhuǎn)向角度的程序流程如圖6所示。根據(jù)初始角度值或目標(biāo)角度值dat0,及當(dāng)前位置角度值dat1的數(shù)值,來調(diào)整當(dāng)前的姿態(tài)。
5 結(jié)束語
本系統(tǒng)采用指南針模塊電路準(zhǔn)確定位出小車的所在方向,通過STC89C52系統(tǒng)對(duì)采集到的方位數(shù)據(jù)進(jìn)行處理并控制L298N驅(qū)動(dòng)芯片,改變兩電機(jī)的轉(zhuǎn)速,實(shí)現(xiàn)了小車直行、轉(zhuǎn)彎功能,無軌跡定向行駛。此外,采用TCRT5000紅外光電傳感器模塊,實(shí)現(xiàn)了軌道邊沿線及轉(zhuǎn)向標(biāo)志線的檢測(cè)及定向轉(zhuǎn)彎。
參考文獻(xiàn)
[1] 薛小鈴,劉志群,賈俊榮.單片機(jī)接口模塊應(yīng)用與開發(fā)詳例[M].北京:北京航空航天大學(xué)出版社,2010.
[2] 高月華.基于紅外光電傳感器的智能車自動(dòng)循跡系統(tǒng)的設(shè)計(jì) [J].光電技術(shù)應(yīng)用,2009(2):1-5.
stc89c52單片機(jī)范文5
關(guān)鍵詞:數(shù)碼管;單片機(jī);智能;DS1302
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)34-0264-03
Abstract: STC89C52 single-chip microcomputer as the core, this system USES special clock chip DS1302 in digital tube display digital electronic clock, and can through the button to adjust their own, the electronic products are widely used, such as conference room, the guard etc. In the age of the electronic products, especially with single-chip microcomputer as the processor's civil electrical appliance products with superior performance, good reliability, high cost performance.
Key words: Digital tube; single chip microcomputer; intelligent; DS1302
電子時(shí)鐘已成為人們生活中的必需品,廣泛用于家庭、車站、會(huì)議室等場(chǎng)所,數(shù)字化的時(shí)鐘給人們的生活帶來了極大的便利,并且可以在時(shí)鐘原有的功能上進(jìn)行擴(kuò)展,如定時(shí)報(bào)警、通斷動(dòng)力設(shè)備、甚至各種電氣的定時(shí)啟動(dòng),因此對(duì)電子時(shí)鐘的設(shè)計(jì)是具有實(shí)際意義的。
1 系統(tǒng)硬件電路設(shè)計(jì)
1.1 時(shí)鐘系統(tǒng)方框圖
根據(jù)系統(tǒng)的功能要求,初步確定該系統(tǒng)由主控模塊(STC89C52單片機(jī))、時(shí)鐘模塊(DS1302)、按鍵模塊、顯示模塊(數(shù)碼管)共4個(gè)模塊組成。系統(tǒng)方框圖如圖1所示。
1.2 r鐘系統(tǒng)工作原理
DS1302與主控模塊(STC89C52單片機(jī))的連接簡單,將引腳I/O、SCLK、RST與單片機(jī)的I/O口連接即可,將DS1302中的數(shù)據(jù)讀取到單片機(jī)中,單片機(jī)將處理后的數(shù)據(jù)通過數(shù)碼管顯示出來。通過加入的三個(gè)獨(dú)立按鍵,可進(jìn)一步對(duì)時(shí)間進(jìn)行修改,三個(gè)按鍵分別是菜單、+、-,例如第一次按下菜單鍵時(shí)選中分(此時(shí)‘分’閃爍),此時(shí)可以通過按下+鍵來增加分,按下-鍵來減少分;當(dāng)?shù)诙伟聪虏藛捂I時(shí)選中時(shí)(此時(shí)‘時(shí)’閃爍)此時(shí)可以通過按下+鍵或-鍵可以增加或者減少時(shí);當(dāng)?shù)谌伟聪虏藛捂I后,修改后的時(shí)間數(shù)據(jù)寫入DS1302時(shí)鐘芯片并通過數(shù)碼管顯示出來。系統(tǒng)原理圖如圖2所示。
2 硬件電路元件
2.1 主控單元
STC89CC52是STC公司生產(chǎn)的一種低功耗、高性能的八位微控制器,內(nèi)部具有8K用戶應(yīng)用程序空間。STC89C52沿用了經(jīng)典的MCS-51內(nèi)核,并在其基礎(chǔ)上做出了改進(jìn),使芯片具有一些傳統(tǒng)51單片機(jī)不具備的功能。內(nèi)置4KB的EEPROM,復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4 路外部中斷,中斷觸發(fā)方式有下降沿觸發(fā)和低電平觸發(fā)兩種,看門狗定時(shí)器,全雙工串行口。另外STC89C52有空閑模式、掉電保護(hù)兩種可供選擇的節(jié)電模式,空閑模式下,CPU停止工作,但RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷等工作不會(huì)受到影響。掉電保護(hù)方式下,RAM內(nèi)容被保存,直到下一次單片機(jī)工作時(shí)數(shù)據(jù)也不會(huì)丟失,但單片機(jī)會(huì)停止工作,如果讓單片機(jī)繼續(xù)工作,按下復(fù)位鍵即可,在單芯片上,由于STC89C52具有8位的CPU和可編程Flash的優(yōu)點(diǎn),因此可以為現(xiàn)在大多數(shù)嵌入式控制系統(tǒng)提供更多可選擇的解決方案。
2.2 時(shí)鐘芯片
DS1302是一個(gè)內(nèi)部帶有RAM的時(shí)鐘芯片,并且有兩個(gè)電源引腳(主電源,后備電源),這使DS1302芯片即使在沒有主電源的情況下,仍然能夠長時(shí)間的保證時(shí)間的準(zhǔn)確性,DS1302芯片通過簡單的串行接口與單片機(jī)進(jìn)行通信,其工作電壓為2.5V~5.5V。DS1302具有很全的計(jì)時(shí)功能。例如DS1302芯片具有可自動(dòng)調(diào)整每月的天數(shù)和閏年的天數(shù)的功能,這使其更加智能化,該芯片還提供秒、分、時(shí)、日、月、年的信息,時(shí)鐘可通過AM/PM 指示決定采用24 或12 小時(shí)制,本次系統(tǒng)只采用了時(shí)、分、秒進(jìn)行計(jì)時(shí)功能。
2.2.1 DS1302與單片機(jī)之間的通信
DS1302 與單片機(jī)之間通過三個(gè)引腳(RST、I/O、SCLK)進(jìn)行通信,它們之間采用同步串行通信的方式通信。
2.2.2 DS1302的優(yōu)點(diǎn)
DS1302有兩個(gè)電源引腳,分別為后備電源(VCC1)、主電源(VCC2),該芯片在不同的供電系統(tǒng)中供電方式也會(huì)發(fā)生改變,在單電源與電池供電的系統(tǒng)中由VCC1提供低電源,在雙電源系統(tǒng)中由VCC2提供主電源。時(shí)鐘芯片的供電模式取決于VCC1和VCC2的大小,當(dāng)VCC2大于VCC1時(shí),由VCC2給芯片供電;反之,由VCC1給芯片供電。因此在斷電情況下,DS1302以VCC1備用電源進(jìn)行其內(nèi)部供電以保證下次開啟時(shí)時(shí)間不會(huì)出現(xiàn)錯(cuò)誤。對(duì)于連續(xù)長時(shí)間測(cè)量的控制系統(tǒng)來說,采用具有良好特性的DS1302作為記錄測(cè)控系統(tǒng)中的數(shù)據(jù)記錄時(shí),可以進(jìn)一步提高系統(tǒng)的工作效率。而且由于其軟硬件設(shè)計(jì)也非常簡單,因此對(duì)于長時(shí)間連續(xù)的測(cè)控系統(tǒng)來說是一個(gè)不錯(cuò)的選擇。
2.2.3 DS1302引腳功能
VCC1:備用電源;
VCC2:主電源;
SCLK:時(shí)鐘引腳,數(shù)據(jù)的輸入與輸出受其控制
I/O:數(shù)據(jù)傳輸接口;
X1和X2是振蕩源,外接32.768KHZ晶振。
引腳圖如圖3所示。
2.3 顯示模塊
此系統(tǒng)選用的是四位一體的共陰極數(shù)碼管,其內(nèi)部已連接好,引腳(正面向上)從左到右順序依次為1、a、f、2、3、b、dp(+)、dp(-),4、g、c、e,其中a、b、c、d、e、f、g、為段引腳,1、2、3、4分別表示4個(gè)數(shù)碼管的位,dp(+)接電源正,dp(-)接單片機(jī)I/O口。
2.4 按鍵電路
本系統(tǒng)共采用3個(gè)獨(dú)立按鍵,分別與單片機(jī)的P3.5、P3.6、P3.7口連接,分別是菜單、+、-功能。在調(diào)整時(shí)間時(shí),可通過菜單鍵、+、-鍵對(duì)時(shí)間進(jìn)行調(diào)整。在調(diào)整的過程中,數(shù)碼管對(duì)應(yīng)顯示的調(diào)節(jié)項(xiàng)會(huì)閃爍,分別對(duì)時(shí)、分進(jìn)行設(shè)置。按鍵電路與單片機(jī)的連接可參考圖2。
3 軟件設(shè)計(jì)
3.1 系統(tǒng)程序流程圖
系統(tǒng)程序流程圖如圖4所示,程序執(zhí)行時(shí)先進(jìn)行系統(tǒng)初始化,再判斷菜單鍵是否按下,當(dāng)菜單鍵按下時(shí)進(jìn)入時(shí)間修改模式,設(shè)置完成后把修改后的數(shù)據(jù)寫入DS1302時(shí)鐘芯片并通過數(shù)碼管顯示。若無按鍵按下則讀取時(shí)間數(shù)據(jù)送入數(shù)碼管@示。
3.2 DS1302程序流程圖
DS1302時(shí)鐘程序流程圖如圖5所示,芯片工作時(shí),會(huì)進(jìn)入初始化程序,芯片內(nèi)的數(shù)據(jù)會(huì)在出現(xiàn)中斷信號(hào)時(shí)被送入單片機(jī)中處理并通過數(shù)碼管顯示,然后判斷是否按下菜單鍵,若按下,則設(shè)置完成后將數(shù)據(jù)送入時(shí)鐘芯片并顯示,若無按鍵按下則直接送入EPROM中并顯示。
4 總結(jié)
本次系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了時(shí)鐘顯示及時(shí)間調(diào)整的功能,從設(shè)計(jì)前期的查找資料,到后期的動(dòng)手設(shè)計(jì),焊接實(shí)物等都讓我收獲良多,特別是將一個(gè)系統(tǒng)分成幾部分小的模塊,然后逐步實(shí)現(xiàn)各模塊的功能,最后把它們組合成一個(gè)系統(tǒng),這種方法是值得學(xué)習(xí)的。以后,我會(huì)進(jìn)一步提高自己的動(dòng)手能力,豐富自己的知識(shí)。
參考文獻(xiàn):
[1] 李朝青. 單片機(jī)原理及接口技術(shù)[M]. 北京:北京航天航空大學(xué)出版社,2012.
[2] 張毅剛.單片機(jī)原理及接口技術(shù)[M]. 北京:人民郵電出版社,2013.
[3] 李廣弟.單片機(jī)基礎(chǔ)[M]. 北京:北京航空航天大學(xué)出版社,2000
[4] 劉軍.單片機(jī)原理與接口技術(shù)[M].上海:華東理工大學(xué)出版社,2006
[5] 譚浩強(qiáng). C語言程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2010.
[6] 邱關(guān)源. 電路[M]. 北京: 高等教育出版社,2010.
[7] 郭天祥. 新概念51單片機(jī)C語言教程[M].北京:電子工業(yè)出版社,2009.
[8] 楊國田,白焰,董玲. 51單片機(jī)實(shí)用C語言程序設(shè)計(jì)與典型實(shí)例[M].北京:中國電力出版社,2009.
stc89c52單片機(jī)范文6
關(guān)鍵詞:電磁密碼箱,報(bào)警,蜂鳴器,STC89C52
一、總體方案設(shè)計(jì)
它是以STC89C52單片機(jī)為核心,配以相應(yīng)硬件電路,完成密碼的設(shè)置、存貯、識(shí)別、驅(qū)動(dòng)電磁執(zhí)行器并檢測(cè)其驅(qū)動(dòng)電流值、接收蜂鳴器送來的報(bào)警信號(hào)、發(fā)送數(shù)據(jù)等功能,單片機(jī)接收鍵入的代碼,并與存貯在EEPROM中的六位密碼進(jìn)行比較,六位密碼可以有298萬多組密碼供主人隨意變換,保密性極高,可選密碼組是連續(xù)排列的,如果密碼正確,則驅(qū)動(dòng)電磁執(zhí)行器開鎖;如果密碼輸入不正確,則單片機(jī)通過通信線路向智能報(bào)警器發(fā)出報(bào)警信號(hào)。
密碼箱主要由矩陣鍵盤、單片機(jī)、外部硬件等部分組成。其中矩陣鍵盤用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。實(shí)際使用時(shí)只要將單片機(jī)的負(fù)載由繼電器換成電磁密碼箱的電磁鐵吸合線圈即可,當(dāng)然也可以用繼電器的常開觸點(diǎn)去控制電磁鐵吸合線圈,單片機(jī)將每次開鎖操作和此時(shí)電磁執(zhí)行器的驅(qū)動(dòng)電流值作為狀態(tài)信息發(fā)送給單片機(jī)的芯片處理,同時(shí)將接收來自無限循環(huán)的密碼識(shí)別程序的報(bào)警信息也發(fā)送給智能報(bào)警器,從而使整個(gè)密碼箱正常運(yùn)行。
二、硬件現(xiàn)及單元電路設(shè)計(jì)
1、單片機(jī)的時(shí)鐘電路與復(fù)位電路設(shè)計(jì)
本系統(tǒng)采用STC系統(tǒng)列單片機(jī),相比其他系列單片機(jī)具有很多優(yōu)點(diǎn)。一般STC單片機(jī)資源比其他單片機(jī)要多,而且執(zhí)行速度快;STC系列單片機(jī)使用串口對(duì)單片機(jī)進(jìn)行燒寫,下載程序較為方便;STC51單片機(jī)內(nèi)部集成了看門狗電路;且具有很強(qiáng)抗干擾能力。本系統(tǒng)采用內(nèi)部方式的時(shí)鐘電路和加電自復(fù)位的復(fù)位電路,由于單片機(jī)P0口內(nèi)部不含上拉電阻,為高阻態(tài),不能正常地輸出高/低電平,因而該組I/O口在使用時(shí)必須外接上拉電阻。
2、鍵盤電路設(shè)計(jì)
在單片機(jī)應(yīng)用系統(tǒng)中,一般都會(huì)設(shè)置鍵盤,主要為了控制運(yùn)行狀態(tài),輸入一些命令或數(shù)據(jù),以完成特定的人機(jī)交互。鍵盤是與單片機(jī)進(jìn)行人機(jī)交互的最基本的途徑,其以按鍵的形式來設(shè)置控制功能或輸入數(shù)據(jù),按鍵的輸入狀態(tài)本質(zhì)上是一個(gè)開關(guān)量。對(duì)于簡單的開關(guān)量的輸入可以采用獨(dú)立式按鍵,這種方法接口簡單,但占用單片機(jī)I/O端口資源較多。對(duì)于輸入?yún)?shù)較多、功能復(fù)雜的系統(tǒng),需要采用矩陣式鍵盤進(jìn)行輸入控制。本系統(tǒng)采用4×4矩陣式鍵盤。
3、液晶顯示電路設(shè)計(jì)
液晶顯示器(LCD)是一種功耗很低的顯示器,它的使用非常廣泛,比如電子表、計(jì)算器、數(shù)碼相機(jī)、計(jì)算機(jī)的顯示器和液晶電視等。電子密碼鎖中需要顯示的信息比較多,為了能直觀的看到結(jié)果,并且為了設(shè)計(jì)顯的美觀,使用總線和排阻進(jìn)行簡化連接方式,本設(shè)計(jì)采用液晶顯示屏LCD進(jìn)行顯示,
4、存儲(chǔ)芯片電路設(shè)計(jì)
I2C總線(Inter Intergrate Circuit BUS)全稱為芯片間總線,它在芯片間以兩根連線實(shí)現(xiàn)全雙工同步數(shù)據(jù)傳送,一條數(shù)據(jù)線(SDA)和一條串行時(shí)鐘線(SDL),可以很方便地構(gòu)成器件擴(kuò)展系統(tǒng)。I2C總線采用兩線制,由數(shù)據(jù)線SDA和時(shí)鐘線SCL構(gòu)成,為了對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),本系統(tǒng)使用串行EEPROM芯片,AT24C01系列是典型的I2C串行總線的EEPROM,本系統(tǒng)采用此芯片進(jìn)行數(shù)據(jù)存儲(chǔ)。
三、系統(tǒng)軟件設(shè)計(jì)方案
1、主程序流圖
如圖所示為主程序流程圖,用戶才可以自行設(shè)定和修改6位密碼,密碼輸錯(cuò)會(huì)有提示聲。只有鍵入6位開鎖密碼完成正確才能開鎖。
四、系統(tǒng)的安裝與調(diào)試
安裝步驟1.檢查元件的好壞。按電路圖買好元件后首先檢查買回元件的好壞,按各元件的檢測(cè)方法分別進(jìn)行檢測(cè),一定要仔細(xì)認(rèn)真。而且要認(rèn)真核對(duì)原理圖是否一致,在檢查好后才可上件、焊件,防止出現(xiàn)錯(cuò)誤焊件后不便改正。2.放置、焊接各元件按原理圖的位置放置各元件,在放置過程中要先放置、焊接較低的元件,后焊較高的和要求較高的元件。特別是容易損壞的元件要后焊,在焊集成芯片時(shí)連續(xù)焊接時(shí)間不要超過10s,注意芯片的安裝方向。
參考文獻(xiàn):
[1] 王千. 實(shí)用電子電路大全[M]. 電子工業(yè)出版社, 2004, 28-36
[2] 彭為. 單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講[M]. 電子工業(yè)出版社,2 006, 69-88
[3] 張榮. 基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M]. 電子工業(yè)出版社, 2005, 35-38
[4] 朱勇. 單片機(jī)原理與應(yīng)用技術(shù)[M]. 清華大學(xué)出版社, 2006, 14-16