




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第12章嵌入式應用系統的設計與開發
教學目的:了解應用系統設計過程,開發工具和開發方法,學會KeilC51集成開發環境的使用,掌握具體的應用系統的開發方法。教學重點:1.應用系統設計過程;
2.掌握一種開發工具和開發方法,
3.學會使用KeilC51集成開發環境。教學難點:1.具體的應用系統的開發方法。
12.1應用系統設計過程
12.1.1總體方案設計
1.確定系統的設計方案和技術指標2.選擇機型3.硬件和軟件功能的選擇與配合12.1.2硬件設計1.存儲器2.選擇擴展外圍芯片3.測控通道外圍設備和電路的配置4.硬件可靠性設計
圖12.1典型單片機測控系統框圖12.1.3軟件設計1.系統定義2.程序設計3.軟件可靠性設計(1)指令冗余技術(2)軟件陷阱(3)看門狗(WDT)技術
12.2開發工具和開發方法
12.2.1開發工具
1.仿真器
圖12.2單片機仿真系統連接示意圖2.調試器
圖12.3單片機調試器連接示意圖
12.2.2單片機的開發方法1.硬件調試2.軟件調試圖12.4水塔水位控制原理圖12.3單片機用于水位控制系統
12.3.1題目分析12.3.2硬件設計
圖11.5水塔水位控制電路原理圖
主程序清單如下:ORG 0000HLJMP LOOPORG0100HLOOP:ORLP1,#03H;為檢查水位狀態作準備
MOVA, P1 ;讀入狀態信號
JNBACC.0,ONE;P1.0=0則轉ONEJB ACC.1,TWO;P1.1=1則轉TWOBACK:ACALLD10S;調延時10秒子程序(略)
SJMPLOOPONE:JNBACC.1,THREE;P1.1=0則轉
CLRP1.3;P1.3
0,啟動報警裝置
SETBP1.2;P1.2
1,停止電機工作FOUR:SJMPFOUR;等待處理THREE:CLRP1.2;啟動電機工作
SJMPBACKTWO:SETBP1.2;停止電機工作
SJMPBACK12.4恒溫箱溫度控制監測系統
要求設計一個恒溫箱溫度測控報警系統,恒溫箱由電爐加熱,要求溫度控制在80度左右,當溫度在78~82度時綠色指示燈亮,當溫度超過82度或低于78度時,紅色指示燈亮,并且發出報警聲。當溫度超過82度關閉電爐,而當溫度低于68度,接通電爐加熱。要求用4個數碼管顯示,前三位數碼管顯示溫度,溫度顯示范圍為00.0~99.9度,數碼管的最后一位顯示“C”。12.4.1題目分析溫度傳感器的線性工作范圍為0~100℃,工作范圍內對應的輸出電壓是0~5V,則當采用8位的A/D轉換器對傳感器的輸出電壓量化時,量化值0~255對應的輸入電壓范圍為0~5V,如果要顯示實際溫度值,經過A/D轉換后的值還需要進行物理量與數字量的變換,通常稱為標度變換。對于本例題的情況,標度變換值應該為B=99.9℃/255,如果A/D采集的數字值用D表示,則變換后的溫度值為T=D×B,這就是準備顯示的數字量。
12.4.2硬件設計
圖11.6電爐溫度監控系統原理圖
12.4.4軟件設計
圖12.7溫度采集系統組成框圖
C51語言主程序清單如下:#include<reg51.h> //包含51寄存器#include<absacc.h> //包含宏定義庫,可訪問絕對地址#defineucharunsignedchar //定義變量#defineTMAX209 //82度時對應的AD轉換器值#defineTMIN199 //78度時對應的AD轉換器值#defineADC0809_IN0XBYTE[0x0DFF8] //ADC0809IN0地址#defineLEDCXBYTE[0xBFFF] //LED段碼地址#defineLEDSXBYTE[0x7FFF] //LED位碼地址 ucharDISBUF[4]_at_0x40; //顯示數據緩存ucharxdata*adc_ADR; //定義AD地址指針unsignedinttemperature; //定義整數型溫度變量//位定義bdataFLAG_at_0x21; //位地址空間變量sbitALARMU=FLAG^0; //溫度超過上限報警標志位sbitALARMD=FLAG^1; //溫度超過下限報警標志位sbitEOC=P1^0; //AD轉換完畢標志位sbitALARM=P1^1; //報警控制位sbitHEAT=P1^2; //電爐控制位
sbitRED=P1^3; //紅色發光管控制位sbitGREEN=P1^4; //綠色發光管控制位//函數定義unsignedintadc_pro(void); //數據采集子函數voidHextoBCD(unsignedinthex_result); //二進制轉
換成BCD碼子函數voiddisp(void); //顯示子函數voiddelay(void); //延時子函數unsignedcharcodeDiscode[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0~F字形碼碼表
{ALARM=0; //清除聲音報警
ALARMU=0; //清除上限報警
ALARMD=0; //清除下限報警
HEAT=1; //電爐關
GREEN=0; //綠燈亮
RED=1; //紅燈滅
SP=0x5F; //設置堆棧值while(1){temperature=adc_pro(); //采集溫度值,并進行判斷if(ALARMD==1) //低于溫度下限處理
{HEAT=0; //電爐開,加熱
RED=0; //紅燈亮GREEN=1; //綠燈滅
ALARM=1; //聲音報警
}if(ALARMU==1) //超過溫度上限進行處理
{HEAT=1; //電爐關,不加熱ALARM=1; //聲音報警
RED=0; //紅燈亮GREEN=1; //綠燈滅
}if(ALARMD|ALARMU==0) //溫度沒有超范圍進行處理
{HEAT=1; //電爐關,不加熱RED=1; //紅燈滅GREEN=0; //綠燈亮}
HextoBCD(temperature); //十六進制溫度值轉為BCD碼
DISBUF[3]=0x0C;//把字母C在字形碼表位置放在顯示緩存3中
disp(); //數碼管上顯示溫度值
}while(1);}下面分別介紹各子函數。1.溫度采集子函數unsignedintadc_pro(void){ unsignedchartemp1; //定義一個無符號字符型變量unsignedinttemp_adult; //定義一個無符號整型變量adc_ADR=&ADC0809_IN0; //取ADC零通道地址*adc_ADR=0; //向ADC寫入數據,啟動AD采集while(EOC==1); //等待EOC為低while(EOC==0); //等待A/D轉換完畢temp1=*adc_ADR; //讀取采集結果放入temp1中
if(temp1>TMAX)ALARMU=1; //如果溫度值超過上限,高溫報警位置1else ALARMU=0; //否則清零
if(temp1<TMIN)ALARMD=1; //如果溫度值低于下限,低溫報警置1else ALARMD=0; //否則清零
temp_adult=temp1*999; //溫度電壓值變為溫度值
temp_adult=temp_adult/255;return(temp_adult); //返回溫度的十六進制值}
voidHextoBCD(unsignedinthex_result){DISBUF[0]= (uchar)((hex_result%1000)/100); //取得百位數值DISBUF[1]= (uchar)((hex_result%100)/10); //取得十位數值DISBUF[2]= (uchar)(hex_result%10); //取得個位數值}2.二進制變換為BCD碼子函數3.顯示子函數voiddisp(void){unsignedchari,j,m,dis_data;for(j=0;j<250;j++){m=0xfe; //設位選字初始值for(i=0;i<4;i++){LEDS=m;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒工作計劃 個人
- 2025股權轉讓專項法律服務合同
- 2025版辦公室裝修合同范本
- 2025二手商品交易合同書模板
- 混凝土強度驗收
- 2025設備租賃合同示范文本
- 寶馬三系改色施工方案
- 凍品采購合同樣本
- 行業發展計劃推動技術創新
- 低價沙發轉讓合同樣本
- 新人教版七年級下冊語文現代文閱讀理解及答案
- Matlab在信息光學中的應用課件
- 全國網信系統網絡安全協調指揮技術系統建設指南
- 人教版小學語文1-6年級古詩詞目錄-按年級
- 五年級下冊語文第五單元《形形色色的人》習作一等獎創新教學設計
- WORD文檔標題格式模板(五級標題)
- 液壓系統符號
- 中考化學專題考點訓練提升19 氣體的制備(解析版)
- 高金英講座完整版
- 公路水運試驗檢測-水運結構與地基基樁高應變和低應變反射波
- 高考歷史考點命題雙向細目表(很實用)
評論
0/150
提交評論