單片機(jī)課程設(shè)計(jì)---廣告燈_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  廣告燈</b></p><p><b>  一、問題的提出</b></p><p>  用八個(gè)發(fā)光二極管代替廣告燈,實(shí)現(xiàn)廣告燈的循環(huán)以及花樣變化!</p><p><b>  二、總體設(shè)計(jì)</b></p><p><b>  1、分析問題

2、的功能</b></p><p>  將P1 口的8個(gè)引腳分別接8位發(fā)光二極管0,1,2,3,4,5,6,7。通過控制P1口的輸出,實(shí)現(xiàn)每隔0.5s接在P1 口的8個(gè)發(fā)光二極管從右依次點(diǎn)亮0,1,2,3,4,5,6,7,然后從左依次熄滅7,6,5,4,3,2,1,0,然后8個(gè)發(fā)光二極管全部點(diǎn)亮,閃爍3 次;接著,每隔0.5s接在P1 口的8個(gè)發(fā)光二極管從左依次點(diǎn)亮7,6,5,4,3,2,1,0,然后從右

3、依次熄滅0,1,2,3,4,5,6,7,然后8個(gè)發(fā)光二極管全部點(diǎn)亮,閃爍3 次;接著8個(gè)二極管從左輪流點(diǎn)亮0,1,2,3,4,5,6,7,然后8個(gè)二極管從右輪流點(diǎn)亮7,6,5,4,3,2,1,0,然后8個(gè)發(fā)光二極管全部點(diǎn)亮,閃爍5 次,之后全滅;如此反復(fù)循環(huán)。</p><p>  循環(huán)過程中通過中斷加入一些廣告燈的花樣變化。</p><p>  2、系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)</p>

4、<p>  1)硬件設(shè)計(jì):8031單片機(jī),DP-51PROC綜合仿真實(shí)驗(yàn)儀,P1口,定時(shí)器0,外部中斷1等。</p><p>  2)軟件設(shè)計(jì):各功能模塊詳見程序清單后注釋。</p><p><b>  三、詳細(xì)設(shè)計(jì):</b></p><p><b>  1、硬件詳細(xì)設(shè)計(jì):</b></p><

5、p><b>  時(shí)間間隔</b></p><p>  可采用軟件延時(shí)或定時(shí)器定時(shí),軟件延時(shí):8031時(shí)鐘頻率11.0592MHz,延時(shí)0.5S,P1口輸出。</p><p>  采用定時(shí)器0定時(shí)延時(shí):</p><p><b>  ORG 800BH</b></p><p><b> 

6、 LJMP TOS</b></p><p>  定時(shí)器0賦定時(shí)初值:</p><p>  MOV TH0,#4CH</p><p>  MOV TL0,#00H</p><p><b>  電路圖:</b></p><p><b>  定時(shí)中斷子程序:</b>&l

7、t;/p><p>  TOS: MOV TH0,#4CH</p><p>  MOV TL0,#00H</p><p><b>  INC R0</b></p><p>  CJNE R0,#10,LL</p><p>  MOV R0,#00H </p><p><

8、b>  …… </b></p><p><b>  ……</b></p><p>  RETI </p><p><b>  外部中斷子程序:</b></p><p>  INT1S: PUSH ACC</p><p><b>  …

9、…</b></p><p><b>  ……</b></p><p><b>  POP ACC</b></p><p><b>  RETI</b></p><p><b>  2、軟件詳細(xì)設(shè)計(jì):</b></p><p&g

10、t;<b>  軟件延時(shí):</b></p><p>  DELAY: MOV 31H,#0</p><p>  MOV 32H,#0 </p><p>  LOOP2: DJNZ 32H,$</p><p>  DJNZ 32H,$</p><p>  DJNZ 32H,$</p>

11、<p>  DJNZ 32H,$</p><p>  DJNZ 31H,LOOP2</p><p><b>  RET</b></p><p><b>  逐個(gè)點(diǎn)亮:</b></p><p>  NEXT1:MOV P1,A</p><p><b>  C

12、LR C</b></p><p><b>  RLC A</b></p><p><b>  INC R1</b></p><p><b>  SJMP NEXT</b></p><p><b>  逐個(gè)熄滅:</b></p>&

