硬件電路設(shè)計(jì)
單片機(jī)最小系統(tǒng)
本系統(tǒng)以AT89C52單片機(jī)為核心,本系統(tǒng)選用12MHZ的晶振,使得單片機(jī)有合理的運(yùn)行速度。起振電容30pF對(duì)振蕩器的頻率高低、振蕩器的穩(wěn)定性和起振的快速性影響較合適,復(fù)位電路為按鍵高電平復(fù)位。AT89C52單片機(jī)最小系統(tǒng)電路設(shè)計(jì)如圖3.1所示:
復(fù)位電路
單片機(jī)復(fù)位的條件是當(dāng)單片機(jī)振蕩器工作時(shí),RST引腳上出現(xiàn)持續(xù)兩個(gè)機(jī)器周期的高電平,從而實(shí)現(xiàn)復(fù)位操作,使單片機(jī)回復(fù)到初始狀態(tài)。上電時(shí),考慮到振蕩器有一定的起振時(shí)間,RST引腳上高電平必須持續(xù)10ms以上才能保證有效復(fù)位。 STC89C52的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。電路圖如圖3.2。
晶振電路
晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào)。晶振電路中接在晶振旁的兩個(gè)電容,叫負(fù)載電容。一般單片機(jī)的晶振工作于并聯(lián)諧振狀態(tài),也可以理解為諧振電容的一部分。電容值無嚴(yán)格要求,但電容取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響,C2、C3可在30pF時(shí)振蕩器有較高的頻率穩(wěn)定性電路圖如圖3.3。
本系統(tǒng)采用DS12C887時(shí)鐘芯片定時(shí)及計(jì)時(shí)功能,DS12C887時(shí)鐘芯片共需要13條信號(hào)線。GND、 VCC:直流電源,其中VCC接+5V輸入,GND接地,當(dāng)VCC輸入為+5V時(shí),用戶可以訪問DS12C887內(nèi)RAM中的數(shù)據(jù),并可對(duì)其進(jìn)行讀、寫操作;當(dāng)VCC的輸入小于+4.25V時(shí),禁止用戶對(duì)內(nèi)部RAM進(jìn)行讀、寫操作,此時(shí)用戶不能正確獲取芯片內(nèi)的時(shí)間信息;當(dāng)VCC的輸入小于+3V時(shí),DS12C887會(huì)自動(dòng)將電源發(fā)換到內(nèi)部自帶的鋰電池上,以保證內(nèi)部的電路能夠正常工作 MOT:模式選擇腳。SQW:方波輸出腳,當(dāng)供電電壓VCC大于4.25V時(shí),SQW腳可進(jìn)行方波輸出。AD0~AD7:復(fù)用地址數(shù)據(jù)總線,該總線采用分時(shí)復(fù)用技術(shù),在總線周期的前半部分,出現(xiàn)在AD0~AD7上的是地址信息,可用以選通DS12C887內(nèi)的RAM,總線周期的后半部分出現(xiàn)在AD0~AD7上的數(shù)據(jù)信息 AS:地址選通輸入腳。DS/RD:數(shù)據(jù)選擇或讀輸入腳,該引腳有兩種工作模式,當(dāng)MOT接VCC時(shí),選用Motorola工作模式,在這種工作模式中,每個(gè)總線周期的后一部分的DS為高電平。
在讀操作中,DS的上升沿使DS12C887將內(nèi)部數(shù)據(jù)送往總線AD0~AD7上,以供外部讀取在寫操作中,DS的下降沿將使總線 AD0~AD7上的數(shù)據(jù)鎖存在DS12C887中。當(dāng)MOT接GND時(shí),選用Intel工作模式,在該模式中,該引腳是讀允許輸入腳 R/W:讀/寫輸入端,該管腳也有2種工作模式,當(dāng)MOT接VCC時(shí),R/W工作在Motorola模式CS:片選輸入,低電平有效 IRQ:中斷請(qǐng)求輸入,低電平有效,該腳有效對(duì)DS12C887內(nèi)的時(shí)鐘、日歷和RAM中的內(nèi)容沒有任何影響,僅內(nèi)部的控制寄存器有影響,在典型的應(yīng)用中,RESET可以接VCC,這樣可以保證DS12C887在掉電時(shí),其內(nèi)部控制寄存器不受影響。
DS12C887電路如圖3.4所示:
液晶顯示器LM016L的VSS腳接地,VDD腳接電源,VEE腳接一可變電阻接地,RS腳接單片機(jī)P3.5腳,E腳接單片機(jī)P3.4腳,D0至D7腳接單片機(jī)的P2.0至P2.7腳。液晶顯示器LM016L電路圖如圖3.5。
軟件體統(tǒng)設(shè)計(jì)
主程序流程圖如圖4.1
DS12C887程序流程圖如圖4.2。
LM016L程序流程圖如圖4.3
評(píng)論