




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机流水灯汇编程序设计开发板上的8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。程序A:;用最直接的方式实现流水灯ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY;延时1秒 MOV P1,#10111111B ;最下面第二个的LED点亮 LCALL DELAY;延时1秒 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 ;反复循环;延时子程序,12M晶振延时约250毫秒DELAY:MOV R4,#2L3: MOV R2 ,#250L1: MOV R3 ,#250L2: DJNZ R3 ,L2 DJNZ R2 ,L1DJNZ R4 ,L3 RET END程序B:;用移位方式实现流水灯org 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 ;次外层循环八十次d2:mov r5,#250 ;最内层循环250次djnz r5,$ ;总共延时2us*250*80*20=0.8Sdjnz r4,d2djnz r3,d1retend 51单片机经典流水灯程序,在51单片机的P2口接上8个发光二极管,产生流水灯的移动效果。 ORG 0 ;程序从0地址开始START: MOV A,#0FEH ;让ACC的内容为11111110LOOP:MOV P2,A ;让P2口输出ACC的内容 RR A ;让ACC的内容左移 CALL DELAY ;调用延时子程序 LJMP LOOP ;跳到LOOP处执行;0.1秒延时子程序(12MHz晶振)=DELAY: MOV R7,#200 ;R7寄存器加载200次数D1: MOV R6,#250 ;R6寄存器加载250次数 DJNZ R6,$ ;本行执行R6次 DJNZ R7,D1 ;D1循环执行R7次 RET ;返回主程序 END ;结束程序开关控制的单片机流水灯 汇编在单片机控制下,用一个拨动开关K1,控制个发光二极管L1-L8,发光的时间间隔为0.5秒。具体要求:当拨动开关K1发出低电平(K1=0)时,L1-L8从两头向中间逐个点亮,当L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。当拨动开关K1发出高电平(K1=1)时,中间的L4、L5点亮,然后点亮的灯向两边扩展,直到L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。悬赏分:20 - 解决时间:2009-12-21 13:42 提问者: -最佳答案:;-下列程序,经过了编译、仿真,可以满足要求。;- ORG 0000H MOV R2, #0M_LOOP: MOV A, R2 INC R2 ANL A, #07H MOV C, P1.0 MOV ACC.3, C MOV DPTR, #TAB MOVC A, A + DPTR MOV P0, A CALL DL5KT SJMP M_LOOP;-TAB: DB 0xFF, 0xE7, 0xC3, 0x81, 0x00, 0x00, 0x00, 0x00 DB 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00;-DL5KT: mov R5, #10 MOV R6, #100 MOV R7, #250 DJNZ R7, $ DJNZ R6, $ - 4 DJNZ R5, $ - 8 RET;- END流水灯汇编程序8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。;用最直接的方式实现流水灯ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY;延时1秒 MOV P1,#10111111B ;最下面第二个的LED点亮 LCALL DELAY;延时1秒 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 ;反复循环;延时子程序,12M晶振延时约250毫秒DELAY: ;大约值:2us*256*256*2=260ms,也可以认为为250msPUSH PSW ;现场保护指令(有时可以不加)MOV R4,#2 L3: MOV R2 ,#00HL1: MOV R3 ,#00HL2: DJNZ R3 ,L2 ;最内层循环:(256次)2个周期指令(R3减一,如果比1大,则转向L2) DJNZ R2 ,L1 ; 中层循环:256次DJNZ R4 ,L3 ;外层循环:2次POP PSWRETEND51汇编单片机LED花样流水灯(1)start:CLR P1.0 ACALL DELAY SETB P1.0 ACALL DELAY CLR P1.1 ACALL DELAY SETB P1.1 ACALL DELAY CLR P1.2 ACALL DELAY SETB P1.2 ACALL DELAY CLR P1.3 ACALL DELAY SETB P1.3 ACALL DELAY CLR P1.4 ACALL DELAY SETB P1.4 ACALL DELAY CLR P1.5 ACALL DELAY SETB P1.5 ACALL DELAY CLR P1.6 ACALL DELAY SETB P1.6 ACALL DELAY CLR P1.7 ACALL DELAY CLR P1.7 ACALL DELAY CLR P1.0 ACALL DELAY SETB P1.0 ACALL DELAY CLR P1.1 ACALL DELAY SETB P1.1 ACALL DELAY CLR P1.2 ACALL DELAY SETB P1.2 ACALL DELAY CLR P1.3 ACALL DELAY SETB P1.3 ACALL DELAY CLR P1.4 ACALL DELAY SETB P1.4 ACALL DELAY CLR P1.5 ACALL DELAY SETB P1.5 ACALL DELAY CLR P1.6 ACALL DELAY CLR P1.6 ACALL DELAY CLR P1.0 ACALL DELAY SETB P1.0 ACALL DELAY CLR P1.1 ACALL DELAY SETB P1.1 ACALL DELAY CLR P1.2 ACALL DELAY SETB P1.2 ACALL DELAY CLR P1.3 ACALL DELAY SETB P1.3 ACALL DELAY CLR P1.4 ACALL DELAY SETB P1.4 ACALL DELAY CLR P1.5 ACALL DELAY CLR P1.5 ACALL DELAY CLR P1.0 ACALL DELAY SETB P1.0 ACALL DELAY CLR P1.1 ACALL DELAY SETB P1.1 ACALL DELAY CLR P1.2 ACALL DELAY SETB P1.2 ACALL DELAY CLR P1.3 ACALL DELAY SETB P1.3 ACALL DELAY CLR P1.4 ACALL DELAY CLR P1.4 ACALL DELAY CLR P1.0 ACALL DELAY SETB P1.0 ACALL DELAY CLR P1.1 ACALL DELAY SETB P1.1 ACALL DELAY CLR P1.2 ACALL DELAY SETB P1.2 ACALL DELAY CLR P1.3 ACALL DELAY CLR P1.3 ACALL DELAY CLR P1.0 ACALL DELAY SETB P1.0 ACALL DELAY CLR P1.1 ACALL DELAY SETB P1.1 ACALL DELAY CLR P1.2 ACALL DELAY CLR P1.2 ACALL DELAY CLR P1.0 ACALL DELAY SETB P1.0 ACALL DELAY CLR P1.1 ACALL DELAY CLR P1.1 ACALL DELAY CLR P1.0 ACALL DELAY CLR P1.0 ACALL DELAY SETB P1.0 ACALL DELAY SETB P1.1 ACALL DELAY SETB P1.2 ACALL DELAY SETB P1.3 ACALL DELAY SETB P1.4 ACALL DELAY SETB P1.5 ACALL DELAY SETB P1.6 ACALL DELAY SETB P1.7 ACALL DELAY AJMP startDELAY:MOV R7,#250 D1:MOV R6,#250 D2:DJNZ R6,D2 DJNZ R7,D1 RET END开发板上的8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。程序A:;用最直接的方式实现流水灯ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY;延时1秒 MOV P1,#10111111B ;最下面第二个的LED点亮 LCALL DELAY;延时1秒 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 ;反复循环;延时子程序,12M晶振延时约250毫秒DELAY:MOV R4,#2L3: MOV R2 ,#250L1: MOV R3 ,#250L2: DJNZ R3 ,L2 DJNZ R2 ,L1DJNZ R4 ,L3 RET END程序B:;用移位方式实现流水灯org 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 ;次外层循环八十次d2:mov r5,#250 ;最内层循环250次djnz r5,$ ;总共延时2us*250*80*20=0.8Sdjnz r4,d2djnz r3,d1retend51单片机汇编程序集 作者:段磊 文章来源:网络 点击数:1176 更新时间:2008-9-23 20:53:39 1、片内RAM初始化子程序 2、片外RAM初始化子程序 3、片外RAM初始化子程序(双字节个单元) 4、内部RAM数据复制程序 5、外部RAM数据复制程序 6、外部RAM数据复制程序 7、外部RAM数据复制到内部RAM程序 8、限幅滤波程序 9、中位值滤波程序 10、N点算术平均滤波 11、N点加权平均滤波 12、一阶加权滞后滤波程序 13、双字节取补程序 14、N节取补程序 15、双字节无符号数加法程序 16、N字节无符号数加法程序 17、双字节无符号数减法程序 18、N字节无符号数减法程序 19、单字节无符号数乘法程序 20、单字节无符号数乘法程序 21、单字节无符号数乘法程序 22、双字节无符号数乘法程序 23、双字节无符号数乘法程序 24、N字节无符号数乘法程序 25、单字节无符号除法程序 26、单字节无符号除法程序 27、双字节无符号除法程序 28、N字节无符号除法程序(组合) 29、N字节无符号除法程序 30、N字节数据左移程序 31、原码有符号双字节减法程序 32、原码有符号双字节加法程序 33、原码有符号双字节乘法程序 34、原码有符号双字节除法程序 35、单字节顺序查找程序 36、单字节顺序查找程序 37、双字节字符串顺序查找程序 38、双字节字符串顺序查找程序 39、N字节字符串顺序查找程序 40、单字节最值查找程序 41、浮点数顺序查找程序 42、浮点数最值查找程序 43、单字节折半查找程序 ;片内RAM初始化子程序 IBCLR :MOV A,R0 MOV R1,A CLR A IBC1 :MOV R1,A INC R1 DJNZ R7,IBC1 RET ;片外RAM初始化子程序 EBCLR1 :MOV A,ADDPL MOV DPL,A MOV A,ADDPH MOV DPH,A CLR C EBC11 :MOVX DPTR,A INC DPTR DJNZ R7,EBC11 RET ;片外RAM初始化子程序(双字节个单元) EBCLR2 :MOV A,ADDPL MOV DPL,A MOV A,ADDPH MOV DPH,A MOV A,R7 JZ EBC21 INC R6 EBC21 :CLR A MOVX DPTR,A INC DPTR DJNZ R7,EBC21 DJNZ R6,EBC21 RET ;内部RAM数据复制程序 ;入口 :R0,R7 ;占用资源:A ;堆栈需求:2字节 ;出口 :R1 IBMOV :MOV A,R0 ADD A,R7 MOV R0,A MOV A,R1 ADD A,R7 MOV R1,A IBM1 :DEC R0 DEC R1 MOV A,R0 MOV R1,A DJNZ R7,IBM1 RET ;外部RAM数据复制程序 ;入口 :ADDPH,ADDPL,R7 ;占用资源:ACC ;堆栈需求:2字节 ;出口 :R0,R1 EBMOV1 :MOV A,ADDPL ADD A,R7 MOV DPL,A CLR A ADDC A,ADDPH MOV DPH,A MOV A,R7 ADD A,R1 XCH A,R0 ADDC A,#00H MOV P2,A EBM11 :DEC R0 CJNE R0,#0FFH,EBM12 DEC P2 EBM12 :DEC DPL MOV A,DPL CJNE A,#0FFH,EBM13 DEC DPH EBM13 :MOVX A,R0 MOVX DPTR,A DJNZ R7,EBM11 RET ;外部RAM数据复制程序 ;入口 :ADDPH,ADDPL,R6,R7 ;占用资源:ACC ;堆栈需求:2字节 ;出口 :R0,R1 EBMOV2 :MOV A,ADDPL ADD A,R7 MOV DPL,A MOV A,R6 ADDC A,ADDPH MOV DPH,A MOV A,R7 ADD A,R1 XCH A,R0 ADDC A,R6 MOV P2,A MOV A,R7 JZ EBM21 INC R6 EBM21 :DEC R0 CJNE R0,#0FFH,EBM22 DEC P2 EBM22 :DEC DPL MOV A,DPL CJNE A,#0FFH,EBM23 DEC DPH EBM23 :MOVX A,R0 MOVX DPTR,A DJNZ R7,EBM21 DJNZ R6,EBM21 RET ;外部RAM数据复制到内部RAM程序 ;入口 :ADDPH,ADDPL,R7 ;占用资源:ACC ;堆栈需求:2字节 ;出口 :R0 ITEMOV :MOV A,ADDPL ADD A,R7 MOV DPL,A MOV A,ADDPH ADDC A,#00H MOV DPH,A MOV A,R0 ADD A,R7 MOV R0,A ITEM1 :DEC R0 DEC DPL MOV A,DPL CJNE A,#0FFH,ITEM2 DEC DPH ITEM2 :MOVX A,DPTR MOV R0,A DJNZ R7,ITEM1 RET ;限幅滤波程序 ;入口 :A,SDAT,DELTY ;占用资源:B ;堆栈需求:2字节 ;出口 :A JUGFILT :MOV B,A CLR C SUBB A,SDAT JNC JUGFT1 CPL A INC A JUGFT1 :SETB A SUBB A,#DELTY JNC JUGFT3 MOV A,SDAT RET JUGFT3 :MOV A,B MOV SDAT,A RET ;中位值滤波程序 ;入口 :ADDPH,ADDPL,N ;占用资源:ESELSORT ;堆栈需求:4字节 ;出口 :A MEDFILT :LCALL ESELSORT MOV A,N CLR C RRC A ADD A,ADDPL MOV DPL,A MOV A,ADDPH MOV DPH,A JNC MEDFT1 INC DPH51单片机汇编程序集(二)2008年12月12日 星期五 10:27辛普生积分程序内部RAM数据排序程序(升序)外部RAM数据排序程序(升序)外部RAM浮点数排序程序(升序)BCD小数转换为二进制小数(2位)BCD小数转换为二进制小数(N位)BCD整数转换为二进制整数(1位)BCD整数转换为二进制整数(2位)BCD整数转换为二进制整数(3位)BCD整数转换为二进制整数(N位)二进制小数(2位)转换为十进制小数(分离BCD码)二进制小数(M位)转换为十进制小数(分离BCD码)二进制整数(2位)转换为十进制整数(分离BCD码)二进制整数(2位)转换为十进制整数(组合BCD码)二进制整数(3位)转换为十进制整数(分离BCD码)二进制整数(3位)转换为十进制整数(组合BCD码)二进制整数(M位)转换为十进制整数(组合BCD码)三字节无符号除法程序(R2R3R4/R7)=(R2)R3R4 余数R7;辛普生积分程序;入口: DPTR,N,COUNT;占用资源: ACC,R3,R4,R6,R7;堆栈需求: 2字节;出口: R3,R4SJF : MOV R7,NMOVX A,DPTRINC DPTRMOV R4,AMOV R3,#00HDEC R7SJF1 : MOVX A,DPTRINC DPTRCLR CRLC AMOV R6,ACLR ARLC AXCH A,R7JNB ACC.0,SJF2XCH A,R6RLC AXCH A,R6XCH A,R7RLC AXCH A,R7SJF2 : XCH A,R7XCH A,R6ADD A,R4MOV R4,AMOV A,R6ADDC A,R3MOV R3,ADJNZ R7,SJF1SJF3 : MOVX A,DPTRADD A,R4MOV R4,ACLR AADDC A,R3MOV R3,AMOV R7,#COUNTLCALL NMUL21MOV A,NMOV B,#03HMUL ABMOV R7,ALCALL NDIV31RETNMUL21 : MOV A,R4MOV B,R7MUL ABMOV R4,AMOV A,BXCH A,R3MOV B,R7MUL ABADD A,R3MOV R3,ACLR AADDC A,BMOV R2,ACLR OVRETNDIV31 : MOV B,#10HNDV311 : CLR CMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,AMOV F0,CCLR CSUBB A,R7JB F0,NDV312JC NDV313NDV312 : MOV R2,AINC R4NDV313 : DJNZ B,NDV311RET;内部RAM数据排序程序(升序);入口: R0(起始地址),N(数据个数);占用资源: ACC,B,R5,R6,R7;堆栈需求: 2字节;出口: R0ISELSORT : MOV R7,NDEC R7ISST1: MOV A,R7MOV R6,AMOV A,R0MOV R1,AMOV R2,AMOV B,R1ISST2: INC R1MOV A,R1CLR CSUBB A,BJC ISST3MOV A,R1MOV R2,AMOV B,R1ISST3: DJNZ R6,ISST2MOV A,BXCH A,R1MOV B,R2MOV R1,BMOV R1,ADJNZ R7,ISST1RET;外部RAM数据排序程序(升序);入口: ADDPH,ADDPL(起始地址),N(数据个数);占用资源: ACC,B,R0,R1,R5,R7;堆栈需求: 2字节;出口: ADDPH-ADDPLESELSORT : MOV R7,NDEC R7ESST1: MOV A,R7MOV R6,AMOV DPL,ADDPLMOV R1,DPLMOV DPH,ADDPHMOV R0,DPHMOVX A,DPTRMOV B,AESST2: INC DPTRMOVX A,DPTRCLR CSUBB A,BJC ESST3MOV R0,DPLMOV R1,DPHMOVX A,DPTRMOV B,AESST3: DJNZ R6,ESST2MOVX A,DPTRXCH A,BMOVX DPTR,AMOV DPL,R0MOV DPH,R1MOV A,BMOVX DPTR,ADJNZ R7,ESST1RET;外部RAM浮点数排序程序(升序);入口: ADDPH,ADDPL(起始地址),N(数据个数);占用资源: ACC,B,R0,R1,R2,R3,R4,R5,R6,R7,NCNT;堆栈需求: 5字节;出口: ADDPH,ADDPLFSORT: MOV A,NMOV NCNT,ADEC NCNTFST1 : MOV B,NCNTMOV DPL,ADDPLMOV R1,DPLMOV DPH,ADDPHMOV R0,DPHMOVX A,DPTRMOV R2,AINC DPTRMOVX A,DPTRMOV R3,AINC DPTRMOVX A,DPTRMOV R4,AFST2 : INC DPTRMOVX A,DPTRMOV R5,AINC DPTRMOVX A,DPTRMOV R6,AINC DPTRMOVX A,DPTRMOV R7,APUSH BLCALL FCMPPOP BJNC FST4MOV A,DPLCLR CSUBB A,#02HMOV R1,AMOV R0,DPHJNC FST3DEC R0FST3 : MOV A,R5MOV R2,AMOV A,R6MOV R3,AMOV A,R7MOV R4,AFST4 : DJNZ B,FST2MOV A,DPLCLR CSUBB A,#0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年执业药师重点试题带答案
- 2024年辽宁省安全生产月知识培训测试试题及参考答案
- 北京消防防护知识培训课件
- 中级老年照护考试模拟题及答案
- 2025征信考试题库(含答案)
- 2024年新《安全生产法》试题及答案
- 2024年消毒供应室专科及消毒员工作职责知识试题(附含答案)
- (2025年)i国网高级工理论考试题库(浓缩500题)
- 北京医院物价知识培训课件
- 北交所开户知识培训课件
- 船务公司船舶管理制度
- 组织部单位档案管理制度
- 植物源蛋白替代技术-洞察及研究
- 2025年湖南省中考英语试卷真题(含答案)
- 南京城墙介绍
- 2025年卫生系统招聘考试(公共基础知识)新版真题卷(附详细解析)
- 应急管理十五五思路
- 提高护理文书书写合格率
- YY 0271.2-2024牙科学水基水门汀第2部分:树脂改性水门汀
- 辅警招聘公安基础知识考试题库及答案
- T/CUPTA 007-2020低地板有轨电车车辆重联技术规范
评论
0/150
提交评论