[工学]单片机原理与应用程序

[工学]单片机原理与应用程序

ID:23148391

大小:219.00 KB

页数:46页

时间:2018-11-04

[工学]单片机原理与应用程序_第1页
[工学]单片机原理与应用程序_第2页
[工学]单片机原理与应用程序_第3页
[工学]单片机原理与应用程序_第4页
[工学]单片机原理与应用程序_第5页
资源描述:

《[工学]单片机原理与应用程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《单片机原理与应用》参考程序第3章【例3-49】MOVDPTR,#2000H;源数据区首址PUSHDPL;源数据区首址压栈保护PUSHDPHMOVDPTR,#3000H;目的数据区首址MOVR6,DPL;目的数据区首址存入寄存器MOVR7,DPHLP:POPDPH;取源数据区地址指针POPDPLMOVXA,@DPTR;取源数据INCDPTRPUSHDPLPUSHDPH;更新源数据地址,并将该新地址压栈保护MOVDPL,R6;取目的数据区首地址指针MOVDPH,R7MOVX@DPTR,A;将取得的源数

2、据存入目的数据区INCDPTRMOVR6,DPLMOVR7,DPH;更新目标数据地址,并将该新地址存入到R6和R7中DJNZ30H,LP;若数据块未移完(即地址30H中的值不为0),则继续POPDPHPOPDPLSJMP$【例3-65】MOVA,P1;将8位输入信号传到A中JBA.0,MM;当A的第0位A.0为1时,转去执行MMSETBC;当A.0为0时,将C置1并转去执行OUTSJMPOUT;X0=1,转出口MM:MOVC,A.1;C=X1ANLC,/A.2;X1X2JCOUT;X1X2=1,转出

3、口MOVC,A.2;C=X2ANLC,/A.1;X1X2JCOUT;X1X2=1,转出口MOVC,A.7;C=X7ANLC,/A.4;X4X7ANLC,/A.5;X4X5X7ANLC,/A.6;X4X5X6X7OUT:MOVP3.0,C…463.3实例解析CLRA;结果单元20H~29H清零MOVR0,#10MOVR1,#20HLP:MOV@R1,AINCR1DJNZR0,LPMOVR0,#100;100个数的计数器READ:MOVA,P1;读入P1CHK0:CJNEA,#0,CHK1;比较,不为“

4、0”,继续比较INC20H;是“0”,则“0”计数单元加1SJMPEND0;是否全部统计完?CHK1:CJNEA,#1,CHK2INC21H;是“1”,则“1”计数单元加1SJMPEND0CHK2:CJNEA,#2,CHK3INC22H;是“2”,则“2”计数单元加1SJMPEND0CHK3:CJNEA,#3,CHK4INC23H;是“3”,则“3”计数单元加1SJMPEND0CHK4:CJNEA,#4,CHK5INC24H;是“4”,则“4”计数单元加1SJMPEND0CHK5:CJNEA,#5,

5、CHK6INC25H;是“5”,则“5”计数单元加1SJMPEND0CHK6:CJNEA,#6,CHK7INC26H;是“6”,则“6”计数单元加1SJMPEND0CHK7:CJNEA,#7,CHK8INC27H;是“7”,则“7”计数单元加1SJMPEND0CHK8:CJNEA,#8,CHK9INC28H;是“8”,则“8”计数单元加1SJMPEND0CHK9:CJNEA,#9,ERRINC29H;是“9”,则“9”计数单元加1END0:DJNZR0,READ;判是否全部统计完HERE:SJMPH

6、EREERR:…;非0~9,出错第4章46【例4-13】START:PUSHACC;将A中内容进栈保护MOVR0,20H;将20H地址中的内容送R0MOVR1,22H;将22H地址的内容送R1MOVA,@R0;被加数低字节内容送AADDA,@R1;低字节数相加MOV@R0,A;低字节数和存20H中INCR0;指向被加数高位字节INCR1;指向加数高位字节MOVA,@R0;被加数高位字节送AADDCA,@R1;高字节数带进位相加MOV@R0,A;高字节数和存21H中CLRAADDCA,#00HMOV1

7、0H,A;进位暂存于10H中POPACC;恢复A原内容【例4-14】ORG0000HAJMPSTARTORG30HSTART:MOVP1,#0FFH;关闭所灯MOVTMOD,#00000001B;定时/计数器0工作于方式1MOVTH0,#15HMOVTL0,#0A0H;即数5536SETBTR0;定时/计数器0开始运行LOOP:JBCTF0,NEXT;如果TF0等于1,则清TF0并转NEXT处AJMPLOOP;否则跳转到LOOP处运行NEXT:CPLP1.0MOVTH0,#15HMOVTL0,#9F

8、H;重置定时/计数器的初值AJMPLOOPENDAJMPLOOP【例4-15】ORG000BH;定时器0的中断向量地址AJMPTIME0;跳转到真正的定时器程序处ORG30HSTART:MOVP1,#0FFH;关闭所灯MOVTMOD,#00000001B;定时/计数器0工作于方式1MOVTH0,#15HMOVTL0,#0A0H;即数5536SETBEA;开总中断允许SETBET0;开定时/计数器0允许SETBTR0;定时/计数器0开始运行LOOP:AJMPLOOP;真

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。