



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、繼續(xù)我的第二個(gè)實(shí)驗(yàn);實(shí)現(xiàn)按鍵控制LED亮滅:功能描述:上電默認(rèn)LD3亮;觸動(dòng)一次按鍵SW12,LD3滅再按一次按鍵SW12, LD3亮再觸動(dòng)一次按鍵SW12,LD3滅再按一次按鍵SW12, LD3亮。實(shí)現(xiàn)每觸動(dòng)一次按鍵,LED執(zhí)行一次由亮到滅,或者由滅到亮,也就是實(shí)現(xiàn)一次狀態(tài)反轉(zhuǎn)。電路連接說明:LD3 設(shè)置為通用GPIO 上拉輸出 初始化后默認(rèn)為輸出LD3亮狀態(tài);LD3控制LED燈的負(fù)極,如下圖;SW12 設(shè)置為通用GPIO 上拉輸入 該引腳應(yīng)用濾波功能,且僅在按鍵抬起時(shí)控制LD3狀態(tài)發(fā)生變化。按鍵電路如上圖,GPIO53須輸出0,當(dāng)按鍵按下時(shí),讀取GPIO50端口值,為0,當(dāng)按鍵未按下時(shí),G
2、PIO50因?yàn)樯仙侠饔茫涠丝谥禐?。程序設(shè)計(jì)說明:按鍵的讀取采用實(shí)時(shí)掃描的方式(非中斷方式),功能要求在按鍵抬起后發(fā)生LED狀態(tài)翻轉(zhuǎn);所以要記錄上一次按鍵值,并且將當(dāng)前值=0&&上一次值=1時(shí),做為按鍵抬起有效,控制LED發(fā)生狀態(tài)翻轉(zhuǎn)。主要程序如下:while(1)EALLOW;last_Key_SW12 = new_Key_SW12; /保存舊值new_Key_SW12 = Key_SW12();/讀取新值if( last_Key_SW12=0 && new_Key_SW12=1)LD3_TOGGLE();EDIS;經(jīng)實(shí)際測試,上述程序可以實(shí)現(xiàn)LD3的翻轉(zhuǎn)
3、,基本達(dá)到設(shè)計(jì)要求。但是在測試過程中,時(shí)好時(shí)壞,有時(shí)能夠看見LED快速翻轉(zhuǎn),說明按鍵有抖動(dòng)的情況,這里可以考慮IO口濾波,即在初始化時(shí),設(shè)置IO采樣周期以及量化串口,設(shè)置如下:采樣周期設(shè)置為200時(shí),不再出現(xiàn)抖動(dòng)現(xiàn)象,按鍵穩(wěn)定操作。源程序如下:#include "DSP2833x_Device.h" / DSP2833x Headerfile Include File#include "DSP2833x_Examples.h" / DSP2833x Examples Include File#define LD3_ON() GpioDataRegs.GP
4、ACLEAR.bit.GPIO0 = 1#define LD3_OFF() GpioDataRegs.GPASET.bit.GPIO0 = 1#define LD3_TOGGLE() = 1#define LD4_ON() GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1#define LD4_OFF() GpioDataRegs.GPBSET.bit.GPIO34 = 1#define Key_SW12()50/* * main.c */int main(void) unsigned char last_Key_SW12=1;/保留上一次掃描結(jié)果,上電默認(rèn)為未按下狀態(tài)
5、unsigned char new_Key_SW12=1;/保留當(dāng)前掃描結(jié)果,上電默認(rèn)為未按下狀態(tài)InitSysCtrl();DINT;IER = 0x0000;IFR = 0x0000;InitPieCtrl();InitPieVectTable();InitGpio();EALLOW;/GPIO0 LD3 控制LED負(fù)極GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;/0 gpio modeGpioCtrlRegs.GPADIR.bit.GPIO0 = 1;/1 output 0 inputGpioCtrlRegs.GPAPUD.bit.GPIO0 = 0;/1 en
6、able pullup 0 disable pullup/GPIO34 LD4 控制LED負(fù)極GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;/0 gpio modeGpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;/1 output 0 inputGpioCtrlRegs.GPBPUD.bit.GPIO34 = 0;/1 enable pullup 0 disable pullup/GPIO50 按鍵矩陣SW12輸入端GpioCtrlRegs.GPBMUX2.bit.GPIO50 = 0;/0 gpio modeGpioCtrlRegs.GPBDI
7、R.bit. GPIO50 = 0;/1 output 0 inputGpioCtrlRegs.GPBPUD.bit. GPIO50 = 0;/1 enable pullup 0 disable pullupGpioCtrlRegs.GPBCTRL.bit.QUALPRD2= 200;/采樣周期=2*Tsysclkout*200GpioCtrlRegs.GPBQSEL2.bit.GPIO50 = 2;/采樣窗內(nèi)3次采樣結(jié)構(gòu)相同/GPIO53 按鍵矩陣負(fù)極輸出0GpioCtrlRegs.GPBMUX2.bit.GPIO53 = 0;/0 gpio modeGpioCtrlRegs.GPBDIR.bit. GPIO53 = 1;/1 output 0 inputGpioCtrlRegs.GPBPUD.bit. GPIO53 = 0;/1 enable pullup 0 disable pullupGpioDataRegs.GPBCLEAR.bit.GPIO53 = 1;LD3_ON();/默認(rèn)輸出亮狀態(tài)LD4_OFF();EDIS;while(1)EALLOW;last_Key_S
溫馨提示
- 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)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童畫海報(bào)課件圖片
- 2025年廣東省戒毒管理局下屬事業(yè)單位招聘考試筆試試題【答案】
- 2025年安徽省文化和旅游廳下屬事業(yè)單位招聘考試筆試試題【答案】
- 工程設(shè)計(jì)咨詢項(xiàng)目合同
- 人物介紹英語課件
- 人教版八下英語說課課件
- 問題樹培訓(xùn)課件
- 2026版《全品高考》選考復(fù)習(xí)方案生物02 增分微課5 求電場強(qiáng)度的其他方法含答案q
- 廣州1-3年級數(shù)學(xué)試卷
- 加工企業(yè)培訓(xùn)課件
- 鍛壓設(shè)備安裝工程施工及驗(yàn)收規(guī)范
- 磨煤機(jī)檢修培訓(xùn)課件
- 瑞安市工業(yè)固廢與污泥無害化處置及資源化利用項(xiàng)目階段性竣工環(huán)境保護(hù)驗(yàn)收報(bào)告
- 檢驗(yàn)科對急診凝血標(biāo)本質(zhì)量不合格原因分析品管圈魚骨圖柏拉圖
- 中草藥的種植技術(shù)
- 關(guān)于中學(xué)生課余生活的調(diào)研報(bào)告
- 全國普通高等學(xué)校畢業(yè)生就業(yè)協(xié)議書
- 皖2015s209 混凝土砌塊式排水檢查井
- 2023火力發(fā)電廠熱工開關(guān)量和模擬量控制系統(tǒng)設(shè)計(jì)規(guī)程
- 史記《孔子世家》原文
- 妊娠高血壓綜合征眼底病變
評論
0/150
提交評論