版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、溫度巡檢儀源程序/*內(nèi)存分配定義*/TIME_CONT EQU 33H /* 定時時間 */ TIME_COUNT EQU 34H /*100ms 中斷次數(shù) */KEY_CODE EQU 35H /* 按鍵代碼 */KEY_VAL EQU 36H /*按鍵數(shù)值 */CHAN_NUM EQU 37H /*當前采樣通道號*/SAMP_NUM EQU 38H /*采樣次數(shù) */CHAN_NUM1 EQU 39H /*當前顯示通道號 */TEMPI EQU 40H /*1 通道溫度 */TEMP2 EQU 41H /*2 通道溫度 */TEMP3 EQU 42H /*3 通道溫度 */TEMP4 EQ
2、U 43H /*4 通道溫度 */TEMP5 EQU 44H /*5 通道溫度 */TEMP6 EQU 45H /*6 通道溫度 */TEMP7 EQU 46H /*7 通道溫度 */TEMP8 EQU 47H /*8 通道溫度 */10次采樣最大值*/ 10次采樣最小值*/10次采樣累加值高位 10次采樣累加值低位*/*/8次采樣平均值*/SAMP_MAX EQU 48H /* 當前通道 SAMP_MIN EQU 49H /* 當前通道 SAMP_SUMH EQU 4AH 當 前通道 SAMP SUML EQU 4BH /當前通道SAMP AVG EQU 4CH /*當前通道去掉最大值和最小
3、值后SAMP_VAL EQU 4DH /*當前通道采樣值*/TEMP_VAL EQU 4EH /*當前通道溫度值*/DIS_BUF1 EQU 50H /* 顯示緩沖區(qū) 1*/DIS_BUF2 EQU 51H /* 顯示緩沖區(qū) 2*/DIS_BUF3 EQU 52H /* 顯示緩沖區(qū) 3*/DIS_BUF4 EQU 53H /* 顯示緩沖區(qū) 4*/DIS_BUF5 EQU 54H /* 顯示緩沖區(qū) 5*/DIS_BUF6 EQU 55H /* 顯示緩沖區(qū) 6*/DIS_NUM EQU 57H /*顯示通道號寄存器*/DIS_CONH EQU 58H /*CH451 操作命令高位 */DIS_CO
4、NL EQU 59H /*CH451 操作命令低位 */ST_FLAG BIT 20H.0 /*XJ_FLAG BIT 20H.1 /*KEY_FLAG BIT 20H.2 /*T_1S BIT 20H.3 /*1SAMP_1 BIT 20H.4SAMP END10 BIT 20H.5 /*10系統(tǒng)啟動標志*/ 巡回檢測標志*/ 有鍵按下標志*/秒時間到*/次采樣結束標志*/SAMP_N01 BIT 20H.6 /* 每通道采樣開始標志 */ DD_FLAG BIT 20H.7 /*定點檢測標志 */CHAN_ADDO EQU 0FF80H /*溫度檢測通道首地址 */ AD_ADD0 EQU
5、 0FE00H /*AD 通道首地址 */AD END BIT P3.2 /*ADDIS_DOUT BIT P3.3 /*DIS_LOAD BIT P1.0 /*DIS_DIN BIT P1.1 /*DIS_DCLK BIT P1.2 /*ORG 0000H轉換結束標志*/ 按鍵輸入*/ 命令輸入有效*/ 顯示命令輸出*/ 顯示時鐘輸出*/START: LJMP MAINORG 0003H /*ADNOP轉換結束中斷入口*/NOPNOPNOPLJMP ERRORG 000BH /*LJMP TIME0NOPNOPLJMP ERRORG 0013H /*LJMP KEY_INNOPNOPLJMP
6、 ERR定時器0中斷入口 */鍵盤中斷入口 */ORG 0040HMAIN: MOV SP,#60HMOV TMOD,#21H /*MOV TH0,#3CH /*MOV TL0,#0AFHMOV TH1,#0FDH /*MOV TL1,#0FDHMOV SCON,#01000000B /*定時器0為方式1工作,定時器2為方式2工作*/定時器0定時值為500ms*/通信波特率為4800b/s*/串口方式為工作方式1*/MOV A,30HCJNE A,#0AAH,NRAMMOV A,31HCJNE A,#55H,NRAMSJMP DISP_INITNRAM: MOV R0, #7FH/*判斷是否上
7、電復位*/*RAM 低 128B 清零 */串口方式設為四線制*/定時時間設為100毫秒*/ 鍵盤中斷設為邊沿觸發(fā)方式 */ 鍵盤中斷設為高優(yōu)先級*/ 允許定時器0中斷*/開中斷*/啟動定時器0*/快速檢測1通道溫度值*/采樣一次*/采完10次*/設定顯示參數(shù),不譯碼,掃描6位*/設定系統(tǒng)參數(shù),啟用顯示及鍵盤功能*/NRAM1: MOV R0,#00HDJNZ R0,NRAM1置上電標志*/MOV 30H,#0AAH/*MOV 31H,#55HNOPNOPDISP_INIT:NOPMOV 20H,#00H/*內(nèi)部狀態(tài)位清零*/MOV DIS_BUF1,#0111001BMOV DIS_BUF2
8、,#1110011BMOV DIS_BUF3,#0111110BMOV DIS_BUF4,#1000000BMOV DIS_BUF5,#1101101BMOV DIS_BUF6,#0000110B /*cpu-51寫入顯示緩沖區(qū) */SETB DIS_DIN /*CH451NOPNOPCLR DIS_DINNOPNOPSETB DIS_DINMOV TIME_CONT,#1HMOV SAMP_NUM,#00HMOV CHAN_NUM,#00HMOV CHAN_NUM1,#01HMOV TIME_COUNT,TIME_CONT/* TOC o 1-5 h z SETB IT1/*SETB PX1
9、/*SETB ET0/*SETB EA/*SETB TR0/*SETB SAMP_NO1MOV SAMP_NUM,#00HMAIN1: JNB T_1S,MAIN1 /*CLR T_1SLCALL SAMP/*MAIN2: JNB SAMP_END10,MAIN1 /*CLR SAMP_END10MOV DIS_CONH,#5H /*MOV DIS_CONL,#60HLCALL DISP_WRITEMOV DIS_CONH,#4H /*MOV DIS_CONL,#03HLCALL DISP WRITELCALL DISP_OUT /*CLR EASETB EX1SETB EAWAIT: JNB
10、 KEY_FLAG,WAITCLR KEY_FLAGMOV A,KEY_VALCJNE A,#8,WAIT1SETB ST_FLAGWAIT1: JNB ST_FLAG,WAIT /*/*巡檢儀主程序*/CLR EX1/*MOV DIS_CONH,#O4H /*MOV DIS_CONL,#02HLCALL DISP_WRITEMOV DIS_CONH,#5H /*MOV DIS_CONL,#0E0HLCALL DISP_WRITEMOV CHAN_NUM,#00HLCALL DISP_OUT /*MOV DIS_CONH,#4H /*MOV DIS_CONL,#03HLCALL DISP_WR
11、ITECLR EASETB EX1/*SETB EA顯示“ CPU- 51” */系統(tǒng)是否啟動*/關鍵盤中斷*/ 關顯示器*/譯碼方式轉為BCD方式*/輸出顯示數(shù)據(jù)*/ 開顯示器*/開鍵盤中斷*/MOV TIME_CONT,#0AH /*MOV TIME_COUNT,TIME_CONTMOV CHAN_NUM,#01H /*SETB XJ_FLAG /*SETB SAMP_NO1CLR SAMP_END10SETB TR1/*定時時間設為1秒*/初始化檢測通道,從第2通道開始*/ 設為巡回檢測狀態(tài)*/啟動定時器1*/*主循環(huán)程序*/MAIN_LOOP: JNB KEY_FLAG,MAIN_LO
12、OP3CLR KEY_FLAG/*MOV A,KEY_VALSETB EX1/*CJNE A,#8,MAIN_LOOP2 /*JNB DD_FLAG,MAIN_LOOP1 /*SETB XJ_FLAG/*CLR DD_FLAG/*MOV CHAN_NUM,#00H/*MOV SAMP_NUM,#00H/*是否有鍵按下*/處理鍵盤命令*/開鍵盤中斷*/是啟動鍵? */當前狀態(tài)是定點檢測方式*/改為巡檢方式*/清除定點標志*/從1通道開始工作*/SETB SAMP_N01LCALL DISP_OUT/*顯示輸出 */MAIN_L00P1: SJMP MAIN_L00P3MAIN_L00P2: CL
13、R XJ_FLAG/*SETB DD_FLAG/*M0V SAMP_NUM,#OOHSETB SAMP_N01MOV CHAN_NUM,KEY_VAL /*LCALL DISP_OUT/*MAIN_LOOP3: JNB T_1S,MAIN_LOOP7 /*1LCALL SAMP/*CLR T_1SJNB SAMP_END10,MAIN_LOOP7 /*MOV SAMP_NUM,#00HCLR SAMP_END10如為1 8鍵值則清除巡檢標志*/ 改為定點檢測方式*/將按鍵值寫入當前通道寄存器*/顯示該通道溫度值*/秒時間到*/啟動AD轉換*/采完10次*/顯示溫度值*/ 巡檢標志置位*/ 當前
14、通道號加1*/當前通道號為8*/當前通道號復歸為1號*/調(diào)用串口發(fā)送程序*/SETB SAMP_NO1 TOC o 1-5 h z LCALL DISP_OUT/*JNB XJ_FLAG,MAIN_LOOP7 /*MOV A,CHAN_NUM/*ADD A,#1MOV CHAN_NUM,ACJNE A,#8H,MAIN_LOOP7 /*MOV A,#00H/*MOV CHAN_NUM,AMAIN_LOOP7: LCALL SEND/*LJMP MAIN_LOOP/*數(shù)據(jù)采樣子程序*/SAMP: PUSH ACCPUSH PSWSETB RS0MOV A,CHAN_NUMMOV DPTR ,#C
15、HAN_ADD0 /*輸出溫度檢測通道,發(fā)采樣脈沖*/ADD A,DPLMOV DPL,AMOVX DPTR,ANOPNOPMOV A,CHAN_NUMMOV DPTR,#AD_ADD0 /*根據(jù)通道號計算出對應的AD地址*/ADD A,DPLMOV DPL,AMOVX DPTR,A /* 啟動 AD轉換器 */NOPNOPNOPSAMP1: JB AD_END,SAMP1 MOVX A,DPTR/*INC SAMP_NUM/*/*JNB SAMP_NO1,SAMP2 /* MOV SAMP_SUMH,#00H /*10等待AD轉換結束*/讀AD轉換值*/采樣次數(shù)加1*/ 是否首次采樣*/次累
16、加和賦初值*/MOV SAMP_SUML,AMOV SAMP_MAX,A /*MOV SAMP_MIN,A /*CLR SAMP_NO1SJMP SAMP4SAMP2:MOV SAMP_VAL,AADD A,SAMP_SUMLMOV SAMP_SUML,A CLR AADDC A,SAMP_SUMH MOV SAMP_SUMH,A MOV A,SAMP_VAL /* CLR CSUBB A,SAMP_MAXJC SAMP3MOV A,SAMP_VAL /* MOV SAMP_MAX,A SJMP SAMP4SAMP3: MOV A,SAMP_VALCLR CSUBB A,SAMP_MINJNC
17、 SAMP4MOV A,SAMP_VAL /*MOV SAMP_MIN,ASAMP4: MOV A,SAMP_NUMCJNE A,#0AH,SAMP5 /* /*最大值賦初值*/最小值賦初值*/*每次采樣值累加*/當前采樣值是否為最大值?*/更新最大值*/*當前采樣值是否為最小值?*/更新最小值*/去極值平均算術數(shù)字濾波CLR C/*MOV A,SAMP_SUML SUBB A,SAMP_MAX XCH A,SAMP_SUMH SUBB A,#00HXCH A,SAMP_SUMH /* SUBB A,SAMP_MIN MOV SAMP_SUML,A是否采樣完10次*/*/從累加和中減去最大值*
18、/再從累加和中減去最小值 */MOV A,SAMP_SUMHSUBB A,#00HSWAP A /*RL AXCH A,SAMP_SUMLSWAP ARL AADD A,#80H/*ANL A,#1FHADDC A,SAMP_SUML MOV SAMP_AVG,A /*SETB SAMP_END10SJMP SAMP6SAMP5: AJMP SAMP8 /*采樣值轉為溫度值*/SAMP6: MOV R2,#00HMOV R3,SAMP_AVGMOV R6,#0C7H /* r6r7MOV R7,#6CHMOV A,R3 /* r3*r6r7MOV B,R7MUL ABMOV R4,BMOV R
19、5,AMOV A,R3MOV B,R6MUL ABADD A,R4MOV R4,ACLR AADDC A,BMOV R3,AMOV A,R2MOV B,R7MUL ABADD A,R4MOV R4,AMOV A,R3ADDC A,BMOV R3,ACLR ARLC AXCH A,R2MOV B,R6剩余數(shù)值除以8*/結果四舍五入*/保存去極值平均濾波后的最終采樣值*/為定點小數(shù)0.779*/小數(shù)部分四舍五入取整*/MUL ABADD A,R3MOV R3,AMOV A,R2ADDC A,BMOV R2,AMOV A,R4JNB ACC.7,SAMP7INC R3CJNE R3,#0,SAMP7
20、INC R2SAMP7: MOV TEMP_VAL,R3 /* 將溫度值存入 TEMP_VAL*/MOV A,CHAN_NUMMOV R0,#TEMP1ADD A,R0MOV R0,AMOV RO,TEMP_VALSAMP8: CLR RS0POP PSWPOP ACCRET/*溫度值顯示子程序*/DISP_OUT: PUSH ACCPUSH PSWPUSH BPUSH OOHJNB ST_FLAG,DISP_OUT0 /*系統(tǒng)在工作狀態(tài),將溫度值寫入顯示緩沖區(qū)*/MOV A,CHAN_NUMADD A,#1HMOV CHAN_NUM1,AMOV A,CHAN_NUMMOV R1,#TEMP1
21、ADD A,R1MOV R1,A/*將溫度值轉為三位 BCD碼,存入R3, A, B*/MOV A,R1MOV B,#100DIV ABMOV R3,AMOV A,#10XCH A,BDIV ABMOV DIS_BUF1,CHAN_NUM1 /*顯示通道號 */MOV DIS_BUF2,#10010B /*顯示“_”*/MOV DIS_BUF3,#00H/*顯示溫度千位*/MOV DIS_BUF4,R3/*顯示溫度百位*/MOV DIS_BUF5,A/*顯示溫度十位*/MOV DIS_BUF6,B/*顯示溫度個位*/*數(shù)據(jù)顯示輸出*/DISP_OUTO: MOV R1,#7H /* 顯示位數(shù)為
22、 6 位*/MOV R2,#0DH /*從左至右開始描掃 */MOV R0,#50H /*顯示區(qū)首址*/DISP_OUT1: MOV DIS_CONL,ROMOV A,R2ORL A,#8HMOV DIS_CONH,AACALL DISP_WRITE /*將數(shù)據(jù)寫入顯示芯片 */INC RODEC R2DJNZ R1,DISP_OUT1 /*共寫 6 位數(shù)據(jù) */POP 00HPOP BPOP PSWPOP ACCRET/*顯示芯片命令寫入子程序 */DISP_WRITE: PUSH ACCPUSH BPUSH 07HPUSH 00HCLR EX1CLR DIS_LOADMOV R7,#08H
23、MOV A,DIS_CONLMOV B,DIS_CONHDISP_WRITE8: RRC ACLR DIS_DCLKNOPNOPMOV DIS_DIN,CNOPNOPSETB DIS_DCLKDJNZ R7,DISP_WRITE8MOV A,BMOV R7,#04HDISP_WRITE4: RRC ACLR DIS_DCLKNOPNOPMOV DIS_DIN,CNOPNOPSETB DIS_DCLKDJNZ R7,DISP_WRITE4NOPNOPSETB DIS_LOADSETB EX1POP OOHPOP 07HPOP BPOP ACCRET/*鍵盤中斷程序*/KEY_IN: PUSH P
24、SWPUSH ACCPUSH DPHPUSH DPLPUSH 06HCLR EX1MOV SAMP_NUM,#00HCLR DIS_LOADMOV A,#07HMOV R7,#04HDIS_READ4: RRC A/*發(fā)送讀鍵碼命令*/CLR DIS_DCLKNOPNOPMOV DIS_DIN,CNOPNOPSETB DIS_DCLKDJNZ R7,DIS_READ4SETB DIS_LOADCLR AMOV R7,#07HDIS_READ7: MOV C,DIS_DOUT /* 讀出鍵碼 */CLR DIS_DCLKRLC ASETB DIS_DCLKDJNZ R7,DIS_READ7CLR IE1MOV KEY_CODE,ASUBB A,#40HMOV KEY_VAL,ASETB KEY_FLAGSETB EX1POP 06HPOP DPLPOP DPH
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小額貸款公司金融消費者權益保護考核試卷
- 二零二五年度瓷磚施工環(huán)保驗收標準合同3篇
- 二零二五年度智能冷庫建設及設備采購合同4篇
- 2025年外研版三年級起點九年級歷史上冊月考試卷含答案
- 2025年浙科版選修6歷史下冊月考試卷含答案
- 年產(chǎn)5300萬套制冷壓縮機配套零件項目可行性研究報告寫作模板-申批備案
- 2025年冀少新版高三歷史下冊階段測試試卷含答案
- 2025年蘇人新版必修3生物上冊階段測試試卷含答案
- 2025年統(tǒng)編版2024八年級語文下冊階段測試試卷含答案
- 2025年冀少新版必修1歷史下冊月考試卷含答案
- 經(jīng)營范圍登記規(guī)范表述目錄(試行)(V1.0.2版)
- 阿里商旅整體差旅解決方案
- 浙江天臺歷史文化名城保護規(guī)劃說明書
- 邏輯思維訓練500題
- 第八講 發(fā)展全過程人民民主PPT習概論2023優(yōu)化版教學課件
- 實體瘤療效評價標準RECIST-1.1版中文
- 企業(yè)新春茶話會PPT模板
- GB/T 19185-2008交流線路帶電作業(yè)安全距離計算方法
- DIC診治新進展課件
- 公路工程施工現(xiàn)場安全檢查手冊
- 1汽輪機跳閘事故演練
評論
0/150
提交評論