




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第11章嵌入式應(yīng)用系統(tǒng)的
設(shè)計(jì)與開(kāi)發(fā)
教學(xué)目的:了解應(yīng)用系統(tǒng)設(shè)計(jì)過(guò)程,開(kāi)發(fā)工具和開(kāi)發(fā)方法,學(xué)會(huì)KeilC51集成開(kāi)發(fā)環(huán)境的使用,掌握具體的應(yīng)用系統(tǒng)的開(kāi)發(fā)方法。教學(xué)重點(diǎn):1.應(yīng)用系統(tǒng)設(shè)計(jì)過(guò)程,
2.掌握一種開(kāi)發(fā)工具和開(kāi)發(fā)方法,
3.學(xué)會(huì)使用KeilC51集成開(kāi)發(fā)環(huán)境。教學(xué)難點(diǎn):1.具體的應(yīng)用系統(tǒng)的開(kāi)發(fā)方法。
11.1應(yīng)用系統(tǒng)設(shè)計(jì)過(guò)程
11.1.1總體方案設(shè)計(jì)
1.確定系統(tǒng)的設(shè)計(jì)方案和技術(shù)指標(biāo)2.選擇機(jī)型3.硬件和軟件功能的選擇與配合11.1.2硬件設(shè)計(jì)1.存儲(chǔ)器2.選擇擴(kuò)展外圍芯片3.測(cè)控通道外圍設(shè)備和電路的配置4.硬件可靠性設(shè)計(jì)
圖11-1典型單片機(jī)測(cè)控系統(tǒng)框圖11.1.3軟件設(shè)計(jì)1.系統(tǒng)定義2.程序設(shè)計(jì)
3.軟件可靠性設(shè)計(jì)(1)本質(zhì)可靠性設(shè)計(jì)(2)軟件抗干擾設(shè)計(jì)11.1.4嵌入式系統(tǒng)的低功耗設(shè)計(jì)
1.影響系統(tǒng)功耗的因素
2.降低功耗的主要措施
11.2開(kāi)發(fā)工具和開(kāi)發(fā)方法
11.2.1開(kāi)發(fā)工具
(1)仿真器
圖11-2單片機(jī)仿真系統(tǒng)連接示意圖(2)調(diào)試器
圖11-3單片機(jī)調(diào)試器連接示意圖
11.2.2單片機(jī)的開(kāi)發(fā)方法1.硬件調(diào)試2.軟件調(diào)試11.3KeilC51集成開(kāi)發(fā)環(huán)境的使用
圖11-4KeilC51的匯編//編譯及連接過(guò)程11.3.1軟件開(kāi)發(fā)流程
圖11-5KeilμVision3IDE的的主界面
11.3.2項(xiàng)目的建立與設(shè)置1.建立項(xiàng)目文件圖11-6CreateNewProject對(duì)話框2.選擇用戶芯片型號(hào)圖11-7“SelectDeviceTarget”對(duì)話框3.給項(xiàng)目中添加程序文件圖11-8所示的菜單中選擇AddFilestoGroupSourceGroup1命令4.編譯、連接項(xiàng)目圖11-9對(duì)項(xiàng)目中的文件進(jìn)行編譯、連接11.3.3運(yùn)行調(diào)試
圖11-10啟動(dòng)調(diào)試過(guò)程
圖11-11Watch窗口
圖11-12水塔水位控制原理圖11.4水位控制系統(tǒng)
11.4.1題目分析11.4.2硬件設(shè)計(jì)
圖11-13水塔水位控制電路原理圖
11.4.3軟件設(shè)計(jì)圖11-14水塔水位控制程序流程圖
主程序清單如下:ORG 0000HLJMP LOOPORG0100HLOOP:ORLP1,#03H;為檢查水位狀態(tài)作準(zhǔn)備
MOVA, P1 ;讀入狀態(tài)信號(hào)
JNBACC.0,ONE;P1.0=0則轉(zhuǎn)ONEJB ACC.1,TWO;P1.1=1則轉(zhuǎn)TWOBACK:ACALLD10S;調(diào)延時(shí)10秒子程序(略)
SJMPLOOPONE:JNBACC.1,THREE;P1.1=0則轉(zhuǎn)
CLRP1.3;P1.3
0,啟動(dòng)報(bào)警裝置
SETBP1.2;P1.2
1,停止電機(jī)工作FOUR:SJMPFOUR;等待處理THREE:CLRP1.2;啟動(dòng)電機(jī)工作
SJMPBACKTWO:SETBP1.2;停止電機(jī)工作
SJMPBACK11.5恒溫箱溫度測(cè)控報(bào)警系統(tǒng)
要求設(shè)計(jì)一個(gè)恒溫箱溫度測(cè)控報(bào)警系統(tǒng),恒溫箱由電爐加熱,要求溫度控制在70℃左右,當(dāng)溫度在68~72℃時(shí)綠色指示燈亮,當(dāng)溫度超過(guò)72℃或低于68℃時(shí),紅色指示燈亮,并且發(fā)出報(bào)警聲。當(dāng)溫度超過(guò)72℃關(guān)閉電爐,而當(dāng)溫度低于68℃,接通電爐加熱。要求用4個(gè)數(shù)碼管顯示,前3位數(shù)碼管顯示溫度,溫度顯示范圍為00.0~99.9℃,數(shù)碼管的最后一位顯示“C”。11.5.1題目分析溫度傳感器的線性工作范圍為0~100℃,工作范圍內(nèi)對(duì)應(yīng)的輸出電壓是0~5V,則當(dāng)采用8位的A/D轉(zhuǎn)換器對(duì)傳感器的輸出電壓量化時(shí),量化值0~255對(duì)應(yīng)的輸入電壓范圍為0~5V,如果要顯示實(shí)際溫度值,經(jīng)過(guò)A/D轉(zhuǎn)換后的值還需要進(jìn)行物理量與數(shù)字量的變換,通常稱為標(biāo)度變換。對(duì)于本例題的情況,標(biāo)度變換值應(yīng)該為B=99.9℃/255,如果A/D采集的數(shù)字值用D表示,則變換后的溫度值為T(mén)=D×B,這就是準(zhǔn)備顯示的數(shù)字量。
11.5.2TLC549芯片介紹
1.TLC549的引腳及功能2.基本工作原理圖11-15TLC549的引腳圖
11.5.3硬件設(shè)計(jì)
圖11-16恒溫箱溫度測(cè)控報(bào)警系統(tǒng)原理圖
11.5.4軟件設(shè)計(jì)
C51語(yǔ)言程序清單如下:
#include<reg52.h>//包含SFR寄存器的頭文件#include<absacc.h> //包含訪問(wèn)絕對(duì)地址的頭文件#inclued<intrins.h>//包含在線嵌入內(nèi)部代碼函數(shù)原型的頭文件#defineuintunsignedint//定義數(shù)據(jù)類型#defineucharunsignedchar//定義數(shù)據(jù)類型#defineSYSCLK6000000//定義系統(tǒng)工作時(shí)鐘#defineTMAX183 //72℃時(shí)對(duì)應(yīng)的A/D轉(zhuǎn)換器輸出值#defineTMIN173//68℃時(shí)對(duì)應(yīng)的A/D轉(zhuǎn)換器輸出值uchar
xdataEDC_at_0xBFFF;//LED段碼鎖存器地址uchar
xdataLEDS_at_0x7FFF;//LED位選通地址sbitSCLA=P1^5;//定義TLC549的時(shí)鐘線sbitDSAA=P1^6; //定義TLC549的數(shù)據(jù)線sbitCS549 =P1^7; //定義TLC549的片選線sbitALARM=P1^1; //定義報(bào)警控制位sbitHEAT=P1^2; //定義電爐控制位sbitRED=P1^3; //定義紅色發(fā)光二極管控制位sbitGREEN=P1^4; //定義綠色發(fā)光二極管控制位//變量定義ucharBCD[4];//定義顯示緩沖區(qū)uchar
bdata
I_data;//定義I_data為溫度信號(hào)經(jīng)A/D轉(zhuǎn)換后的數(shù)字量I_data_0=I_data^0;//函數(shù)定義voidhextobcd(uint
intdata); //BCD碼處理程序voiddistemp(void); //顯示溫度程序uchar
get_adresult(void);//數(shù)據(jù)采集程序ucharcodeDIS_SEG7[16]//定義顯示數(shù)碼表
={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//數(shù)字0~9和字母A~F的字形碼//主程序main(){uintresult,temp;//變量定義ucharj;ALARM=0;//清聲音報(bào)警
HEAT=0;//電爐加熱
GREEN=0;//綠色LED點(diǎn)亮
RED=1;//紅色LED熄滅while(1){
result=0;get_adresult();//啟動(dòng)采集
for(j=0;j<10;j++)result+=get_adresult();//調(diào)A/D采集與計(jì)算子程序并求和
result=result/10;//取平均值,注意:這樣無(wú)法做到四舍五入。//控制判別
if(result>TMAX){ //超過(guò)溫度上限處理
HEAT=1;//電爐不加熱
ALARM=1;//驅(qū)動(dòng)聲音報(bào)警電路
GREEN=1;//綠色LED熄滅
RED=0;//紅色LED點(diǎn)亮
}elseif(result<TMIN)
{ //低于溫度下限處理
HEAT=0;//電爐加熱
ALARM=1;//驅(qū)動(dòng)聲光報(bào)警電路
GREEN=1;//綠色LED熄滅
RED=0;//紅色LED點(diǎn)亮
}else { //溫度正常
ALARM=0;//聲光報(bào)警取消
GREEN=0;//綠色LED點(diǎn)亮
RED=1;//紅色LED熄滅
}
/*本題中A/D轉(zhuǎn)換后的數(shù)字量還需要進(jìn)行物理量與數(shù)字量的變換,即標(biāo)度變換。對(duì)于本例題的情況,標(biāo)度變換值應(yīng)該為B=99.9℃/255。為達(dá)到轉(zhuǎn)換精度,即為能準(zhǔn)確顯示到小數(shù)點(diǎn)后一位的值,則計(jì)算公式應(yīng)修改為T(mén)=D×10×B=D×10×99.9/255,所以變換后的溫度實(shí)際最大值為999*/temp=(long)result*999/255;//變成溫度值
hextobcd(temp); //調(diào)BCD碼處理程序
distemp(); //顯示溫度
}}
/*經(jīng)過(guò)標(biāo)度變換后的溫度值還是十六進(jìn)制數(shù),為滿足LED顯示,需要變換為BCD碼。因?yàn)樽畲罂赡軠y(cè)量的溫度值為99.9℃,相應(yīng)的BCD碼不超過(guò)百位。在轉(zhuǎn)換完之后,則BCD碼的結(jié)果,即溫度顯示值需占用3個(gè)單元*/voidhextobcd(uint
intdata) //BCD碼處理程序,注意intdata小于1000{BCD[0]=(uchar)((intdata%1000)/100);//得到百位數(shù)BCD[1]=(uchar)((intdata%100)/10);//得到十位數(shù)BCD[2]=(uchar)(intdata%10);//得到個(gè)位數(shù)}
圖8-12接口電路原理圖
圖8-12接口電路原理圖
/*由于要求顯示的數(shù)據(jù)精確到小數(shù)點(diǎn)后一位,所以測(cè)量結(jié)果用三位數(shù)碼管顯示,顯示格式為××.×C(其中××.×為溫度值)。顯然第2位數(shù)碼管(BCD[1])在顯示時(shí)應(yīng)帶有小數(shù)點(diǎn)。在數(shù)碼管上顯示小數(shù)點(diǎn)有幾種方法,最常用的有如下3種方法。第一種是硬件方法,即把固定需要顯示小數(shù)點(diǎn)的那一個(gè)數(shù)碼管的小數(shù)點(diǎn)位,根據(jù)數(shù)碼管是共陽(yáng)還是共陰極與低電平或高電平相接。第二種是軟件方法,即把固定需要顯示小數(shù)點(diǎn)的那一個(gè)數(shù)碼管的小數(shù)點(diǎn)位,根據(jù)數(shù)碼管是共陽(yáng)還是共陰極把要顯示的數(shù)字與3FH相與,或者與80H相“或”。第三種也是軟件方法,即在顯示時(shí)采用2個(gè)字型表,一個(gè)是不帶小數(shù)點(diǎn)的,一個(gè)是帶小數(shù)點(diǎn)的,根據(jù)需要去取數(shù)。本例采用第2種方法。*/voiddistemp(void) //顯示溫度程序{
uchar
I,j,n,m;for(j=0;j<200;j++) { n=0xFE;//顯示位驅(qū)動(dòng)字
for(i=0;i<4;i++) { LEDS=0xff;//關(guān)輸出位控碼
switch(i) {case0:EDC=DIS_SEG7[BCD[i]];break;//取字形碼case1:EDC=DIS_SEG7[BCD[i]]+0x80;break;/
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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年漁家傲試題及答案
- 2025年專升碩英語(yǔ)試題及答案
- 5年級(jí)下冊(cè)英語(yǔ)第5單元
- 嘉興風(fēng)機(jī)吊裝施工方案
- 登鸛雀樓寫(xiě)了詩(shī)人的所見(jiàn)
- arm芯片霍爾信號(hào)
- 2025年天然植物纖維及人造纖維編織工藝品合作協(xié)議書(shū)
- 2025年內(nèi)蒙古通遼市單招職業(yè)傾向性測(cè)試題庫(kù)1套
- 2025年重慶青年職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)及參考答案1套
- 2025年攀枝花攀西職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)審定版
- 醫(yī)院知識(shí)產(chǎn)權(quán)培訓(xùn)課件
- 2025年度KTV娛樂(lè)門(mén)店轉(zhuǎn)讓協(xié)議
- 2025年甘肅甘南州國(guó)控資產(chǎn)投資管理集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 《市場(chǎng)營(yíng)銷STP戰(zhàn)略》課件
- 《S中學(xué)宿舍樓工程量清單計(jì)價(jià)編制(附三維圖)》30000字
- 全國(guó)運(yùn)動(dòng)員注冊(cè)協(xié)議書(shū)范本(2篇)
- 《高點(diǎn)全景視頻監(jiān)控聯(lián)網(wǎng)技術(shù)要求》
- 白云山生態(tài)停車場(chǎng)工程施工組織設(shè)計(jì)施工方案
- 2024年四川省綿陽(yáng)市中考語(yǔ)文試卷(附真題答案)
- 【MOOC】Office高級(jí)應(yīng)用-成都信息工程大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 足球英語(yǔ)課件
評(píng)論
0/150
提交評(píng)論