版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、題目:智能傳感器設(shè)計(jì)1 設(shè)計(jì)要求發(fā)送方的adc模塊能夠隨時(shí)動(dòng)態(tài)采集模擬電壓的變化,即使用a/d轉(zhuǎn)換芯片tlc549cp對模擬電壓進(jìn)行數(shù)字轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果處理為三位十進(jìn)制數(shù)(000-255)通過zlg7290b進(jìn)行顯示;可設(shè)定上限報(bào)警;且報(bào)警值可用鍵盤修改,修改報(bào)警值時(shí),修改位閃爍,且顯示上一次的報(bào)警值并保存。2 設(shè)計(jì)分析及系統(tǒng)方案設(shè)計(jì)這是一個(gè)利用具有數(shù)據(jù)濾波功能的adc轉(zhuǎn)換程序,使用8位tlc549芯片、蜂鳴器等,將采集出來的數(shù)據(jù)轉(zhuǎn)換成三位十進(jìn)制數(shù)穩(wěn)定輸出,并通過zlg7290b顯示的程序。其中,設(shè)定上限報(bào)警值,即通過改變模擬電壓輸入,達(dá)到上限值后響鈴報(bào)警,且可修改上限報(bào)警值。首先是主程序,
2、開中斷并進(jìn)行7290復(fù)位,設(shè)定初始報(bào)警值100,建立顯示緩沖區(qū)(40h-47h)并顯示”adc=”,采集tlc549的n個(gè)數(shù)據(jù)并存放于20h開始的單元中,調(diào)adjust進(jìn)行數(shù)據(jù)濾波,結(jié)果存于a中;調(diào)alarm進(jìn)行報(bào)警判斷:若大于設(shè)定報(bào)警值,則蜂鳴器響;調(diào)bcd_cont,將a中的數(shù)據(jù)拆分、查表并送顯示緩沖區(qū)的低兩位,以備顯示用;調(diào)wrnbyt,將顯示緩沖區(qū)中的數(shù)據(jù)寫入7290b,以十進(jìn)制的方式顯示adc的結(jié)果;調(diào)延時(shí)子程序。子程序主要有利用蜂鳴器報(bào)警、采集n個(gè)數(shù)據(jù)、數(shù)據(jù)濾波、二進(jìn)制轉(zhuǎn)換成十進(jìn)制并顯示(其中包括拆分);還有一個(gè)中斷程序,由硬件int_0控制,通過鍵值的修改實(shí)現(xiàn)對報(bào)警值的調(diào)整。當(dāng)按
3、“e”時(shí),進(jìn)入報(bào)警值修改,數(shù)碼管顯示當(dāng)前報(bào)警值并閃爍;繼續(xù)按百位、十位、個(gè)位輸入修改值,每輸入一位,該位不閃爍,輸入結(jié)束,將顯示在數(shù)碼管后三位,再按“f”即返回原模擬量對應(yīng)值,且報(bào)警值已修改。另外加有容錯(cuò)功能,即當(dāng)輸入值大于255時(shí),直接默認(rèn)將報(bào)警值修改為2553系統(tǒng)電路圖at89c51 p1.0 p1.1 p1.7(/int0) p3.2 p1.2p1.3p1.4p1.5zlg7290bsdasck/rst/int_keytlc549vccref+clk anindat ref-/cs gnd10k855047k103buzzic總線ref+ jk158 vcc vccanin jk159w
4、2buzzjk624 外圍接口模塊硬件電路功能描述(1)zlg7290:數(shù)碼管動(dòng)態(tài)顯示驅(qū)動(dòng),鍵盤掃描管理芯片(2)tcl549cp:cmos 8位a/d轉(zhuǎn)換器(3) 蜂鳴器:利用定時(shí)/計(jì)數(shù)器輸出一個(gè)特定頻率的方波并驅(qū)動(dòng)蜂鳴器發(fā)聲5 主程序中主要變量定義變量名稱ram單元/寄存器功能addr20h數(shù)據(jù)緩沖區(qū)首地址/60h存放報(bào)警值disda40h顯示個(gè)位disda+141h顯示十位disda+242h顯示百位disda+343h無顯示disda+444h顯示符號“=”disda+545h顯示符號“c”disda+646h顯示符號“d”disda+747h顯示符號“a”6系統(tǒng)軟件中各個(gè)子程序的功能
5、描述子程序名稱入口參數(shù)出口參數(shù)功能 描述alarm/p1.5實(shí)現(xiàn)報(bào)警響鈴tlc549累加器a20h-2fh連續(xù)采集32次數(shù)據(jù)adjust20h-2fh累加器a數(shù)據(jù)濾波bcd_cont累加器ar3轉(zhuǎn)換成十進(jìn)制數(shù)tlc549_adcp1.3累加器aa/d轉(zhuǎn)換rdkey1fh累加器a獲取到的鍵值cf累加器ar3將數(shù)據(jù)拆分為兩個(gè)獨(dú)立的bcd碼并查表delay/延時(shí)flash1/后三位閃爍flash2/后兩位閃爍flash3/后一位閃爍flash4/后三位不閃爍7主程序及中斷程序流程圖主程序入口開中斷7290復(fù)位初始化報(bào)警值,建立顯示緩沖區(qū),顯示“adc=”采集32次a/d轉(zhuǎn)換數(shù)據(jù)數(shù)據(jù)濾波,取平均值調(diào)a
6、larm子程序轉(zhuǎn)化為十進(jìn)制7290數(shù)字顯示轉(zhuǎn)換值調(diào)延時(shí)子程序yyynnnnyynyn查詢按鍵?7290數(shù)字顯示報(bào)警值數(shù)碼管后三位閃爍e鍵?讀取鍵值中斷程序入口查詢按鍵?retif鍵?查詢按鍵?讀取鍵值,查表,7290顯示個(gè)位數(shù)碼管不閃爍輸入數(shù)據(jù)與r5、r6相加存于a中,并將a中值賦給60h輸入數(shù)據(jù)*10,存于r6中讀取鍵值,查表,7290顯示十位數(shù)碼管最后一位閃爍輸入數(shù)據(jù)*100,存于r5中讀取鍵值,查表,7290顯示百位數(shù)碼管后兩位閃爍查詢按鍵?8程序清單sdabitp1.0 ;7290b的引腳定義 sclbitp1.1 wslaequ070hrslaequ071hdatbitp1.3 ;t
7、lc549pc引腳定義clkbitp1.2csbitp1.4cuntequ20h ;每次adc采集數(shù)據(jù)個(gè)數(shù)shiftequ05h;除數(shù)(與采集數(shù)據(jù)個(gè)數(shù)有關(guān))addrequ20h ;數(shù)據(jù)緩沖區(qū)首地址disdaequ40h ;顯示緩沖區(qū)discuntequ08h;顯示緩沖區(qū)長度;#org8000hljmp8100horg8003hljmpint_7290;# ;主 程 序 ;(7290復(fù)位、顯示緩沖區(qū)初始化、連續(xù)采集n個(gè)數(shù)據(jù)、數(shù)據(jù)濾波) ;(十進(jìn)制調(diào)整/拆分/查表/送顯示緩沖區(qū),7290數(shù)碼顯示);#org8100hstart:movsp,#60hsetbea;開中斷setbex0setbit0c
8、lrp1.7 ;7290復(fù)位lcalldelaysetbp1.7mov60h,#64h;初始化報(bào)警值為100,放入60h地址中;顯示緩沖區(qū)處理,顯示 adc = movdisda+7,#0eeh ;a字形movdisda+6,#7ah ;d字形movdisda+5,#1ah ;c字形movdisda+4,#00h ;熄滅movdisda+3,#12h ;loop:lcalltlc549 ;采集n個(gè)adc數(shù)據(jù)(20h單元) lcalladjust ;數(shù)據(jù)濾波(屏蔽以觀察濾波效果) lcallalarm;調(diào)報(bào)警子程序lcallbcd_cont ;轉(zhuǎn)換為十進(jìn)制數(shù)movr7,#discuntmovr0
9、,#disdamovr2,#10hmovr3,#wslalcallwrnbyt ;7290數(shù)字顯示lcalldelaysjmploop;#;利用蜂鳴器實(shí)現(xiàn)報(bào)警;#alarm:push00hmovr0,#40h;蜂鳴器頻率movtmod,#10h;工作方式1movtl1,#33h;寫入計(jì)數(shù)初值movth1,#0fehcjnea,60h,next;判斷a與60h中數(shù)相減,無借位執(zhí)行nextnext:jncloop1;cy=0,執(zhí)行l(wèi)oop1sjmpnext1loop1:setbtr1jnbtf1,$clrtf1;清標(biāo)志位movtl1,#33h;重裝初值movth1,#0fehcplp1.5;取反d
10、jnzr0,loop1;循環(huán)r0次跳出next1:pop00hret;#; 各子程序;#tlc549:push00h ;連續(xù)采集32次數(shù)據(jù)push07h ;存放于20h-2fh中movr7,#cuntmovr0,#addrloop2:lcalltlc549_adc ;a/d轉(zhuǎn)換movr0,aincr0djnzr7,loop2pop07hpop00hret ;#adjust:push00h ;將20h開始的cunt個(gè)數(shù)據(jù)push02h ;求平均值push03h ;結(jié)果于a中push07hmovr7,#cuntmovr0,#addrclramovr2,aloop3:clrc;累加addc a,r0
11、jncloop4;沒有進(jìn)位跳至loop4incr2;r2中存進(jìn)位loop4:incr0djnzr7,loop3movr3,amova,r2 ;除以數(shù)據(jù)個(gè)數(shù)cuntmovr7,#shiftloop5:clrcmova,r2rrcamovr2,amova,r3rrcamovr3,adjnzr7,loop5pop07hpop03hpop02hpop00hret ;#tlc549_adc:;a/d轉(zhuǎn)換push07hclraclrclkmovr7,#08hclrcsloop6:setbclknopnopnopnopmovc,datrlcaclrclknopnopdjnzr7, loop6setbcsse
12、tbclkpop07hret ;#bcd_cont: push07hpush06hpush05hpush02hmovb,#64hdivabmovr7,a ;r7中得百位數(shù)movr2,b;r2中得余數(shù)mova,r2movb,#0ahdivabmovr6,a;r6中得十位數(shù)movr5,b;r5中得個(gè)位數(shù)mova,r7lcallcf;調(diào)拆分子程序(入口a出口r4,r3-字形碼)movdisda+2,r3;高位r4無用mova,r6lcallcf;調(diào)拆分子程序(入口a出口r4,r3-字形碼)movdisda+1,r3mova,r5lcallcf;調(diào)拆分子程序(入口a出口r4,r3-字形碼)movdis
13、da+0,r3pop02hpop05hpop06hpop07hret ;#cf:push02h ;將a中的數(shù)據(jù)拆分為兩個(gè)獨(dú)立的bcd碼并查表pushdphpushdplmovdptr,#ledsegmovr2,aanla,#0fhmovca,a+dptrmovr3,amova,r2swapaanla,#0fhmovca,a+dptrmovr4,apopdplpopdphpop02hret ;#delay:push00hpush01hmovr0,#00hdelay1:movr1,#01hdjnzr1,$djnzr0,delay1pop01hpop00hretledseg:db0fch,60h,0
14、dah,0f2h,66h,0b6h,0beh,0e4hdb0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh ret;#int_7290:push00hpush 01hpush02hpush03hpush04hpush05hpush06hpush07hpushaccpushpswlcallrdkey;讀取第一個(gè)按鍵值(功能鍵)cjnea,#0eh,down1 ;判斷是e鍵嗎?不是返回sjmp up;是e鍵時(shí)開始處理百位down1:ajmpdownup:mov a,60h;顯示60h中的數(shù)lcallbcd_cont;即前一次設(shè)定的報(bào)警值movr7,#03h;閃爍顯示movr0,
15、#40hmovr2,#10hmovr3,#wslalcallwrnbytlcalldelaylcallflash1jbp3.2,$;以查詢的方式等待下一次按鍵操作lcallrdkey;讀取第二個(gè)按鍵值(百位)movr1,amovdptr,#ledsegmovca,a+dptrmov42h,amovr7,#01hmovr0,#42hmovr2,#12hmovr3,#wsla;閃爍lcallwrnbyt ;7290數(shù)字顯示百位lcalldelaylcallflash2mova,r1movb,#64h;處理輸入的數(shù)據(jù)*100mulabmovr5,a;0-255之間的數(shù),取低位即可jbp3.2,$;以
16、查詢的方式等待下一次按鍵操作lcallrdkey;讀取第三個(gè)按鍵值(十位)movr1,amovca,a+dptrmov41h,amovr7,#01hmovr0,#41hmovr2,#11hmovr3,#wslalcallwrnbyt ;7290數(shù)字顯示lcalldelaylcallflash3;閃爍mova,r1movb,#0ah;處理輸入的數(shù)據(jù)*10mulabmovr6,a;取低位jbp3.2,$;以查詢的方式等待下一次按鍵操作lcallrdkey;讀取第四個(gè)按鍵值(個(gè)位)movr1,amovca,a+dptrmov40h,amovr7,#01hmovr0,#40hmovr2,#10hmov
17、r3,#wslalcallwrnbyt ;7290數(shù)字顯示lcalldelaylcallflash4;不閃爍mova,r1adda,r5;處理輸入的數(shù)據(jù),全部相加adda,r6mov60h,a;a賦值給60hjbp3.2,$;以查詢的方式等待下一次按鍵操作lcallrdkey;讀取第五個(gè)按鍵值(功能鍵)cjnea,#0fh,$;判斷是f鍵嗎?不是等待down:clrie0;清標(biāo)志poppswpopaccpop07hpop06hpop05hpop04hpop03hpop02hpop01hpop00hretiflash1:mov 48h,#70h ;后三位閃爍 mov49h,#07hmov50h,
18、#00hmovr7,#02hmov r0,#48hmovr2,#07hmovr3,#wslalcallwrnbyt movr7,#01hmovr0,#50hmovr2,#0chmovr3,#wslalcallwrnbytretflash2:mov 48h,#70h ;后兩位閃爍 mov49h,#03hmov50h,#00hmovr7,#02hmov r0,#48hmovr2,#07hmovr3,#wslalcallwrnbyt movr7,#01hmovr0,#50hmovr2,#0chmovr3,#wslalcallwrnbytretflash3:mov 48h,#70h ;最后一位閃爍 mov49h,#01hmov50h,#00hmovr7,#02hmov r0,#48hmovr2,#07hmovr3,#wslalcallwrnbyt movr7,#01hmovr0,#50hmovr2,#0chmovr3,#wslalcallwrnbytretflash4:mov 48h,#70h ;不閃爍 mov49h,#00hmov50h,#00hmo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合法的多人承包合同模板
- 2025租賃合同普通我方為承租人
- 2025切邊模具合同書
- 老屋修復(fù)技術(shù)在國內(nèi)外的發(fā)展現(xiàn)狀對比分析
- 2024年肛腸科醫(yī)院項(xiàng)目資金申請報(bào)告代可行性研究報(bào)告
- 探究學(xué)生自我監(jiān)控學(xué)習(xí)過程的有效策略
- 老年人用藥注意事項(xiàng)
- 二零二五年度電梯安裝工程安全防護(hù)設(shè)施采購合同2篇
- 2025年牛津譯林版必修3歷史上冊月考試卷
- 2025年魯科五四新版九年級地理上冊月考試卷含答案
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2024-2025學(xué)年八年級上學(xué)期1月期末物理試題(含答案)
- 商場電氣設(shè)備維護(hù)勞務(wù)合同
- 《妊娠期惡心嘔吐及妊娠劇吐管理指南(2024年)》解讀
- 2023年國家公務(wù)員錄用考試《行測》真題(行政執(zhí)法)及答案解析
- 全國教學(xué)設(shè)計(jì)大賽一等獎(jiǎng)英語七年級上冊(人教2024年新編)《Unit 2 Were Family!》單元教學(xué)設(shè)計(jì)
- 2024智慧醫(yī)療數(shù)據(jù)字典標(biāo)準(zhǔn)值域代碼
- 年產(chǎn)12萬噸裝配式智能鋼結(jié)構(gòu)項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 【獨(dú)家揭秘】2024年企業(yè)微信年費(fèi)全解析:9大行業(yè)收費(fèi)標(biāo)準(zhǔn)一覽
- 醫(yī)療器械經(jīng)銷商會(huì)議
- 《±1100kV特高壓直流換流變壓器使用技術(shù)條件》
評論
0/150
提交評論