版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第12章嵌入式應(yīng)用系統(tǒng)的設(shè)計(jì)與開發(fā)
教學(xué)目的:了解應(yīng)用系統(tǒng)設(shè)計(jì)過程,開發(fā)工具和開發(fā)方法,學(xué)會(huì)KeilC51集成開發(fā)環(huán)境的使用,掌握具體的應(yīng)用系統(tǒng)的開發(fā)方法。教學(xué)重點(diǎn):1.應(yīng)用系統(tǒng)設(shè)計(jì)過程;
2.掌握一種開發(fā)工具和開發(fā)方法,
3.學(xué)會(huì)使用KeilC51集成開發(fā)環(huán)境。教學(xué)難點(diǎn):1.具體的應(yīng)用系統(tǒng)的開發(fā)方法。
12.1應(yīng)用系統(tǒng)設(shè)計(jì)過程
12.1.1總體方案設(shè)計(jì)
1.確定系統(tǒng)的設(shè)計(jì)方案和技術(shù)指標(biāo)2.選擇機(jī)型3.硬件和軟件功能的選擇與配合12.1.2硬件設(shè)計(jì)1.存儲(chǔ)器2.選擇擴(kuò)展外圍芯片3.測(cè)控通道外圍設(shè)備和電路的配置4.硬件可靠性設(shè)計(jì)
圖12.1典型單片機(jī)測(cè)控系統(tǒng)框圖12.1.3軟件設(shè)計(jì)1.系統(tǒng)定義2.程序設(shè)計(jì)3.軟件可靠性設(shè)計(jì)(1)指令冗余技術(shù)(2)軟件陷阱(3)看門狗(WDT)技術(shù)
12.2開發(fā)工具和開發(fā)方法
12.2.1開發(fā)工具
1.仿真器
圖12.2單片機(jī)仿真系統(tǒng)連接示意圖2.調(diào)試器
圖12.3單片機(jī)調(diào)試器連接示意圖
12.2.2單片機(jī)的開發(fā)方法1.硬件調(diào)試2.軟件調(diào)試圖12.4水塔水位控制原理圖12.3單片機(jī)用于水位控制系統(tǒng)
12.3.1題目分析12.3.2硬件設(shè)計(jì)
圖11.5水塔水位控制電路原理圖
主程序清單如下: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ī)工作
SJMPBACK12.4恒溫箱溫度控制監(jiān)測(cè)系統(tǒng)
要求設(shè)計(jì)一個(gè)恒溫箱溫度測(cè)控報(bào)警系統(tǒng),恒溫箱由電爐加熱,要求溫度控制在80度左右,當(dāng)溫度在78~82度時(shí)綠色指示燈亮,當(dāng)溫度超過82度或低于78度時(shí),紅色指示燈亮,并且發(fā)出報(bào)警聲。當(dāng)溫度超過82度關(guān)閉電爐,而當(dāng)溫度低于68度,接通電爐加熱。要求用4個(gè)數(shù)碼管顯示,前三位數(shù)碼管顯示溫度,溫度顯示范圍為00.0~99.9度,數(shù)碼管的最后一位顯示“C”。12.4.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)過A/D轉(zhuǎn)換后的值還需要進(jìn)行物理量與數(shù)字量的變換,通常稱為標(biāo)度變換。對(duì)于本例題的情況,標(biāo)度變換值應(yīng)該為B=99.9℃/255,如果A/D采集的數(shù)字值用D表示,則變換后的溫度值為T=D×B,這就是準(zhǔn)備顯示的數(shù)字量。
12.4.2硬件設(shè)計(jì)
圖11.6電爐溫度監(jiān)控系統(tǒng)原理圖
12.4.4軟件設(shè)計(jì)
圖12.7溫度采集系統(tǒng)組成框圖
C51語言主程序清單如下:#include<reg51.h> //包含51寄存器#include<absacc.h> //包含宏定義庫,可訪問絕對(duì)地址#defineucharunsignedchar //定義變量#defineTMAX209 //82度時(shí)對(duì)應(yīng)的AD轉(zhuǎn)換器值#defineTMIN199 //78度時(shí)對(duì)應(yīng)的AD轉(zhuǎn)換器值#defineADC0809_IN0XBYTE[0x0DFF8] //ADC0809IN0地址#defineLEDCXBYTE[0xBFFF] //LED段碼地址#defineLEDSXBYTE[0x7FFF] //LED位碼地址 ucharDISBUF[4]_at_0x40; //顯示數(shù)據(jù)緩存ucharxdata*adc_ADR; //定義AD地址指針unsignedinttemperature; //定義整數(shù)型溫度變量//位定義bdataFLAG_at_0x21; //位地址空間變量sbitALARMU=FLAG^0; //溫度超過上限報(bào)警標(biāo)志位sbitALARMD=FLAG^1; //溫度超過下限報(bào)警標(biāo)志位sbitEOC=P1^0; //AD轉(zhuǎn)換完畢標(biāo)志位sbitALARM=P1^1; //報(bào)警控制位sbitHEAT=P1^2; //電爐控制位
sbitRED=P1^3; //紅色發(fā)光管控制位sbitGREEN=P1^4; //綠色發(fā)光管控制位//函數(shù)定義unsignedintadc_pro(void); //數(shù)據(jù)采集子函數(shù)voidHextoBCD(unsignedinthex_result); //二進(jìn)制轉(zhuǎn)
換成BCD碼子函數(shù)voiddisp(void); //顯示子函數(shù)voiddelay(void); //延時(shí)子函數(shù)unsignedcharcodeDiscode[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0~F字形碼碼表
{ALARM=0; //清除聲音報(bào)警
ALARMU=0; //清除上限報(bào)警
ALARMD=0; //清除下限報(bào)警
HEAT=1; //電爐關(guān)
GREEN=0; //綠燈亮
RED=1; //紅燈滅
SP=0x5F; //設(shè)置堆棧值while(1){temperature=adc_pro(); //采集溫度值,并進(jìn)行判斷if(ALARMD==1) //低于溫度下限處理
{HEAT=0; //電爐開,加熱
RED=0; //紅燈亮GREEN=1; //綠燈滅
ALARM=1; //聲音報(bào)警
}if(ALARMU==1) //超過溫度上限進(jìn)行處理
{HEAT=1; //電爐關(guān),不加熱ALARM=1; //聲音報(bào)警
RED=0; //紅燈亮GREEN=1; //綠燈滅
}if(ALARMD|ALARMU==0) //溫度沒有超范圍進(jìn)行處理
{HEAT=1; //電爐關(guān),不加熱RED=1; //紅燈滅GREEN=0; //綠燈亮}
HextoBCD(temperature); //十六進(jìn)制溫度值轉(zhuǎn)為BCD碼
DISBUF[3]=0x0C;//把字母C在字形碼表位置放在顯示緩存3中
disp(); //數(shù)碼管上顯示溫度值
}while(1);}下面分別介紹各子函數(shù)。1.溫度采集子函數(shù)unsignedintadc_pro(void){ unsignedchartemp1; //定義一個(gè)無符號(hào)字符型變量unsignedinttemp_adult; //定義一個(gè)無符號(hào)整型變量adc_ADR=&ADC0809_IN0; //取ADC零通道地址*adc_ADR=0; //向ADC寫入數(shù)據(jù),啟動(dòng)AD采集while(EOC==1); //等待EOC為低while(EOC==0); //等待A/D轉(zhuǎn)換完畢temp1=*adc_ADR; //讀取采集結(jié)果放入temp1中
if(temp1>TMAX)ALARMU=1; //如果溫度值超過上限,高溫報(bào)警位置1else ALARMU=0; //否則清零
if(temp1<TMIN)ALARMD=1; //如果溫度值低于下限,低溫報(bào)警置1else ALARMD=0; //否則清零
temp_adult=temp1*999; //溫度電壓值變?yōu)闇囟戎?/p>
temp_adult=temp_adult/255;return(temp_adult); //返回溫度的十六進(jìn)制值}
voidHextoBCD(unsignedinthex_result){DISBUF[0]= (uchar)((hex_result%1000)/100); //取得百位數(shù)值DISBUF[1]= (uchar)((hex_result%100)/10); //取得十位數(shù)值DISBUF[2]= (uchar)(hex_result%10); //取得個(gè)位數(shù)值}2.二進(jìn)制變換為BCD碼子函數(shù)3.顯示子函數(shù)voiddisp(void){unsignedchari,j,m,dis_data;for(j=0;j<250;j++){m=0xfe; //設(shè)位選字初始值for(i=0;i<4;i++){LEDS=m;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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年度個(gè)人發(fā)明專利獨(dú)占許可合同范本3篇
- 2025年度個(gè)人旅游定制服務(wù)合同19篇
- 《財(cái)政與金融(第2版)》 課件 第十三章國際金融
- 二零二五年度打磨工勞動(dòng)爭(zhēng)議調(diào)解合同3篇
- 池州安徽池州石臺(tái)縣消防救援大隊(duì)招聘3人筆試歷年參考題庫附帶答案詳解
- 曲靖云南曲靖富源縣公安局交通警察大隊(duì)指揮中心招聘警務(wù)輔助人員筆試歷年參考題庫附帶答案詳解
- 2025年滬教版選擇性必修1物理下冊(cè)階段測(cè)試試卷
- 成都四川成都市雙流區(qū)黃龍溪學(xué)校招聘教師3人筆試歷年參考題庫附帶答案詳解
- 廣州2025年廣東茂名化州市社會(huì)治安綜合治理中心選聘工作人員6人筆試歷年參考題庫附帶答案詳解
- 2025年統(tǒng)編版選修3生物上冊(cè)月考試卷含答案
- 2024年安全教育培訓(xùn)試題附完整答案(奪冠系列)
- 神農(nóng)架研學(xué)課程設(shè)計(jì)
- 文化資本與民族認(rèn)同建構(gòu)-洞察分析
- 2025新譯林版英語七年級(jí)下單詞默寫表
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開大學(xué))爾雅章節(jié)測(cè)試網(wǎng)課答案
- 《錫膏培訓(xùn)教材》課件
- 斷絕父子關(guān)系協(xié)議書
- 福建省公路水運(yùn)工程試驗(yàn)檢測(cè)費(fèi)用參考指標(biāo)
- 2024年中國工業(yè)涂料行業(yè)發(fā)展現(xiàn)狀、市場(chǎng)前景、投資方向分析報(bào)告(智研咨詢發(fā)布)
- 自然科學(xué)基礎(chǔ)(小學(xué)教育專業(yè))全套教學(xué)課件
- 《工程勘察資質(zhì)分級(jí)標(biāo)準(zhǔn)和工程設(shè)計(jì)資質(zhì)分級(jí)標(biāo)準(zhǔn)》
評(píng)論
0/150
提交評(píng)論