基于P87LPC761單片機(jī)控制的時(shí)間控制器系統(tǒng)簡(jiǎn)介
發(fā)布時(shí)間:2007/8/23 0:00:00 訪問次數(shù):538
畢大慶(解放軍電于工程學(xué)院 安徽合肥)
1.系統(tǒng)簡(jiǎn)介
該時(shí)間控制器是以P87LPC761單片機(jī)為核心,擴(kuò)展一片74HCl64組成的小系統(tǒng),控制一路繼電器,可以設(shè)定一天中的時(shí)間,設(shè)定繼電器的開啟時(shí)間和關(guān)閉時(shí)間,一共可以設(shè)定6組定時(shí),可以消除不需要的定時(shí),能夠緊急啟動(dòng);所有的設(shè)定均通過鍵盤實(shí)現(xiàn),按鍵具有連擊功能,每個(gè)狀態(tài)都有指示燈。該時(shí)間控制器采用外部100kHz晶振,同時(shí)采用交流電供電,配以充電電池,在交流電去掉以后,進(jìn)入休閑模式,時(shí)鐘繼續(xù)運(yùn)行。
2 硬件電路設(shè)計(jì)與分析
系統(tǒng)功能框圖如圖1所示。本系統(tǒng)設(shè)計(jì)的難點(diǎn)不在硬而在低頻晶振下的軟件設(shè)計(jì)。
整個(gè)硬件電路可分為3部分:電源、鍵盤顯示和CPU部分,分別分析如下。
2.1 電源部分
把交流電轉(zhuǎn)換成單片機(jī)所需的直流電。這是一個(gè)很常見的電源電路。為了確保去掉交流電之后,時(shí)鐘能繼續(xù)運(yùn)行,配以充電電池,在電源部分加上了充電電路。在有交流電的時(shí)候,直接利用外部電源,同時(shí)給充電電池充電,去掉交流電以后,利用充電電池做電源,進(jìn)入休閑模式。
2.2 鍵盤和顯示電路
為了節(jié)省元件,采用動(dòng)態(tài)掃描的方式來(lái)顯示時(shí)鐘,在這部分?jǐn)U展了一片74HCl64。單片機(jī)通過串行口向74HCl64發(fā)送數(shù)據(jù),在七段數(shù)碼管上顯示,每個(gè)數(shù)碼管公共端都加上了三極管,是作掃描信號(hào)的電流放大以驅(qū)動(dòng)各數(shù)碼管。
2.3 CPU部分
CPU部分是時(shí)間繼電器的核心。這主要由P87LPC761來(lái)控制。作為Philips小型封裝系列中的一員,P87LPC761是20腳封裝的單片機(jī),適合于許多要求高集成度、低成本的場(chǎng)合,可以滿足許多方面的性能要求。P87LPC761提供高速和低速的晶振以及RC振蕩方式,可編程選擇,具有較寬的操作電壓范圍,可編程I/O口線輸出模式選擇,可選擇施密特觸發(fā)輸入,LED驅(qū)動(dòng)輸出,有內(nèi)部看門狗定時(shí)器。P87LPC761采用80C51加速處理器,結(jié)構(gòu)指令執(zhí)行速度是標(biāo)隘80C51 MCU的2倍。CPU部分電路原理圖如圖3所示。
3 軟件設(shè)計(jì)
P87LPC761單片機(jī)每個(gè)機(jī)器周期為6個(gè)時(shí)鐘周期,采用100kHz晶振,每個(gè)機(jī)器周期為60/Is。根據(jù)實(shí)驗(yàn),為了保證LED看起來(lái)不閃爍,點(diǎn)亮數(shù)碼管的時(shí)間間隔不能大于24ms,一共有4個(gè)數(shù)碼管,則每?jī)蓚(gè)數(shù)碼管點(diǎn)亮的時(shí)間間隔不能大于6ms。程序設(shè)計(jì)應(yīng)注意這一點(diǎn),在每?jī)纱沃袛嘀g一共有100個(gè)機(jī)器周期,很有限,據(jù)此在編程時(shí)應(yīng)遵循以下原則:
(1)程序盡量簡(jiǎn)潔主程序盡量短。
(2)中斷程序盡量短,把盡可能多的時(shí)間給其他程序。
(3)分支程序盡量多盡量短不做無(wú)用功。
鑒于篇幅,這里只介紹程序整體流程圖,如圖4所示。相關(guān)問題處理
4.1 計(jì)時(shí)補(bǔ)償
定時(shí)器。工作在方式1,而方式1的計(jì)數(shù)受到軟件的影響。為了減少計(jì)時(shí)誤差,在給定時(shí)器1恢復(fù)初值(3CBOH)的時(shí)候,要把軟件所占用的時(shí)間補(bǔ)回來(lái)。在中斷中重新賦初值采取如下方式:
通過軟件補(bǔ)償后,在晶振準(zhǔn)確的情況下,能夠給計(jì)時(shí)帶來(lái)誤差的就僅僅只有中斷的響應(yīng)時(shí)間了。
4.2 低功耗處理
低功耗是這個(gè)設(shè)計(jì)所必須處理好的問題。通過交流電檢測(cè)電路檢測(cè)交流電的存在與否。在程序中是這樣處理的:查詢P1.3口的電平,當(dāng)P1.3口是高電平時(shí),就進(jìn)入正常狀態(tài)即顯示、鍵盤、所有中斷、串行口都正常工作,一旦P1.3口為低電平,則關(guān)掉顯示、鍵盤、串行口以及T1中斷,即只開放刷新時(shí)鐘的TO中斷(這是為了保證在休
畢大慶(解放軍電于工程學(xué)院 安徽合肥)
1.系統(tǒng)簡(jiǎn)介
該時(shí)間控制器是以P87LPC761單片機(jī)為核心,擴(kuò)展一片74HCl64組成的小系統(tǒng),控制一路繼電器,可以設(shè)定一天中的時(shí)間,設(shè)定繼電器的開啟時(shí)間和關(guān)閉時(shí)間,一共可以設(shè)定6組定時(shí),可以消除不需要的定時(shí),能夠緊急啟動(dòng);所有的設(shè)定均通過鍵盤實(shí)現(xiàn),按鍵具有連擊功能,每個(gè)狀態(tài)都有指示燈。該時(shí)間控制器采用外部100kHz晶振,同時(shí)采用交流電供電,配以充電電池,在交流電去掉以后,進(jìn)入休閑模式,時(shí)鐘繼續(xù)運(yùn)行。
2 硬件電路設(shè)計(jì)與分析
系統(tǒng)功能框圖如圖1所示。本系統(tǒng)設(shè)計(jì)的難點(diǎn)不在硬而在低頻晶振下的軟件設(shè)計(jì)。
整個(gè)硬件電路可分為3部分:電源、鍵盤顯示和CPU部分,分別分析如下。
2.1 電源部分
把交流電轉(zhuǎn)換成單片機(jī)所需的直流電。這是一個(gè)很常見的電源電路。為了確保去掉交流電之后,時(shí)鐘能繼續(xù)運(yùn)行,配以充電電池,在電源部分加上了充電電路。在有交流電的時(shí)候,直接利用外部電源,同時(shí)給充電電池充電,去掉交流電以后,利用充電電池做電源,進(jìn)入休閑模式。
2.2 鍵盤和顯示電路
為了節(jié)省元件,采用動(dòng)態(tài)掃描的方式來(lái)顯示時(shí)鐘,在這部分?jǐn)U展了一片74HCl64。單片機(jī)通過串行口向74HCl64發(fā)送數(shù)據(jù),在七段數(shù)碼管上顯示,每個(gè)數(shù)碼管公共端都加上了三極管,是作掃描信號(hào)的電流放大以驅(qū)動(dòng)各數(shù)碼管。
2.3 CPU部分
CPU部分是時(shí)間繼電器的核心。這主要由P87LPC761來(lái)控制。作為Philips小型封裝系列中的一員,P87LPC761是20腳封裝的單片機(jī),適合于許多要求高集成度、低成本的場(chǎng)合,可以滿足許多方面的性能要求。P87LPC761提供高速和低速的晶振以及RC振蕩方式,可編程選擇,具有較寬的操作電壓范圍,可編程I/O口線輸出模式選擇,可選擇施密特觸發(fā)輸入,LED驅(qū)動(dòng)輸出,有內(nèi)部看門狗定時(shí)器。P87LPC761采用80C51加速處理器,結(jié)構(gòu)指令執(zhí)行速度是標(biāo)隘80C51 MCU的2倍。CPU部分電路原理圖如圖3所示。
3 軟件設(shè)計(jì)
P87LPC761單片機(jī)每個(gè)機(jī)器周期為6個(gè)時(shí)鐘周期,采用100kHz晶振,每個(gè)機(jī)器周期為60/Is。根據(jù)實(shí)驗(yàn),為了保證LED看起來(lái)不閃爍,點(diǎn)亮數(shù)碼管的時(shí)間間隔不能大于24ms,一共有4個(gè)數(shù)碼管,則每?jī)蓚(gè)數(shù)碼管點(diǎn)亮的時(shí)間間隔不能大于6ms。程序設(shè)計(jì)應(yīng)注意這一點(diǎn),在每?jī)纱沃袛嘀g一共有100個(gè)機(jī)器周期,很有限,據(jù)此在編程時(shí)應(yīng)遵循以下原則:
(1)程序盡量簡(jiǎn)潔主程序盡量短。
(2)中斷程序盡量短,把盡可能多的時(shí)間給其他程序。
(3)分支程序盡量多盡量短不做無(wú)用功。
鑒于篇幅,這里只介紹程序整體流程圖,如圖4所示。相關(guān)問題處理
4.1 計(jì)時(shí)補(bǔ)償
定時(shí)器。工作在方式1,而方式1的計(jì)數(shù)受到軟件的影響。為了減少計(jì)時(shí)誤差,在給定時(shí)器1恢復(fù)初值(3CBOH)的時(shí)候,要把軟件所占用的時(shí)間補(bǔ)回來(lái)。在中斷中重新賦初值采取如下方式:
通過軟件補(bǔ)償后,在晶振準(zhǔn)確的情況下,能夠給計(jì)時(shí)帶來(lái)誤差的就僅僅只有中斷的響應(yīng)時(shí)間了。
4.2 低功耗處理
低功耗是這個(gè)設(shè)計(jì)所必須處理好的問題。通過交流電檢測(cè)電路檢測(cè)交流電的存在與否。在程序中是這樣處理的:查詢P1.3口的電平,當(dāng)P1.3口是高電平時(shí),就進(jìn)入正常狀態(tài)即顯示、鍵盤、所有中斷、串行口都正常工作,一旦P1.3口為低電平,則關(guān)掉顯示、鍵盤、串行口以及T1中斷,即只開放刷新時(shí)鐘的TO中斷(這是為了保證在休
上一篇:隨身聽常見故障速判速修5例
熱門點(diǎn)擊
- 大容量串行E2PROM AT24C512及其
- 幀存儲(chǔ)器AL440B及其在視頻回放系統(tǒng)中的應(yīng)
- 距離保護(hù)特性元件躲過渡電阻能力分析與研究
- D/A轉(zhuǎn)換器輸出波形的尖峰消除方案
- 基于Verilog的SMBus總線控制器的設(shè)
- 智能顯示驅(qū)動(dòng)芯片ZLG7289A的設(shè)計(jì) In
- 帶硬件地址識(shí)別的UART IP 的設(shè)計(jì)和實(shí)現(xiàn)
- 單片機(jī)89C52并行I/O口實(shí)現(xiàn)多個(gè)LED顯
- SMT焊接常見缺陷及解決辦法
- 軍用微電子技術(shù)的發(fā)展
推薦技術(shù)資料
- 按鈕與燈的互動(dòng)實(shí)例
- 現(xiàn)在趕快去看看這個(gè)目錄卞有什么。FGA15N120AN... [詳細(xì)]
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究