



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、START:MOVACC,#0FEH;ACC 中先裝入 LED1 亮的數據(二進制的 11111110 )MOVP1,ACC;將 ACC 的數據送 P1 口MOVR0,#7;將數據再移動 7 次就完成一個 8 位流水過程LOOP:RLA;將 ACC 中的數據左移一位MOVP1,A;把 ACC 移動過的數據送 p1 口顯示ACALLDELAY;調用延時子程序DJNZR0,LOOP;沒有移動夠 7 次繼續移動AJMPSTART;移動完 7 次后跳到開始重來,以達到循環流動效果延時子程序DELAY:MOVR0,#255;延時一段時間D1:MOVR1,#255DJNZR1,$DJNZR0,D1RET;
2、子程序返回END;程序結束START: CLRP1.0;P1.0 輸出低電平 ,使 LED1點亮ACALLDELAY;調用延時子程序SETBP1.0;P1.0 輸出高電平 ,使 LED1熄滅CLRP1.1;P1.1 輸出低電平 ,使 LED2點亮ACALLDELAY;調用延時子程序SETBP1.1;P1.1 輸出高電平 ,使 LED2熄滅CLRP1.2;P1.2 輸出低電平 ,使 LED3點亮ACALLDELAY;調用延時子程序SETBP1.2;P1.2 輸出高電平 ,使 LED3熄滅CLRP1.3;P1.3 輸出低電平 ,使 LED4點亮ACALLDELAY;調用延時子程序SETBP1.3;
3、P1.3 輸出高電平 ,使 LED4熄滅CLRP1.4;P1.4 輸出低電平 ,使 LED5點亮ACALLDELAY;調用延時子程序SETBP1.4;P1.4 輸出高電平 ,使 LED5熄滅CLRP1.5;P1.5 輸出低電平 ,使 LED6點亮ACALLDELAY;調用延時子程序SETBP1.5;P1.5 輸出高電平 ,使 LED6熄滅CLRP1.6;P1.6 輸出低電平 ,使 LED7點亮ACALLDELAY;調用延時子程序SETBP1.6;P1.6 輸出高電平 ,使 LED7熄滅CLRP1.7;P1.7 輸出低電平 ,使 LED8點亮ACALLDELAY;調用延時子程序SETBP1.7;
4、P1.7 輸出高電平 ,使 LED8熄滅ACALLDELAY;調用延時子程序AJMPSTART;8 個 LED 流了一遍后返回到標號 START 處再循環延時子程序DELAY:MOVR0,#255;延時一段時間D1:MOVR1,#255DJNZR1,$DJNZR0,D1RET;子程序返回END;程序結束ORG 0000H; 上電復位,程序從 0000H 開始執行START:MOVSP,#60HMOVDPTR,#LIU_TABLOOP:CLRAMOVCA,A+DPTRCJNEA,#0FFH,SHOWAJMPSTARTSHOW:MOVP1,AACALLDELAYINCDPTRAJMPLOOP延時子
5、程序; 堆棧初始化為 60H;流水花樣表首地址送 DPTR;檢查流水結束標志;所有花樣流完 ,則從頭開始重復流;將數據送到 P1 口END;程序結束DELAY:MOVR0,#255;延時一段時間D1:MOVR1,#255DJNZR1,$DJNZR0,D1RET;子程序返回; 下面是流水花樣數據表 LIU_TAB:DB 01111111B;二進制表示的流水花樣數據DB 10111111BDB 11011111BDB 11101111BDB 11110111BDB 11111011BDB 11111101BDB 11111110BDB 11111110BDB 11111101BDB 1111101
6、1BDB 11110111BDB 11101111BDB 11011111BDB 10111111BDB 01111111BDB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH ; 十六進制表示DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FHDB 7EH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,7EHDB 7FH,3FH,1FH,0FH,07H,03H,01H,00HDB 0FFH;流水花樣結束標志 0FFH延時子程序, 12M 晶振延時約 250 毫秒DELAY:MOV R4,#2L3: MOV R2 ,#2
7、50L1: MOV R3 ,#250L2: DJNZ R3 ,L2DJNZ R2 ,L1DJNZ R4 ,L3RETorg 00h ;程序上電從 00h 開始ajmp main ;跳轉到主程序org 0030h ;主程序起始地址 main:mov a,#0feh ;給 A 賦值成 11111110loop:mov p1,a ;將 A 送到 P1 口 ,發光二極管低電平點亮 lcall delay ; 調用延時子程序rl a ; 累加器 A 循環左移一位ajmp loop ; 重新送 P1 顯示delay:mov r3,#20 ;最外層循環二十次 d1:mov r4,#80 ;次外層循環八十次d
8、2:mov r5,#250 ;最內層循環 250 次djnz r5,$ ;總共延時 2us*250*80*20=0.8Sdjnz r4,d2djnz r3,d1 ret end如何精確計算延時子程序的執行時間?匯編語言的一大優勢就是能夠精確控制程序的執行時間, 這在編寫一 些對時序要求嚴格的外圍器件驅動時由為重要!;延時子程序, 12M 晶振延時約 253 毫秒DELAY:MOV R4 ,#2 執行1 個機器周期,耗時1 微秒L3: MOV R2 ,#250執行1 個機器周期,耗時1 微秒L1: MOV R3 ,#251 執行1 個機器周期,耗時1 微秒L2:DJNZ R3 ,L2執行2個機器周期,反復執行 251次(2x251) =502 微秒)DJNZ R2 ,L1執行2個機
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 法院文職考試試題及答案
- 13版工程合同范例
- 農村別墅建造合同樣本
- access數據庫考試試題及答案
- 歷史考試試題大全問答及答案
- 公考勞動法考試試題及答案
- 信托通道業務合同范例
- 事業編 合同范例
- 山東省菏澤市2025年高三二模考試生物試題及答案
- 大學生職業規劃大賽《人力資源管理專業》生涯發展展示
- 2025屆新高考教學教研聯盟高三第二次聯考政治試題及答案
- 賭博酒駕警示教育
- 產業園物業管理實施方案
- 管理學基礎-形考任務三-國開-參考資料
- 梁曉聲母親測試題及答案
- 企業會計人員勞動合同模板2025
- 浙江省腫瘤醫院醫療廢物暫存間環保設施提升改造項目報告表
- 敬老院安全培訓課件
- 《加拉帕戈斯群島》課件
- 社區老舊小區外墻翻新腳手架方案
- 2025年醫院消化內科年度工作計劃
評論
0/150
提交評論