单片机程序题库.doc

单片机程序题库.doc

ID:59343188

大小:229.50 KB

页数:6页

时间:2020-10-31

单片机程序题库.doc_第1页
单片机程序题库.doc_第2页
单片机程序题库.doc_第3页
单片机程序题库.doc_第4页
单片机程序题库.doc_第5页
资源描述:

《单片机程序题库.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.实现片外数据存储器数据传送(2000H)-->(2100H)MOVDPTR,#2000HMOVXA,@DPTRMOVDPTR,#2100HMOVX@DPTR,A2.查表法求Y=X2。设X(0≤X≤15)在片内RAM的20H单元中,要求查表求Y,存入片内RAM21H单元。1)ORG1000HSQU:MOVDPTR,#3000H;确定表首地址(基地址)MOVA,20H;取X(变量:偏移量)MOVCA,@A+DPTR;查表求Y=X2MOV21H,A;保存Y(结果)RET;子程序结束…;其它程序段ORG3000H;常数表格首地址TAB:DB

2、00,01,04,09,…,225;平方表END2)ORG1000H;程序起始地址SQU:MOVA,20H;取XADDA,#3;修正偏移量MOVCA,@A+PC;查表求Y=X2(PC=1005H)MOV21H,A;存结果RET;子程序结束TAB:DB00,01,04…;平方表DB09,…,2253.分析下面程序MOVR0,#0C8H;(R0)=200CLRP1.7;P1.7为低电平LOOP:CPLP1.7;P1.7变反(1µs)NOP;(1µs)NOP;(1µs)DJNZR0,LOOP;(R0)≠0则转(2µs)4.设计一个延时10ms

3、的延时子程序,已知单片机使用的晶振为6MHZ。机器周期数ORG0020H1MOVR0,#0AH;外循环10次1DL2:MOVR1,#MT;内循环MT次1DL1:NOP1NOP;空操作指令2DJNZR1,DL12DJNZR0,DL2RET内循环DL1到指令DJNZR1,DL1的计算:(1+1+2)ⅹ2μsⅹMT=1000μsMT=125=7DH总的延时时间:{1+[1+(1+1+2)ⅹ125+2]ⅹ10}ⅹ2μs=10.062ms5.试计算延时程序的执行时间DELAY:MOVR6,#64H(=100)1I1:MOVR7,#0FFH(=25

4、5)1I2:DJNZR7,I22DJNZR6,I12RET2延时时间计算:(设时钟fOSC=12MHz)T=1ust=(1×1+1×100+2×100×255+2×100+2×1)×T=51.303ms6.DELAY:MOVR6,#1001D1:MOVR7,#101D2:NOP1DJNZR7,D22t=6.606msDJNZR6,D12RET2计算延时程序的执行时间(设时钟fOSC=6MHz,T=2us)。7.十六进制数转换为ASCII码:HASC:CJNEA,#0AH,NN:JNCN1(C=0跳N1)ADDA,#30HSJMPSEN1

5、:ADDA,#37HSE:RET8.设从片内RAM30H单元和40H单元有两个16字节数,把它们相加,结果放于30H单元开始的位置处(设结果不溢出)。ORG1000HMOVR0,#30HMOVR1,#40HMOVR2,#16CLRCLOOP:MOVA,@R0ADDCA,@R1MOV@R0,AINCR0INCR1DJNZR2,LOOPEND9.按下面公式编写程序,x为无符号数,存在20h单元y存放在21h单元ORG0030HMOVA,20HCJNEA,#21H,LOOP1LOOP1:JCNEXT1CJNEA,#40H,LOOP2LOOP2

6、:JNCNEXT2MOVB,#2MULABAJMPNEXT2NEXT1:CPLANEXT2:MOV21H,AEND从内部RAM22h单元开始存有一个无符号数数据块,长度n存于21h中。求出数据块中的最小数,存于20h中。ORG0030HMOVR0,#22H;数据块起始地址MOVR1,21H;数据个数nMOV20H,#0FFH;最大数LOOP:MOVA,@R0;取新数INCR0;为取下一个新数作准备CJNEA,20H,LOOP1;与原最大数比较LOOP1:JNCNEXT;大,原最小数保留MOV20H,A;小,改变最小数NEXT:DJNZR

7、1,LOOP;循环END10.ASCII码转换为十六进制数:AHEX:CLRCSUBBA,#30HCJNEA,#0AH,NN:JCN1SJMPAEN1:SUBBA,#11HCJNEA,#06H,N2N2:JNCERRADDA,#0AHSJMPAEERR:MOVA,#0FFHAE:RET8位二进制转换成BCD码。(用十进制表达的二进制码)BINBCD1:MOVB,#100DIVABMOV@R0,AINCR0MOVA,#10XCHA,B;(A)=原(B),(B)=10DIVABMOV@R0,AINCR0XCHABMOV@R0,ARET11.

8、要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。解:INT0输入按键信号,P1.0输出改变LED状态。1、跳变触发:每次跳变引起一次中断请求。ORG0000H;复位入口AJMPMAIN单片机 I

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

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

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