版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 設(shè)計(jì)題目:中斷控制的流水節(jié)日彩燈控制器</p><p><b> 要求 </b></p><p><b> 至少顯示4種方式。</b></p><p><b> 析分</b></p><p> 用開關(guān)來控制流水燈使其顯示4種方式,首先通過編寫一個(gè)程
2、序輸入單片機(jī),在單片機(jī)最小系統(tǒng)通過開關(guān)來控制,用1個(gè)開關(guān)可以顯示4種工作方式,更具試驗(yàn)箱的結(jié)構(gòu),選擇4個(gè)LED燈利用高低電平來控制燈亮或者滅,連接電路根據(jù)不同的開關(guān)指示顯示不同的流動(dòng)方式。</p><p><b> 設(shè)計(jì) </b></p><p><b> 1、 硬件設(shè)計(jì)</b></p><p> 在試驗(yàn)箱上有4個(gè)發(fā)
3、光二極管,分別與PL接口相連,但是由于開關(guān)與PL口的前兩個(gè)口相連,所以只能用六個(gè)發(fā)光二極管來顯示,而另外兩個(gè)則與開關(guān)相連,用來控制電路,只有這樣才能完全顯示。</p><p><b> 硬件連接圖如下:</b></p><p><b> 2,、軟件編程</b></p><p><b> 流程圖: </
4、b></p><p><b> 否</b></p><p><b> 是</b></p><p> 否 否</p><p> 是
5、 是 </p><p> 完整的程序如下: </p><p> #include < reg51.h ></p><p> #include <intrins.h></p><p> sbit led1 = P1^2;</p><p> sb
6、it led2 = P1^3;</p><p> sbit led3 = P1^4;</p><p> sbit led4 = P1^5;</p><p> unsigned int mode=1;</p><p> void dis_play(unsigned int a);</p><p> void d
7、isplay(mode);</p><p> void delay(unsigned int i)</p><p><b> { int a;</b></p><p> for(;i>1;i--)</p><p> for(a=0;a<200;a++);</p><p><
8、;b> }</b></p><p> /***********************************************************</p><p> purpose: 系統(tǒng)初始化</p><p> /*********************************************************
9、*/</p><p> void system_Ini()</p><p><b> {</b></p><p> IT0=1; //下降沿觸發(fā)</p><p><b> EX0=1;</b></p><p> EA=1; //總中斷&
10、lt;/p><p><b> }</b></p><p> void main(void)</p><p><b> { </b></p><p><b> P3=0xff;</b></p><p><b> P2=0xff;</b
11、></p><p> system_Ini();</p><p><b> while(1)</b></p><p><b> { </b></p><p> display(mode);</p><p><b> }</b></
12、p><p><b> }</b></p><p> void display(mode)</p><p><b> {</b></p><p> if(mode==1)</p><p><b> {</b></p><p>
13、 led1 = 0;</p><p> led2 = 0;</p><p> led3 = 0;</p><p> led4 = 0;</p><p> delay(200);</p><p> led1 = 1;</p><p> led
14、2 = 1;</p><p> led3 = 1;</p><p><b> led4 = 1;</b></p><p> delay(200);</p><p><b> }</b></p><p> if(mode==2)</p><
15、p><b> {</b></p><p><b> led1 = 0;</b></p><p> delay(200);</p><p><b> led1 = 1;</b></p><p> delay(200);</p><p>&l
16、t;b> led2 = 0;</b></p><p> delay(200);</p><p><b> led2 = 1;</b></p><p> delay(200);</p><p><b> led3 = 0;</b></p><p>
17、 delay(200);</p><p><b> led3 = 1;</b></p><p> delay(200);</p><p><b> led4 = 0;</b></p><p> delay(200);</p><p><b> led4 =
18、 1;</b></p><p> delay(200);</p><p><b> }</b></p><p> if(mode==3)</p><p><b> {</b></p><p><b> led1 = 0;</b>&l
19、t;/p><p> delay(200);</p><p><b> led2 = 0;</b></p><p> delay(200);</p><p><b> led3 = 0;</b></p><p> delay(200);</p><p&
20、gt;<b> led4 = 0;</b></p><p> delay(200);</p><p><b> led1 = 1;</b></p><p> delay(200);</p><p><b> led2 = 1;</b></p><p
21、> delay(200);</p><p><b> led3 = 1;</b></p><p> delay(200);</p><p><b> led4 = 1;</b></p><p> delay(200);</p><p><b>
22、 }</b></p><p> if(mode==4)</p><p><b> {</b></p><p><b> led4 = 1;</b></p><p> delay(200);</p><p><b> led1 = 0;<
23、/b></p><p> delay(200);</p><p><b> led2 = 0;</b></p><p> delay(200);</p><p><b> led3 = 0;</b></p><p> delay(200);</p>
24、<p><b> led2 = 1;</b></p><p> delay(200);</p><p> led3 = 1;</p><p> delay(200);</p><p><b> led4 = 0;</b></p><p> d
25、elay(200);</p><p><b> led1 = 1;</b></p><p> delay(200);</p><p><b> }</b></p><p><b> }</b></p><p> /************
26、********************************************</p><p> * INT0中斷函數(shù) *</p><p> ********************************************************/</p><p>
27、; void counter0(void) interrupt 0 </p><p><b> {</b></p><p><b> EX0=0; </b></p><p><b> mode ++;</b></p><p> if(mode>=5)<
28、/p><p><b> mode=1;</b></p><p><b> EX0=1;</b></p><p><b> }</b></p><p><b> 3、調(diào)試說明:</b></p><p> 開始有些小錯(cuò)誤,主要是一
29、些符號(hào)輸入錯(cuò)誤,后來經(jīng)過診斷,修改后,最終可以生成相應(yīng)的文件,并且能夠上機(jī)調(diào)試 。</p><p> 設(shè)計(jì)結(jié)果及其錯(cuò)誤分析 </p><p> 通過開關(guān)的控制能正確的顯示4種流水方式。如根據(jù)K1和K2的電位高低有四種不同狀態(tài),這四中狀態(tài)依次顯示出四種流水狀態(tài),所以能夠達(dá)到實(shí)驗(yàn)要求的預(yù)期狀態(tài)。</p><p> 在編程過程中也有錯(cuò)誤出現(xiàn),如在編程時(shí)只
30、有六個(gè)燈所以移位時(shí)有些麻煩,不能一次性的移位成功,在后兩種方式中開始移位出現(xiàn)了錯(cuò)誤,后來進(jìn)過修改,采用兩次移位方式供移位六次,這樣如此反復(fù)檢查才最終成功。</p><p><b> 總結(jié)</b></p><p> 1、理論與實(shí)踐相結(jié)合 </p><p> 理論課,即使你當(dāng)時(shí)你理解了懂了,但不經(jīng)過實(shí)踐來鞏固始終是不行的,過一段時(shí)間就會(huì)忘得一
31、干二凈,也不會(huì)知道實(shí)踐的重要性。更有甚者會(huì)使學(xué)生在學(xué)習(xí)的時(shí)候?qū)е屡d致的缺乏而放棄,因此可見理論與實(shí)踐相結(jié)合的重要性。通過本次的課程設(shè)計(jì)讓我更加深入的了解到單片機(jī)在生活中的廣泛應(yīng)用,以及了解到了單片機(jī)對(duì)現(xiàn)代社會(huì)的重要意義,讓我更加的對(duì)其產(chǎn)生較為濃厚的興趣。</p><p> 2、經(jīng)過幾次失敗才能成功</p><p> 在本次的課程設(shè)計(jì)中,,我經(jīng)過了多次的失敗后最終才取得圓滿的成功,不斷的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 彩燈控制器課程設(shè)計(jì)--流水彩燈控制器
- 【課程設(shè)計(jì)】節(jié)日彩燈控制器設(shè)計(jì)
- eda課程設(shè)計(jì)---節(jié)日彩燈控制器
- 流水燈課程設(shè)計(jì)--流水彩燈控制器
- 單片機(jī)課程設(shè)計(jì)--節(jié)日彩燈控制器設(shè)計(jì)
- 彩燈控制器課程設(shè)計(jì)
- 彩燈控制器課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 彩燈控制器
- 單片機(jī)節(jié)日彩燈控制器課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)--節(jié)日彩燈控制器的設(shè)計(jì)
- 彩燈控制器課程設(shè)計(jì)
- 彩燈控制器課程設(shè)計(jì)
- 彩燈控制器課程設(shè)計(jì)
- 課程設(shè)計(jì)--彩燈控制器
- 彩燈控制器課程設(shè)計(jì) (3)
- 課程設(shè)計(jì)報(bào)告彩燈控制器
- eda課程設(shè)計(jì)---彩燈控制器
- 課程設(shè)計(jì)-彩燈控制器的設(shè)計(jì)
- eda課程設(shè)計(jì)彩燈控制器
- 多路彩燈控制器 課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論