ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:48.87KB ,
资源ID:8258625      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8258625.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四章汇编语言程序设计docxWord格式.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

第四章汇编语言程序设计docxWord格式.docx

1、 MOV A,22H ADD A,32H MOV 42H,A MOV A,23H ADDC A,33H MOV 43H,A4、略5、编程计算片内RAM区50H59H单元中数的平均值,结果存放在5AH中。 MOV R0,#8 MOV R1,#50H MOV A,#00H ADD A,R1 DJNZ R0,L1 MOV B,#8 DIV AB MOV 5AH,A6、编写计算下式的程序。设乘积和平方结果均小于255。a 、b值分别存在片外3001H和3002H单元中,结果存于片外3000H单元中。(1) MOV DPTR,#3001H MOVX A,DPTR MOV 30H,A ;a暂存30H单元

2、INC DPL CJNE A,30H,L1 ;是否a=b MOV A,#25 SJMP SAVE JNC L2 MOV B,30H MUL ABL2: MOV B,A MOV A,30HSAVE: MOV DPTR,#3000H MOVX DPRT,A(2) ADD A,30H MUL AB ; (ab)2 CJNE A,#10,L1 JC L2 SUBB A,#10 ADD A,#10 MOVC DPTR,A7、设有两个长度均为15的数组,分别存放在以200H和210H为首地址的存储区中,试编程求其对应项之和,结果存放到以220H为首地址的存储区中。 MOV DPH,#02H MOV R1,

3、#15 MOV R2,#00H ; 数组1首地址低位 MOV R3,#10H ; 数组2首地址低位 MOV R4,#20H ; 和首地址低位 MOV DPL,R2 MOV R1,A MOV DPL,R3 ADD A,R1 MOV DPL,R4 MOVX DTPR,A INC R2 INC R3 INC R4 DJNZ R1,L1 SJMP $8、设有100个无符号数,连续存放在以2000H为首地址的存储区中,试编程统计正数、负数和零的个数。 MOV 30H,#00H ;正数计数器 MOV 31H,#00H ;负数计数器 MOV 32H,#00H ;零计数器 MOV DPTR,#2000H MO

4、V R1,#100L4: CJNE A,#0,L1 INC 32H SJMP L2 JC L3 INC 30HL3: INC 31H DJNZ R1,L49、将片外数据存储器地址为1000H1030H的数据块,全部搬迁到片内RAM 30H60H中,并将原数据块区域全部清零。 MOV R0,#30HMOV R2,#31HMOV DPTR ,#1000HLP: MOVX A,DPTRMOV R0,AAND A,#00HMOVX DPTR,AINC R0INC DPTRDJNZ R2,LP10、试编写一子程序,是R1、R0指向的两个片外RAM连续单元中的高4位二进制数,合并成一个字节,装入累加器A中

5、。已知R0指向低地址,并要求该单元高四位放在A中高四位。 MOVX A,R1 ANL A,#0F0H SWAP A MOV R2,A MOVX A,R0 ORL A,R211、试编程把以2040H为首地址的连续50个单元的无符号数按降序排列,存放到以3000H为首地址的存储区中。 MOV R2,#50 MOV R3,#20H MOV R4,#40H ;源地址 MOV R5,#30H MOV R6,#00H ;目的地址SEND: MOV DPH,R3 ;SEND将2040H数据块移入3000H存储区 MOV R3,DPH MOV R4,DPL MOV DPH,R5 MOV DPL,R6 MOV

6、R5,DPH MOV R6,DPL DJNZ R2,SEND MOV R2,#49 ;重复次数CMP1: MOV R3,#49 ;比较次数CMP2: MOVX A,DPTR CJNE A,B,L1 JC NOMOVEMOV 30H,ACLR CMOV A,DPLSUBB A,#01HMOV DPL,AMOV A,30HMOVX DPTR,AMOV A,BNOMOVE: DJNZ R3,CMP2 ;50个数重复一遍? DJNZ R2,CMP1 ;排序结束? LJMP $12、试编一查表程序,从首地址为2000H,长度为100的数据块中找出ASCII码为A,将其地址送到20A0H和20A1H单元中

7、。 MOV DPTR,#2000H MOV R2,#100GO_ON: CJNE A,#41H,IFEND MOV A,DPH MOV B,DPL MOV DPTR,#20A0H SJMP OVERIFEND: INC DPTR DJNZ R2,GO_ONOVER: SJMP OVER13、设在200H204H单元中,存放5个压缩BCD码,编程将他们转换成ASCII码,存放到以205H单元为首地址的存储区。 MOV R2,#05H MOV R3,#02H MOV R4,#00H MOV R5,#02H MOV R6,#05HCHLP: MOV DPH,R3MOV DPL,R4 ANL A,#0

