仝敏
(陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院,陜西 西安 710300)
流水燈是指將多個(gè)LED 燈組成的燈串按順序依次點(diǎn)亮,反復(fù)循環(huán),流水燈在實(shí)際生活中得到了廣泛的應(yīng)用,例如,使用單片機(jī)實(shí)現(xiàn)廣告牌、舞臺(tái)等控制。對(duì)于流水燈的控制可以選用單片機(jī)作為控制元件,本次設(shè)計(jì)選用Keil uvision2作為開(kāi)發(fā)環(huán)境,使用C 語(yǔ)言進(jìn)行編程,以AT89C51 單片機(jī)的P2 端口為控制端口,使用四種編程方法實(shí)現(xiàn)8 位LED 的依次閃爍。
本次設(shè)計(jì)選用AT89C51 單片機(jī)作為控制元件,共計(jì)控制8 個(gè)LED,8 個(gè)LED 的排列順序?yàn)樽杂蚁蜃蠓謩e為D1、D2、D3、D4、D5、D6、D7、D8,其閃爍順序?yàn)镈1、D2、D3、D4、D5、D6、D7、D8, 實(shí) 現(xiàn)D1 至D8 逐次亮滅。其工作過(guò)程如圖1 所示。
圖1 流水燈的工作過(guò)程
本次設(shè)計(jì)選用四種編程方法,分別使用位定義、移位運(yùn)算符、循環(huán)移位函數(shù)以及數(shù)組實(shí)現(xiàn)流水燈程序的編寫(xiě)。
方法1:使用位定義(圖2)。
圖2 位定義實(shí)現(xiàn)流水燈
方法2:使用移位運(yùn)算符(圖3)。
圖3 移位運(yùn)算符實(shí)現(xiàn)流水燈
方法3:使用循環(huán)移位函數(shù)(圖4)。
圖4 循環(huán)移位函數(shù)實(shí)現(xiàn)流水燈
方法4:使用數(shù)組(圖5)。
圖5 數(shù)組實(shí)現(xiàn)流水燈
本設(shè)計(jì)以AT89C51 為核心,根據(jù)設(shè)計(jì)要求實(shí)現(xiàn)8 個(gè)LED發(fā)光二極管的閃爍控制,在proteus 中對(duì)四種編程方法進(jìn)行驗(yàn)證,四種編程方法均可實(shí)現(xiàn)。