廣告燈的左移右移_第1頁
廣告燈的左移右移_第2頁
廣告燈的左移右移_第3頁
廣告燈的左移右移_第4頁
廣告燈的左移右移_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 實驗及實踐課題:廣告燈的左移右移1 實驗任務 做單一燈的左移右移,硬件電路如圖4.4.1所示,八個發光二極管l1l8分別接在單片機的p1.0p1.7接口上,輸出“0”時,發光二極管亮,開始時p1.0p1.1p1.2p1.3p1.7p1.6p1.0亮,重復循環。 2 電路原理圖 圖4.4.1 3 系統板上硬件連線 把“單片機系統”區域中的p1.0p1.7用8芯排線連接到“八路發光二極管指示模塊”區域中的l1l8端口上,要求:p1.0對應著l1,p1.1對應著l2,p1.7對應著l8。4 程序設計內容 我們可以運用輸出端口指令movp1,a或movp1,data,只要給累加器值或常數值,然后執行

2、上述的指令,即可達到輸出控制的動作。每次送出的數據是不同,具體的數據如下表1所示p1.7 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.0 說明 l8 l7 l6 l5 l4 l3 l2 l1 11111110 l1亮1111110 1l2亮111110 11l3亮11110 111l4亮1110 1111l5亮110 11111l6亮10 111111l7亮0 1111111l8亮表15 程序框圖 圖4.4.26匯編源程序 (1)單向org 0000h start:mov p1,#01111111b ;最下面的led點亮 lcall delay mov p1,#10111

3、111b ;最下面第二個的led點亮 lcall delay mov p1,#11011111b ;最下面第三個的led點亮 (以下省略) lcall delay mov p1,#11101111b lcall delay mov p1,#11110111b lcall delay mov p1,#11111011b lcall delay mov p1,#11111101b lcall delay mov p1,#11111110b lcall delay mov p1,#11111111b ;完成第一次循環點亮,延時約0.25秒 ajmp start ;反復循環 。ajmp 2kb范圍內絕

4、對轉移;延時子程序,12m晶振延時約250毫秒delay: mov r4,#2 l3: mov r2 ,#250 l1: mov r3 ,#250 l2: djnz r3 ,l2 djnz r2 ,l1 djnz r4 ,l3 ret end7匯編源程序 (2)單向org0000hajmpmainorg0030hmain:movp1,#00h;全亮lcalldelay;lcalldelay;lcalldelay;延時一段時間mova,#0feh;每次只亮一個燈。loop:movp1,a;lcalldelay;lcalldelay;lcalldelay;rla ;循環左移。ajmploop; a

5、jmp 2kb范圍內絕對轉移delay:movr7,#00h;延時子程序tt:movr6,#00hdjnz r6,$djnz r7,ttretend8 匯編源程序 (3)來回org 0 start:mov r2,#8 mov a,#0feh ;給a賦值成11111110setb c ;將c狀態位置1。去掉此句變成相臨的兩個燈一起左移右移。!不明白loop:mov p1,a ;將a送到p1口,發光二極管低電平點亮lcall delay rlc a ;累加器連進位標志左循環移位,即a為11111101djnz r2,loop mov r2,#8 loop1:mov p1,a lcall delay

6、rrc a ;累加器連進位標志右循環移位djnz r2,loop1 ljmp start ; ljmp 2kb范圍內長轉移delay:mov r5,#20;延時子程序,延時0.2秒 d1:mov r6,#20 d2:mov r7,#248 djnz r7,$ djnz r6,d2 djnz r5,d1 ret end 9 c語言源程序 來回#include unsigned char i; unsigned char temp; unsigned char a,b; void delay(void) unsigned char m,n,s; for(m=20;m0;m-) for(n=20;n0;n-) for(s=248;s0;s-); void main(void) while(1) temp=0xfe; p1=temp; delay(); for(i=1;i8;i+) a=temp(8-i); p1=a|b; delay(); for(i=1;ii; /*如temp為111

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論