8、FH ORL A,#30H MOV A,B DJNZ R2,CHLP14、有一无符号数据块长度在30H单元中,其首地址为31H单元,求出数据块中最大值,并存入40H中。 MOV R0,#31H MOV R1,30H MOV 40H,#00HLOOP: MOV A,R0 CJNE A,40H,L1 SJMP AGAIN MOV 40H,AAGAIN: INC R0 DJNZ R1,LOOP15、略16、在以2000H为首地址的存储区内,存放20个用ASCII码表示的09之间的数,试编程,将它们转换成BCD码,并以压缩BCD码的形式存在3000H3009H单元中。 MOV R2,#10 MOV R

9、6,#00H MOV DPH,R3 ORL A,B DJNZ R2,LP17、试编程实现下列逻辑表达式功能。设P1.7P1.0为8个变量的输入端,而其中P1.7又作为变量的输出端。 ;输入端定义 X0 EQU P1.0X1 EQU P1.1X2 EQU P1.2X3 EQU P1.3X4 EQU P1.4X5 EQU P1.5X6 EQU P1.6 X7 EQU P1.7 MOV C,X0 ANL C,X1 ANL C,/X2 ORL C,X3 MOV 00H,C MOV C,X4 ANL C,X5 ANL C,X6 ORL C,/X7 ORL C,00H MOV P1.7,C CPL C M

10、OV C,X2 ANL C,X3 ANL C,X4 MOV 01H,C MOV C,X5 ANL C,X7 ORL C,O1H18、略 19、略20、试编写延时1s、1min、1h子程序。单片机时钟fosc=12MHz,计算为近似值1s延时子程序DLY_1S: MOV R0,#10 MOV R1,#200 MOV R2,#250 DJNZ R1,L2 DJNZ R0,L3 RET延时1minDLY_1M: MOV R3,#60 LCALL DLY_1S DJNZ R3,L4延时1hDLY_1H: MOV R4,#60L5: LCALL DLY_1M DJNZ R4,L521、用程序实现c=a2

11、+b2。设a、b均小于10,a存在31H单元中,b存在32H单元中,c存33H单元。 ORG 1000H SR: MOV A,31HACALL SQR MOV R1,A MOV A,32HADD A,R1 MOV 33H,A SJMP $ ;求平方子程序如下(采用查平方表的方法)SQR: INC A MOVC A, A+PC RET TABLE: DB 0, 1, 4, 9, 16 DB 25,36,49,64,81 END 22、如何实现将内存单元40H60H的数逐个对应传到片外2540H2560H单元中? MOV R0,#40H MOV DPTR,#2540H MOV A,R0 INC R

12、023、参考21题24、参考21题25、参考实验程序26、参考实验程序第五章 定时/计数器1、89S51单片机内部有几个定时/计数器,他们有哪些专用寄存器组成?89S51单片机内部有两个16位定时/计数器,为定时器0(T0)和定时器1(T1)。在定时器/计数器的16位的计数器是由两个8位的专用寄存器TH0、TL0,TH1、TL1组成。2、89S51单片机的定时/计数器有哪几种工作方式,各有什么特点?定时器/计数器有四种工作方式:方式0,方式1,方式2,方式3。其中,方式3只适用于T0。以T0为例:方式0,16位寄存器只用了13位,TL0的高三位未用。由TH0的8位和TL0的低5位组成一个13位

13、计数器;方式1,和方式0的工作相同,唯一的差别是TH0和TL0组成一个16位计数器;方式2,把TL0配置成一个可以自动恢复初值的8位计数器,TH0作为常数缓冲器。TH0由软件预置值。当TL0产生溢出时,一方面使溢出标志TF0置1,同时把TH0中的8位数据重新装入TL0中;方式3,将使TL0和TH0成为两个相互独立的8位计数器,TL0利用T0本身的一些控制,它的操作与方式0和方式1类似。而TH0被规定为只用作定时器功能,对机器周期计数,并借用了T1的控制位TR1和TF1。在这种情况下TH0控制了T1的中断。这时T1还可以设置为方式02,用于任何不需要中断控制的场合,或者用作串行口的波特率发生器。

14、3、定时/计数器用作定时方式时,其定时时间与哪些因素有关?作为计数时,对外界计数频率有何限制?定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率和定时初值有关。定时/计数器作计数时,由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。4、当定时器T0用作方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭?定时器T0用作方式3时,由于TR1位已被T0占用,此时通过控制位C/T切换其定时或计数器工作方式。当设置好工作方式时,定时器T1自动开始运行,若要停止,只需送入一个置定时

