試驗三按鍵輸入與LED輸出

2023-01-14 01:27:02 字數 2713 閱讀 1857

一、實驗目的:

1、學習微控制器埠的輸入、輸出功能的實現方法

2、掌握按鈕輸入的基本原理

3、進一步學習**系統的使用

4、學習使用常用指令和程式結構

二、試驗參考程式:

include ""

cntequ 0x23按capture(rc2)鍵次數

_d1equ 0x24

_d2equ 0x25

org 0x00

goto start

start:

call pic_init去對potrb、portc埠各管腳的輸入輸出進行設定

main_loop:

movf portc,w

btfsc portc,2檢測portc的2位是否為0,為0則跳轉下一條指令

goto bt_end不為0則轉到bt_end

incf cnt按鍵計數值增長1

call write_portb ;寫portb埠

bt_end:

goto main_loop

pic_init:

clrf intcon

bsf status,rp0

movlw b'00000000portb設為輸出口

movwf trisb

movlw b'11111111portc設為輸入口

movwf trisc

bcfstatus,rp0

movlw b'11111111'

movwf portb

clrf cnt

return

write_portb:

movlw 1按capture鍵一次時,l1和l2兩個紅燈亮

subwf cnt,w

btfsc status,z

goto ptb01

movlw 2按capture鍵二次時,l3和l4兩個綠燈亮

subwf cnt,w

btfsc status,z

goto ptb23

movlw 3按capture鍵三次時,l4和l5兩個黃燈亮

subwf cnt,w

btfsc status,z

goto ptb45

movlw 4按capture鍵四次時,紅綠黃6隻燈全亮

subwf cnt,w

btfsc status,z

goto ptb012345

ptb01:

movlw b'11111100'

movwf portb

call delay此處延時近一秒,否則capture鍵按下時6只led燈

return很快就一起閃爍過去,並且亮燈沒有規則

ptb23:

movlw b'11110011'

movwf portb

call delay

return

ptb45:

movlw b'11001111'

movwf portb

call delay

return

ptb012345:

movlw b'11000000'

movwf portb

clrf cnt清除cnt的值,再後來按鍵又如以上重複

call delay

return

delay延時子程式

clrwdt此處延時將近一秒,否則capture(rc2)鍵按下時6只led燈很快就一起閃爍過去,並且亮燈沒有規則

movlw 0xff

movwf _d1

delay1:

clrwdt

movlw 0ffh

movwf _d2

delay2:

clrwdt

decfsz _d2,1

goto delay2

decfsz _d1,1

goto delay1

retlw 0

end三、程式提示

1、要理解btfsc、subwf兩條指令,才能讀懂程式

四、試驗參考電路

五、知識拓展練習

1、 如果按一下按鈕的過程中,led等變化不規則,有時改變,有時閃一下保持原狀態,這是因為按鈕在操作過程中的,機械方面和電路方面都可能出現「抖動」,使得按一次按鈕,微控制器檢測到按鈕次數的變化和當初設計不符合。在本實驗中通過加入延時子程式,確保每按一次藍色capture按鈕,微控制器只計一次按鈕輸入。請修改程式,看看不加延時是種什麼狀態。

2、 修改程式,按一下按鈕,led的反應與上面的程式所控制的不一樣。

3、 結合電路把紅色的tmr0(ra4)按鈕和藍色的capture(rc2)按鈕設計成組合鍵,控制6個led燈亮出不同花樣來。

C的輸入和輸出與標準輸出流

掌握 輸入輸出的含意 檔案流以及輸入 輸出的格式控制 標準輸出在c 程式中的應用。理解 c 類庫中的常用流類。了解 c 的i o對c的發展。重點 難點 輸入輸出的含意 檔案流以及輸入 輸出的格式控制 標準輸出在c 程式中的應用。一 c 輸入輸出的含義 以前所用到的輸入和輸出,都是以終端為物件的,即從...

第三章格式化輸入輸出

3.1 格式化輸入和輸出 一 格式化輸出 1.printf函式的使用格式 printf 格式字串 引數1,引數2,引數n 說明 1 格式字串中包含了普通字元和格式說明符。每個格式說明符以 開始,以乙個轉換符結束,在 和轉換符之間可以使用乙個或多個標誌。2 引數是表示式 包括常量 變數 帶運算子的表示...

實驗6標準裝置與檔案流的輸入輸出

void book setdata long nu char bn,char p,char n void book show void book book long nu,char bp,char p,char n void main void 上機要求 修改程式增加按出版社 作者。從檔案中查詢書名...