单片机串口中断控制流水灯c语言,利用单片机中断实现流水灯
在我們的生活中,隨處可見(jiàn)各式各樣的彩燈,給這本來(lái)充滿美麗的世界又添加了一份別致的美,想知道流水燈是怎么實(shí)現(xiàn)的嗎?現(xiàn)在就跟我走進(jìn)這實(shí)現(xiàn)流水燈的大道吧!
其實(shí)利用單片機(jī)的中斷功能就可以實(shí)現(xiàn)。本篇文章是當(dāng)每按一次鍵時(shí),燈向一個(gè)方向(向左或向右)點(diǎn)亮一個(gè)燈,就像流動(dòng)的水一樣。
中斷應(yīng)用實(shí)例:
以外部中斷為例,做一個(gè)中斷的應(yīng)用試驗(yàn)。在實(shí)驗(yàn)板上有一個(gè)按鈕,在INT0引腳上裝有一個(gè)按鈕,可以用這個(gè)按鈕來(lái)模擬外部中斷產(chǎn)生的信號(hào),并用P0口接的LED作為中斷響應(yīng),如下圖1-1所示。
一、?????????????電路原理圖
二、?????????????實(shí)際應(yīng)用程序
ORG???0000H
AJMP??START
ORG???0003H???;外部中斷入口地址
LJMP???INT_0??;轉(zhuǎn)到真正的處理程序處
ORG???0030H
START:
SETB??IT0?? ??;令I(lǐng)NT0為負(fù)邊沿觸發(fā)中斷
SETB??EA?? ??;CPU開(kāi)放總中斷
SETB???EX0??;開(kāi)外部INT0中斷
MOV??P1,#0FEH??;點(diǎn)亮D1
LJMP???$??????;跳轉(zhuǎn)到本行
INT_0:?? ???;中斷服務(wù)程序
PUSH???PSW
PUSH???ACC?;保護(hù)現(xiàn)場(chǎng)
MOV??A, P1
RL???A???;對(duì)A左移一位,變成0FDH
MOV??P1,A
POP???ACC
POP???PSW?;恢復(fù)現(xiàn)場(chǎng)
RETI?????? ???;中斷返回
END
程序說(shuō)明:ORG是一條偽指令,用來(lái)指示程序代碼的存放位置。“ORG??0000H”說(shuō)明代碼從0000H開(kāi)始存放;“ORG??0003H”說(shuō)明代碼從0003H開(kāi)始存放,及外部中斷0的入口地址。其他指令的用途對(duì)照注釋不難看懂。
總結(jié)
以上是生活随笔為你收集整理的单片机串口中断控制流水灯c语言,利用单片机中断实现流水灯的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中级职称计算机考试复习多久,你以为备考中
- 下一篇: 一个不需要添加依赖依赖的Java代码实现