15、器T1为方式3的方式字。5、已知89S51单片机系统时钟频率为24MHz,请利用定时器T0和P1.2输出矩形脉冲。矩形波高电平宽度50s,低电平宽度350s。 ORG 1000HMOV TMOD,02H ;设置工作方式MOV TH0,09CH ;设置定时器初值MOV TL0,09CH SETB TR0 ;启动定时器LOOP: SETB P1.2 ;P1.0输出高电平MOV R0,07H DEL: JBC TF0 ,REP ;定时是否到?AJMP DELREP:P1.0输出低电平DJNZ R0,DELAJMP LOOPEND6、在89S51单片机中,已知时钟频率为12MHz,请编程使P1.0和P

16、1.1分别输出周期为2ms和500s的方波。选择方式2,用定时器T1 MOV TMOD,#20H MOV TH1,#06H MOV TL1,#06H SETB TR1 MOV R2,#04H JNB TF1,$ CLR TF1, CPL P1.1 DJNZ R2,L2 CPL P1.0 LJMP L17、设系统时钟为24MHz,试用定时器T0做外部计数器,编程实现每计到1000个脉冲,是T1开始2ms定时,定时时间到后,T0又开始计数,循环往复。 MOV TMOD,#15H ;T1定时方式1,T0计数方式1 MOV TH0,#0FCH MOV TL0,#18H SETB TR0 JNB TF0

17、,$ CLR TR0 CLR TF0 MOV TH1,# H MOV TL1,# H CLR TR1 CLR TF18、略第六章 80C51的串行接口1、什么是串行异步通信?他有哪些特点?有哪几种帧格式?串行通信即所传输数据的各位按顺序一位一位的发送或接收。串行通信分为同步和异步两种方式。在异步通信中数据或字符是一帧一帧地传送的。帧定义为一个字符的完整的通信格式,通常也称为帧格式。它的主要特点:由于异步通信每传送一帧有固定的格式,通信双方只需按约定的帧格式来发送和接收数据,所以硬件结构比同步通信方式简单;此外它还能利用校验位检测错误。帧格式的一般形式是先用一个起始位“0”表示字符的开始,然后是

18、数据位,其后是奇偶校验位,最后是停止位,用以表示字符结束。2、某异步通信接口按方式3传送,已知其每分钟传送3600个字符,计算其传送波特率。设每个字符由1个起始位、8个数据位、1个可编程位和1个结束位组成,其传送波特率为: 11b3600/60s=660bps3、80C51单片机的串行口由哪些基本功能部件组成?答: 80C51单片机的串行口基本功能部件主要有:两个数据缓冲寄存器SBUF,一个串行口控制寄存器SCON,一个输入移位寄存器。4、80C51单片机的串行口有几种工作方式?几种帧格式?如何设置不同方式的波特率?80C51单片机的串行口有四种工作方式,由串行口控制寄存器中的SM0、SM1控

19、制。80C51单片机的串行通信有8位、10位、11位三种帧格式。波特率设置:4种工作方式波特率的计算方法不同,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是可变的,均由定时器T1的溢出率控制。具体计算如下:方式0:波特率固定为时钟频率的1/12,不受SMOD的影响。(SMOD为波特率倍增位)方式1的波特率=2SMOD/32定时器T1的溢出率 方式2的波特率=2SMOD/64fosc方式3的波特率=2SMOD/32定时器T1的溢出率5、为什么定时器T1用作串行口波特率发生器时,常采用工作方式2?在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定的约定。串口有四种工作方

20、式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,有定时器T1的溢出率控制。定时器T1用作串行口波特率发生器时,因为工作方式2是自动重装载方式,因而定时器T1作波特率发生器常采用工作方式2.6、已知定时器T1设置成方式2,用作波特率发生器,系统时钟频率为24MHz,求可能产生的最高和最低的波特率是多少?最高波特率:TH1=0FFH,TL1=0FFH波特率最高=2/3224M/(12(256255)bps=0.125Mbps最低波特率:TH1=00H,TL1=00H 波特率最低=1/32(2560)bps=244bps7、略(参见教材相关例题)8、利用AT89S51串行口

21、控制8个发光二极管工作,要求发光二极管每隔1S交替的亮灭,画出电路并编写程序。电路如下图所示 实验程序如下:CLR P1.0 ;清输出 SETB P1.0 ;允许串行移位 MOV SCON,#00H MOV A,#55H ;显示初值 MOV SBUF,A JNB TI,$ CLR TI RR A LJMP AGAIN MOV R1,#20 MOV R2,#200 MOV R3,#250 DJNZ R3,L1 DJNZ R1,L39、串行口异步通信时,ASCII码“3”的字符格式(10位)如何?串行口异步通信时,10位的数据帧结构为:一个起始位(0),8个数据位(先低位后高位),一个停止位(1)。故ASCII码“3” 的字符格式为:0110011001B。10、若选用定时器T1作波特率发生器,设fosc=6MHz,计数初值为0FDH,SMOD=1,求波特率是多少?若选用定时器 T1作波特率发生器,波特率由下式确定:波特率=(定时器T1溢出率)/n

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2