資源描述:
《51單片機(jī)經(jīng)典流水燈匯編程序》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、單片機(jī)流水燈匯編程序設(shè)計流水燈匯編程序8只LED為共陽極連接,即單片機(jī)輸出端力低電平吋即可點(diǎn)亮LED,;用最直接的方式實(shí)現(xiàn)流水燈ORG0000HSTART:MOVP1,#01111111B;敁下而的LED點(diǎn)亮LCALLDELAY;延吋1秒MOVP1,#10111111B;最下面第二個的LED點(diǎn)亮LCALLDELAY;延時1秒MOVP1,#11011111B;最下面第三個的LED點(diǎn)亮(以下畨略)LCALLDELAYMOVP1,#11101111BLCALLDELAYMOVP1,#11110111BLCALLDELAYMOVP1,#11111011BLCALLDELAYMOVP1,#11111
2、101BLCALLDELAYMOVP1,#11111110BLCALLDELAYMOVP1,#11111111B;完成第一次循環(huán)點(diǎn)亮,延時約0.25秒AJMPSTART;反復(fù)循環(huán);延吋子程序,12M晶振延時約250毫秒DELAY:;大約值:2us*256*256*2=260ms,也可以認(rèn)為為250msPUSHPSW;現(xiàn)場保護(hù)指令(有吋可以不加)MOVR4,#2L3:MOVR2,#00HL1:MOVR3,#00HL2:DJNZR3,L2;敁內(nèi)層循環(huán):(256次)2個周期指令(R3減一,如果比1大,則轉(zhuǎn)ML2)DJNZR2,L1;中層循環(huán):256次DJNZR4,L3;外層循環(huán):2次POPPSW
3、RETEND51單片機(jī)匯編程序集(二)2008年12月12口星期五10:27辛普生積分程序內(nèi)部RAM數(shù)據(jù)排序程序(升序)外部RAM數(shù)據(jù)排序程序(升序)外部RAM浮點(diǎn)數(shù)排序程序(升序)BCD小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù)(2位)BCD小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù)(N位)BCD整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)(1位)BCD整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)(2位)BCD整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)(3位)BCD整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)(N位)二進(jìn)制小數(shù)(2位)轉(zhuǎn)換為十進(jìn)制小數(shù)(分離BCD碼)二進(jìn)制小數(shù)(M位)轉(zhuǎn)換為十進(jìn)制小數(shù)(分離BCD碼)二進(jìn)制整數(shù)(2位)轉(zhuǎn)換為十進(jìn)制整數(shù)(分離BCD碼)二進(jìn)制整數(shù)(2位)轉(zhuǎn)換為十進(jìn)制整數(shù)(組合BCD碼)二進(jìn)制整數(shù)
4、(3位)轉(zhuǎn)換為十進(jìn)制整數(shù)(分離BCD碼)二進(jìn)制整數(shù)(3位)轉(zhuǎn)換為十進(jìn)制整數(shù)(組合BCD碼)二進(jìn)制整數(shù)(M位)轉(zhuǎn)換為十進(jìn)制整數(shù)(組合BCD碼)三字節(jié)無符號除法程序(R2R3R4/R7)=(R2)R3R4余數(shù)R7:二進(jìn)制整數(shù)(2位)轉(zhuǎn)換為十進(jìn)制整數(shù)(分離BCD碼);入口:R3,R4;占用資源:ACC,R2,NDIV31:堆棧需求:5字節(jié);出口:R0,NCNTIBTD21:MOVNCNT,#OOHMOVR2,#00HIBD211:MOVR7,#0AHLCALLNDIV31MOVA,R7MOV@RO,AINCROINCNCNTMOVA,R3ORLA,R4JNZIBD211MOVA,ROCLRCSU
5、B巳A,NCNTMOVR0,ARET;二進(jìn)制整數(shù)(2位)轉(zhuǎn)換為十進(jìn)制整數(shù)(組合BCD碼);入口:R3,R4;占用資源:ACC,B,R7:堆棧需求:3字節(jié);出口:K0IBTD22:MOVA,ROPUSHAMOVR7,#03HCLRAIBD221:MOV@RO,AINCRODJNZR7JBD221POPAMOVRO,AMOVR7,#10HIBD222:PUSHACLRCMOVA,R4RLCAMOVR4,AMOVA,R3RLCAMOVR3,AMOVB,#03HIBD223:MOVA,@ROADDCA,@RODAAMOV@RO,AINCRODJNZBJBD223POPAMOVRO,ADJNZR7J
6、BD222RET;二進(jìn)制整數(shù)(3位)轉(zhuǎn)換為十進(jìn)制整數(shù)(分離BCD碼);入口:R2,R3,R4;占用資源:ACC,R2,NDIV31:堆棧需求:5字節(jié);出口:RO,NCNTIBTD31:CLRAMOVNCNT,AIBD311:MOVR7,#0AHLCALLNDIV31MOVA,R7MOV@RO,AINCROINCNCNTMOVA,R2ORLA,R3ORLA,R4JNZIBD311MOVA,ROCLRCSUBBA,NCNTMOVRO,ARET;二進(jìn)制整數(shù)(3位)轉(zhuǎn)換為十進(jìn)制整數(shù)(組合BCD碼);入口:R2,R3,R4;占用資源:ACC,B,R7:堆棧需求:3字節(jié);出□:R0IBTD32:MOV
7、A,ROPUSHAMOVR7,#04HCLRAIBD321:MOV@RO,AINCRODJNZR7JBD321POPAMOVRO,AMOVR7,#18HIBD322:PUSHACLRCMOVA,R4RLCAMOVR4,AMOVA,R3RLCAMOVR3,AMOVA,R2RLCAMOVR2,AMOVB,#04HIBD323:MOVA,@ROADDCA,@RODAAMOV@RO,AINCRODJNZBJBD323POPAMO