|
單片機(jī)源程序如下(注釋非常詳細(xì)):
- ORG 0000H ;單片機(jī)上電后從0000H地址執(zhí)行
- AJMP START ;跳轉(zhuǎn)到主程序存放地址處
- ORG 0030H ;設(shè)置主程序開始地址
- START:MOV SP,#60H ;設(shè)置堆棧起始地址為60H
- CLR P1.0 ;P1.0輸出低電平,使LED1點亮
- ACALL DELAY ;調(diào)用延時子程序
- SETB P1.0 ;P1.0輸出高電平,使LED1熄滅
- CLR P1.1 ;P1.1輸出低電平,使LED2點亮
- ACALL DELAY ;調(diào)用延時子程序
- SETB P1.1 ;P1.1輸出高電平,使LED2熄滅
- CLR P1.2 ;P1.2輸出低電平,使LED3點亮
- ACALL DELAY ;調(diào)用延時子程序
- SETB P1.2 ;P1.2輸出高電平,使LED3熄滅
- CLR P1.3 ;P1.3輸出低電平,使LED4點亮
- ACALL DELAY ;調(diào)用延時子程序
- SETB P1.3 ;P1.3輸出高電平,使LED4熄滅
- CLR P1.4 ;P1.4輸出低電平,使LED5點亮
- ACALL DELAY ;調(diào)用延時子程序
- SETB P1.4 ;P1.4輸出高電平,使LED5熄滅
- CLR P1.5 ;P1.5輸出低電平,使LED6點亮
- ACALL DELAY ;調(diào)用延時子程序
- SETB P1.5 ;P1.5輸出高電平,使LED6熄滅
- CLR P1.6 ;P1.6輸出低電平,使LED7點亮
- ACALL DELAY ;調(diào)用延時子程序
- SETB P1.6 ;P1.6輸出高電平,使LED7熄滅
- CLR P1.7 ;P1.7輸出低電平,使LED8點亮
- ACALL DELAY ;調(diào)用延時子程序
- SETB P1.7 ;P1.7輸出高電平,使LED8熄滅
- ACALL DELAY ;調(diào)用延時子程序
- AJMP START ;8個LED流了一遍后返回到標(biāo)號START處再循環(huán)
- DELAY: ;延時子程序
- MOV R0,#255 ;延時一段時間
- D1: MOV R1,#255
- DJNZ R1,$ DJNZ R0,D1
- RET ;子程序返回
- END ;程序結(jié)束
復(fù)制代碼
|
|