13、lt;p>  NEXT3:MOV P1,A</p><p><b>  SETB C</b></p><p><b>  RRC A</b></p><p><b>  INC R2</b></p><p><b>  SJMP NEXT</b>&l

14、t;/p><p><b>  循環(huán)點(diǎn)亮:</b></p><p>  NEXT13:MOV P1,A</p><p><b>  RL A</b></p><p><b>  INC R7</b></p><p><b>  SJMP NEXT&l

15、t;/b></p><p><b>  閃爍:</b></p><p>  NEXT11:MOV P1,A</p><p><b>  CPL A</b></p><p><b>  INC R6</b></p><p>  SJMP NEXT &

16、lt;/p><p><b>  花樣變換:</b></p><p>  見外部中斷1子程序。 </p><p>  3、設(shè)計(jì)中的主要困難及解決方案</p><p>  1).通過一個(gè)定時(shí)器來定時(shí)延時(shí),將多個(gè)循環(huán)過程串聯(lián)起來,需要解決各個(gè)循環(huán)之間的銜接問題。本實(shí)驗(yàn)中通過借用計(jì)數(shù)器(R0~R7,20H,30H等)來實(shí)現(xiàn)查詢等

17、待,通過D1:CJNE R1,#8,D1語句巧妙的把多個(gè)循環(huán)串聯(lián)在一起!</p><p>  2)。通過外部中斷實(shí)現(xiàn)廣告燈的花樣變化,需借助軟件延時(shí)!外部中斷通過硬件連線、邊沿觸發(fā)實(shí)現(xiàn)!</p><p>  外部中斷的花樣變化為本實(shí)驗(yàn)的又一亮點(diǎn)!</p><p><b>  四、程序清單</b></p><p><

18、b>  1.流程圖</b></p><p><b>  2.程序清單</b></p><p><b>  ORG 8000H</b></p><p><b>  LJMP MAIN</b></p><p>  ORG 800BH ;定時(shí)

19、器0入口地址</p><p><b>  LJMP TOS</b></p><p>  ORG 8013H ;外部中斷1入口地址</p><p>  LJMP INT1S</p><p>  MAIN:MOV SP,#60H ;主程序</p><p>

20、  MOV TMOD,#09H</p><p>  MOV TH0,#4CH</p><p>  MOV TL0,#00H</p><p>  MOV R0,#00H</p><p>  MOV IE,#10000010B</p><p><b>  SETB TR0</b></p>

21、<p><b>  SETB EX1</b></p><p><b>  SETB PX1</b></p><p>  MOV R1,#0 ;計(jì)數(shù)器</p><p><b>  MOV R2,#0</b></p><p><b>

22、  MOV R3,#0</b></p><p><b>  MOV R4,#0</b></p><p><b>  MOV R5,#0</b></p><p><b>  MOV R6,#0</b></p><p><b>  MOV R7,#0</

23、b></p><p>  MOV 20H,#0</p><p>  MOV 30H,#0</p><p>  MOV A,#0FEH</p><p>  D1:CJNE R1,#8,D1 ;查詢等待,以下雷同。</p><p>  MOV A,#00H</p><p>  D2

24、:CJNE R2,#9,D2</p><p>  MOV A,#00H</p><p>  D3:CJNE R3,#5,D3</p><p>  MOV A,#7FH</p><p>  D4:CJNE R4,#8,D4</p><p>  MOV A,#00H</p><p>  D5:CJN

25、E R5,#10,D5</p><p>  MOV A,#00H</p><p>  D6:CJNE R6,#5,D6</p><p>  MOV A,#0FEH</p><p>  D7:CJNE R7,#8,D7</p><p>  MOV A,#7FH</p><p>  D8:PUSH

26、ACC</p><p><b>  MOV A,20H</b></p><p>  CJNE A,#08H,L1</p><p><b>  POP ACC</b></p><p><b>  SJMP L2</b></p><p>  L1:POP A

