基于C8051F020的示波器監(jiān)控程序的設(shè)計(jì)
6 系統(tǒng)軟件設(shè)計(jì)
6.1 一鍵多義鍵盤(pán)程序設(shè)計(jì)
在鍵盤(pán)分析中,運(yùn)用一個(gè)工作狀態(tài)寄存器保存鍵盤(pán)的現(xiàn)狀態(tài),當(dāng)鍵盤(pán)掃描到一個(gè)按鍵時(shí),根據(jù)現(xiàn)狀態(tài)的值從分析程序入口表中找到分析程序狀態(tài)表地址,從該地址處進(jìn)入分析程序狀態(tài)表,找到相匹配的值,把下一狀態(tài)送到現(xiàn)狀態(tài)單元里,取出動(dòng)作號(hào),根據(jù)動(dòng)作號(hào)計(jì)算出動(dòng)作子程序入口地址,再執(zhí)行相應(yīng)子程序。圖4為鍵碼匹配子程序的流程圖。
6. 2 編碼開(kāi)關(guān)程序設(shè)計(jì)
由圖1可以看出,引腳1和引腳2有同時(shí)為高電平的情況,之后如果引腳2比引腳1先到達(dá)高電平則表示左旋,如果引腳1比引腳2先到達(dá)高電平則表示右旋。編程的時(shí)候依據(jù)這個(gè)特點(diǎn)來(lái)判斷引腳1、引腳2的狀態(tài)即可。以1引腳接P4.0,2引腳接P4.1為例:
6.3 模數(shù)轉(zhuǎn)換軟件設(shè)計(jì)
通過(guò)設(shè)置ADCO控制寄存器ADCOCN位3~2(ADOCM1~O)A/D轉(zhuǎn)換啟動(dòng)方式選擇位,來(lái)啟動(dòng)A/D轉(zhuǎn)換:位3~2為00時(shí),向ADOBUSY(ADCOCN位4)寫(xiě)1啟動(dòng)A/D轉(zhuǎn)換;位3~2為01時(shí),定時(shí)器3溢出啟動(dòng)A/D轉(zhuǎn)換;位3~2為10時(shí),CNVSTR上升沿啟動(dòng) A/D轉(zhuǎn)換;位3~2為11時(shí),定時(shí)器2溢出啟動(dòng)A/D轉(zhuǎn)換。本設(shè)計(jì)采用第一種啟動(dòng)方式。
由于單片機(jī)的工作量并不大,所以軟件設(shè)計(jì)時(shí)采用查詢的方式。單片機(jī)不斷地查詢鍵盤(pán)、編碼開(kāi)關(guān)以及電位器的狀態(tài),如果有變化時(shí),單片機(jī)將動(dòng)作信息傳遞給 ARM主MCU,等待主MCU的處理。由于單片機(jī)模數(shù)轉(zhuǎn)換的速度非??欤虼嗽诔绦蛑屑友訒r(shí),以便觀察到模數(shù)轉(zhuǎn)換的變化量。另外,硬件設(shè)計(jì)時(shí)沒(méi)有考慮濾波,故用軟件實(shí)現(xiàn)濾波。一般的濾波的方法有限幅濾波法、中位置濾波法、算術(shù)平均濾波法等,現(xiàn)在提出一種新的濾波方法。由于使用12位A/D,但只要8位就可以達(dá)到所要的精度,所以可以采用去掉低4位的方法來(lái)實(shí)現(xiàn)濾波的目的。由于篇幅有限,下面只給出程序的一部分,以AIN0為例:
結(jié)語(yǔ)
看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
本文介紹的一鍵多義的按鍵管理程序,對(duì)多按鍵的智能儀表可以通用。編碼開(kāi)關(guān)的編程方法簡(jiǎn)單易懂。在A/D轉(zhuǎn)換部分,提出的去掉低4位的軟件濾波方法可靠可行,對(duì)精度要求不高的場(chǎng)合非常適用。這3部分構(gòu)成了一個(gè)完整的監(jiān)控程序,當(dāng)單片機(jī)監(jiān)控到某一部分有變化時(shí),就將其動(dòng)作信息傳遞給ARM主CPU,主CPU 進(jìn)行相應(yīng)的處理。
參考文獻(xiàn):
參考文獻(xiàn):
[1].C8051F020datasheethttp://www.dzsc.com/datasheet/C8051F020_209830.html.
本文引用地址:http://www.ex-cimer.com/article/201611/323656.htm關(guān)鍵詞:
C8051F020示波器監(jiān)控程
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論