补全程序、编写程序_第1页
补全程序、编写程序_第2页
补全程序、编写程序_第3页
补全程序、编写程序_第4页
补全程序、编写程序_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、补全程序1、完成下面子程序:SQR: PUSH DPHPUSH DPLMOV DPTR, #TABLEMOVC A, A+DPTR( )RET TABLE:DB 0, 1, 4, 9, 16, 25, 36, 49, 64, 81;ENDA. POP DPL POP DPH B. PUSH DPL PUSH DPH C. POP DPH POP DPL D. PUSH DPH PUSH DPL编写程序2、 试编写程序,查找在内部RAM的20H40H单元中出现 “00H”这一数据的次数,并将查找到的结果存入41H单元ORG 0000HLJMP STARTORG 0040HSTART:MOV 41

2、H,#0 MOV R1,#20HMOV R2,#33LOOP0:MOV A,R1CJNE A,#0,LOOP1INC 41HLOOP1:INC R1DJNZ R2,LOOP0 END3. 在数据块大于20的数据块长度中,求出数据块中大于64H的数的个数。P1口做输出口,接八只发光二极管,用发光二极管显示大于64H的个数设计出程序流程图,并编写程序。发挥部分:发光二极管闪烁显示大于64H的个数。ORG0000HLJMPMAINORG0030HMAIN: MOVSP, #60HCLRAMOV R2,A ;计数寄存器清0MOV P1,#0FFHMOV R3,#20 ;计数块长度为20START: M

3、OV DPTR,#DATA1;设置数据块起始地址指针LOOP: CLRAMOVC A,A+DPTR ;取数INCDPTR;修改数据块地址指针CJNEA,#64H,ONE ;判断数据是否大于64HLJMPTWOONE:JCTWO;小于64H转移INCR2;大于64H,计数器R2加1TWO:DJNZR3,LOOP ;判断取数是否结束LOOP1: MOVA,R2MOV P1,A ;计数器R2送入P1口输出ACALL DELAY1;延时100mSCLR AMOVP1,AACALL DELAY2;延时1SSJMPLOOP1DATA1: DB 9AH,66H,80H,25HDB 34H,76H,0AH,0

4、BCHDB 33H,0EDH,88H,0CCHDB 45H,11H,90H,56HDB 35H,28H,65H,0FEHDELAY1: MOVR0,#00HDELAY11: MOVR1,#0B3HDJNZR1,$DJNZR0,DELAY11RETDELAY2: MOVR4,#0AHDELAY21: ACALL DELAY1DJNZR4,DELAY21RETEND4、 设有100个有符号数,连续存放在以2000H为首地址的存储区中,试编程统计其中正数、负数、零的个数并分别存放在30H、31H、32H单元中。MOV 30H,#0MOV 31H,#0MOV 32H,#0MOV DPTR ,#2000

5、HMOV R1,#100L4: MOVX A,DPTRINC DPTRCJNE A,#0,L1INC 32HSJMP L2L2:JC L3INC 30HSJMP L2L3:INC 31HL2:DJNZ R1,L4SJMP $5、 编程将内部数据存储器20H24H单元压缩的BCD码转换成ASC存放在于25H开始的单元。ORG 0000H MOV R7,#05H ;R7为转换字节数 MOV R0,#20H ;R0为源操作数地址 MOV R1,#25H ;R1为目的操作数地址NE:MOV A,R0 ANL A,#0FH ;先取低位BCD码 ADD A,#30H ;将BCD码转换成ASC码 MOV R

6、1,A INC R1 MOV A,R0 ANL A,#0F0H ;取高位BCD码 SWAP A ;半字节交换 ADD A,#30H ;将高位BCD码转换成ASC码 MOV R1,A INC R0 INC R1 DJNZ R7,NE SJMP $ END6、使用定时/计数器0以工作方式2实现定时,在P1.0输出周期为200s的连续方波。已知晶振频率fosc=6MH。求计数初值,方式控制字,编制相应程序.(中断方式)解:(2分)计数初值X=256-50=206=CEH(2分)TMOD=02H(6分)主程序:MOVTMOD#02HMOVTH0,#0CEHMOVTL0,#0CEHSETBEASETBE

7、T0LOOP:SETBTR0HERE:S JMP$中断服务程序:CPLP1.0RETI7、编程将片内RAM20H2FH 单元开始的16个数传送到片外RAM 3000H300FH 开始的单元中。MOV R0,#20HMOV DPTR,#3000HMOV R7,#10H (6分)LOOP: MOV A,R0MOVX DPTR,AINC R0INC DPTRDJNZ R7,LOOPNOPEND (6分)8、将存放在单片机片内数据存储器30H,31H,32H三个单元中不同的数据按从小到大的顺序排序,并将结果存放在片内RAM的30H32H中。MOV SP,#52HMOV A,30HCLR C SUBB A,31HJC LP1MOV A,31HXCH A,30HMOV 31H,A (3分)LP1: MOV A,30HCLR CSUBB A,32HJC LP2MOV A,32HXCH A,30HXCH A,31HMOV 32H,ASJMP LP3 (3分)LP2: MOV A,31HCLR CSUBB A,32HJC LP3MOV A,31HXCH A,32HMOV 31H,ASJMP LP3LP3: NOP (4分)SJM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论