27、CC</p><p><b>  SJMP D8</b></p><p>  L2:MOV A,#00H</p><p>  D9:PUSH ACC</p><p><b>  MOV A,30H</b></p><p>  CJNE A,#11,L3</p>

28、<p><b>  POP ACC</b></p><p><b>  SJMP L4</b></p><p>  L3:POP ACC</p><p><b>  SJMP D9</b></p><p>  L4:MOV A,#0FFH</p><

29、;p>  LJMP MAIN ;主程序循環(huán)</p><p>  TOS:MOV TH0,#4CH ;定時(shí)延時(shí)子程序</p><p>  MOV TL0,#00H</p><p><b>  INC R0</b></p><p>  CJNE R0,#10,LL</

30、p><p>  MOV R0,#00H</p><p>  CJNE R1,#8,NEXT1</p><p>  SJMP NEXT2</p><p>  LL:CPL P3.0</p><p><b>  LJMP NEXT</b></p><p>  NEXT1:MOV P

31、1,A ;向右逐個(gè)點(diǎn)亮</p><p><b>  CLR C</b></p><p><b>  RLC A</b></p><p><b>  INC R1</b></p><p><b>  SJMP NEXT</b>&l

32、t;/p><p>  NEXT2:CJNE R2,#9,NEXT3</p><p>  SJMP NEXT4</p><p>  NEXT3:MOV P1,A ;向左逐個(gè)熄滅</p><p><b>  SETB C</b></p><p><b>  RRC

33、A</b></p><p><b>  INC R2</b></p><p><b>  SJMP NEXT</b></p><p>  NEXT4:CJNE R3,#5,NEXT5</p><p>  SJMP NEXT6</p><p>  NEXT5:MOV

34、 P1,A ;閃爍</p><p><b>  CPL A</b></p><p><b>  INC R3</b></p><p><b>  SJMP NEXT</b></p><p>  NEXT6:CJNE R4,#8,NEXT7<

35、/p><p>  SJMP NEXT8</p><p>  NEXT7:MOV P1,A ;向左逐個(gè)點(diǎn)亮</p><p><b>  CLR C</b></p><p><b>  RRC A</b></p><p><b>  INC

36、 R4</b></p><p><b>  SJMP NEXT</b></p><p>  NEXT8:CJNE R5,#10,NEXT9</p><p>  SJMP NEXT10</p><p>  NEXT9:MOV P1,A ;向右逐個(gè)熄滅</p>&

37、lt;p><b>  SETB C</b></p><p><b>  RLC A</b></p><p><b>  INC R5</b></p><p><b>  SJMP NEXT</b></p><p>  NEXT10:CJNE R6,#

38、5,NEXT11</p><p>  SJMP NEXT12</p><p>  NEXT11:MOV P1,A ;閃爍</p><p><b>  CPL A</b></p><p><b>  INC R6</b></p><p>&

39、lt;b>  SJMP NEXT</b></p><p>  NEXT12:CJNE R7,#8,NEXT13</p><p>  SJMP NEXT14</p><p>  NEXT13:MOV P1,A ;向左循環(huán)點(diǎn)亮</p><p><b>  RL A</b&g

40、t;</p><p><b>  INC R7</b></p><p><b>  SJMP NEXT</b></p><p>  NEXT14:PUSH ACC</p><p><b>  MOV A,20H</b></p><p>  CJNE A,

41、#8,L5</p><p><b>  POP ACC</b></p><p><b>  SJMP L6</b></p><p>  L5:POP ACC</p><p>  SJMP NEXT15</p><p>  L6:SJMP NEXT16</p>&

42、lt;p>  NEXT15:MOV P1,A ;向右循環(huán)點(diǎn)亮</p><p><b>  RR A</b></p><p><b>  INC 20H</b></p><p><b>  SJMP NEXT</b></p><p> 

43、 NEXT16:PUSH ACC </p><p>  MOV A,30H </p><p>  CJNE A,#11,L7</p><p><b>  POP ACC</b></p><p><b>  SJMP L8</b></p><p>  L7:POP ACC<

44、;/p><p>  SJMP NEXT17</p><p>  L8:SJMP NEXT</p><p>  NEXT17:MOV P1,A ;閃爍</p><p><b>  CPL A</b></p><p><b>  INC 30H</b

