找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7033|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

讓單片機(jī)P1端口的LED實(shí)現(xiàn)跑馬燈效果,循環(huán)移位點(diǎn)亮一盞LED 匯編程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:71407 發(fā)表于 2014-12-31 15:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
;51單片機(jī)入門程序5
;工程名稱:讓單片機(jī)P1端口的LED實(shí)現(xiàn)跑馬燈效果,循環(huán)移位點(diǎn)亮一盞LED
;編寫日期:2009.7.4 ;編寫者:藍(lán)柳柳 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ORG org 0000H
MAIN: MOV P1,#11111110B;點(diǎn)亮P1.0所接的燈
ACALL YS ;調(diào)用延時(shí)子程序,讓P1.0所接的燈亮一小段時(shí)間
MOV P1,#11111101B;點(diǎn)亮P1.1所接的燈
ACALL YS ;調(diào)用延時(shí)子程序,讓P1.1所接的燈亮一小段時(shí)間
MOV P1,#11111011B;點(diǎn)亮P1.2所接的燈
ACALL YS ;調(diào)用延時(shí)子程序,讓P1.2所接的燈亮一小段時(shí)間
MOV P1,#11110111B;點(diǎn)亮P1.3所接的燈
ACALL YS ;調(diào)用延時(shí)子程序,讓P1.3所接的燈亮一小段時(shí)間
MOV P1,#11101111B;點(diǎn)亮P1.4所接的燈
ACALL YS ;調(diào)用延時(shí)子程序,讓P1.4所接的燈亮一小段時(shí)間
MOV P1,#11011111B;點(diǎn)亮P1.5所接的燈
ACALL YS ;調(diào)用延時(shí)子程序,讓P1.5所接的燈亮一小段時(shí)間
MOV P1,#10111111B;點(diǎn)亮P1.6所接的燈
ACALL YS ;調(diào)用延時(shí)子程序,讓P1.6所接的燈亮一小段時(shí)間
MOV P1,#01111111B;點(diǎn)亮P1.7所接的燈 ACALL YS ;調(diào)用延時(shí)子程序,讓P1.7所接的燈亮一小段時(shí)間
LJMP MAIN ;循環(huán).這回用長調(diào)用指令LJMP,當(dāng)程序比較長的時(shí)候就用
LJMP YS: ;延時(shí)子程序YS,功能是能讓LED亮起來或者滅掉一小段時(shí)間
MOV R1,#200 ;讓燈亮滅時(shí)間的長短也就是延時(shí)的長短跟#號(hào)后面的數(shù)據(jù)有關(guān)
D: MOV R2,#200 ;延時(shí)長點(diǎn)#號(hào)后面的數(shù)據(jù)就大點(diǎn),延時(shí)短點(diǎn)#號(hào)后面的數(shù)據(jù)
T: MOV R3,#200 ;就小點(diǎn),但#號(hào)后面最大的數(shù)據(jù)是255
DJNZ R3,$
DJNZ R2,T

DJNZ R1,D
RET ;子程序返回指令,子程序的設(shè)計(jì)一般都是因?yàn)橹鞒绦蛞{(diào)用它, ;調(diào)用完是要返回到主程序繼續(xù)運(yùn)行下一個(gè)語句的
END

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表