45、></p><p>  NEXT:RETI ;中斷子程序返回</p><p>  INT1S:PUSH ACC ;外部中斷1子程序</p><p>  MOV A,#0FFH</p><p><b>  CLR C</b>

46、</p><p>  MOV P1,A ;花樣變化</p><p>  SUBB A,#81H</p><p><b>  MOV P1,A</b></p><p>  SUBB A,#42H</p><p>  LCALL DELAY</p&g

47、t;<p><b>  MOV P1,A</b></p><p>  SUBB A,#24H</p><p>  LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  SUBB A,#18H</p><p>  LCA

48、LL DELAY</p><p><b>  MOV P1,A</b></p><p>  ADD A,#18H</p><p>  LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  ADD A,#24H</p>

49、<p>  LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  ADD A,#42H</p><p>  LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  ADD A,#8

50、1H</p><p>  LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  LCALL DELAY</p><p>  MOV A,#0AAH</p><p>  MOV 21H,#4</p><p><b>  L

51、OOP:RL A</b></p><p><b>  MOV P1,A</b></p><p>  LCALL DELAY</p><p>  DJNZ 21H,LOOP</p><p>  MOV A,#0FFH</p><p><b>  MOV P1,A</b&g

52、t;</p><p>  SUBB A,#18H</p><p>  LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  SUBB A,#24H</p><p>  LCALL DELAY</p><p><b>  

53、MOV P1,A</b></p><p>  SUBB A,#42H</p><p>  LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  SUBB A,#81H</p><p>  LCALL DELAY</p><

54、p><b>  MOV P1,A</b></p><p>  ADD A,#81H</p><p>  LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  ADD A,#42H</p><p>  LCALL DELAY&l

55、t;/p><p><b>  MOV P1,A</b></p><p>  ADD A,#24H</p><p>  LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  ADD A,#18H</p><p> 

56、 LCALL DELAY</p><p><b>  MOV P1,A</b></p><p>  LCALL DELAY</p><p>  MOV A,#0AAH</p><p>  MOV 22H,#8</p><p>  LOOP1:RR A</p><p><

57、;b>  MOV P1,A</b></p><p>  LCALL DELAY</p><p>  DJNZ 22H,LOOP1</p><p><b>  POP ACC</b></p><p>  RETI ;中斷子程序返回</p><p&

58、gt;  DELAY:MOV 31H,#0</p><p>  MOV 32H,#0 </p><p>  LOOP2:DJNZ 32H,$</p><p>  DJNZ 32H,$</p><p>  DJNZ 32H,$</p><p>  DJNZ 32H,$</p><p>  DJNZ

59、 31H,LOOP2</p><p>  RET ;子程序返回</p><p><b>  END</b></p><p><b>  五、調(diào)試程序的方法</b></p><p>  硬件調(diào)試方法(確定硬件工作是否正常)</p><p>

60、  硬件連線正確,仿真器工作正常,接通電源。</p><p>  2、軟件調(diào)試方法(如何調(diào)試程序的方法)</p><p>  程序編譯通過,無錯(cuò)誤,無警告,調(diào)試并運(yùn)行主程序。</p><p>  六、對(duì)該設(shè)計(jì)題目有何更完善的方案</p><p>  對(duì)自己完成程序進(jìn)行自我評(píng)價(jià)及對(duì)課題提出更完善的方案。</p><p>

61、  經(jīng)過一段時(shí)間的努力,本實(shí)驗(yàn)完成了任務(wù)書的基本要求,并做了一些創(chuàng)新。但是程序的運(yùn)行過程仍然停留在發(fā)光二極管的設(shè)計(jì)上,沒有進(jìn)行對(duì)其他領(lǐng)域的擴(kuò)展,例如:將發(fā)光二極管和LED顯示器連接起來,讓廣告燈的變化驅(qū)動(dòng)LED顯示器數(shù)字的變化,使效果更顯著,功能更齊全等。</p><p><b>  七、收獲及心得體會(huì)</b></p><p>  以前對(duì)單片機(jī)課程很是抵觸,覺得它太難

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論