77范文网 - 专业文章范例文档资料分享平台

第四章 汇编语言程序设计(3)

来源:网络收集 时间:2020-06-19 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

AJMP DEL

REP: SETB P1.2 ;P1.0输出低电平

DJNZ R0,DEL AJMP LOOP END

6、在89S51单片机中,已知时钟频率为12MHz,请编程使P1.0和P1.1分别输出周期为2ms和500μs的方波。

答:选择方式2,用定时器T1 MOV TMOD,#20H MOV TH1,#06H MOV TL1,#06H SETB TR1

L1: MOV R2,#04H L2: JNB TF1,$ CLR TF1, CPL P1.1 DJNZ R2,L2 CPL P1.0 LJMP L1

7、设系统时钟为24MHz,试用定时器T0做外部计数器,编程实现每计到1000个脉冲,是T1开始2ms定时,定时时间到后,T0又开始计数,循环往复。

答: MOV TMOD,#15H ;T1定时方式1,T0计数方式1 L1: MOV TH0,#0FCH MOV TL0,#18H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0

MOV TH1,# H MOV TL1,# H SETB TR1 JNB TF1,$ CLR TR1 CLR TF1 LJMP L1 8、略

第六章 80C51的串行接口

1、什么是串行异步通信?他有哪些特点?有哪几种帧格式? 答:串行通信即所传输数据的各位按顺序一位一位的发送或接收。串行通信分为同步和异步两种方式。

在异步通信中数据或字符是一帧一帧地传送的。帧定义为一个字符的完整的通信格式,通常也称为帧格式。

它的主要特点:由于异步通信每传送一帧有固定的格式,通信双方只需按约定的帧格式来发送和接收数据,所以硬件结构比同步通信方式简单;此外它还能利用校验位检测错误。

帧格式的一般形式是先用一个起始位“0”表示字符的开始,然后是数据位,其后是奇偶校验位,最后是停止位,用以表示字符结束。

2、某异步通信接口按方式3传送,已知其每分钟传送3600个字符,计算其传送波特率。 答:设每个字符由1个起始位、8个数据位、1个可编程位和1个结束位组成,其传送波特率为:

11b×3600/60s=660bps

3、80C51单片机的串行口由哪些基本功能部件组成? 答: 80C51单片机的串行口基本功能部件主要有:两个数据缓冲寄存器SBUF,一个串行口控制寄存器SCON,一个输入移位寄存器。

4、80C51单片机的串行口有几种工作方式?几种帧格式?如何设置不同方式的波特率? 答:80C51单片机的串行口有四种工作方式,由串行口控制寄存器中的SM0、SM1控制。

80C51单片机的串行通信有8位、10位、11位三种帧格式。

波特率设置:4种工作方式波特率的计算方法不同,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是可变的,均由定时器T1的溢出率控制。具体计算如下:

方式0:波特率固定为时钟频率的1/12,不受SMOD的影响。(SMOD为波特率倍增位)

SMOD

方式1的波特率=2/32×定时器T1的溢出率

SMOD

方式2的波特率=2/64×fosc

SMOD

方式3的波特率=2/32×定时器T1的溢出率

5、为什么定时器T1用作串行口波特率发生器时,常采用工作方式2?

答:在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定的约定。串口有四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,有定时器T1的溢出率控制。定时器T1用作串行口波特率发生器时,因为工作方式2是自动重装载方式,因而定时器T1作波特率发生器常采用工作方式2.

6、已知定时器T1设置成方式2,用作波特率发生器,系统时钟频率为24MHz,求可能产生的最高和最低的波特率是多少?

答:最高波特率:TH1=0FFH,TL1=0FFH

波特率最高=2/32×24M/(12×(256-255))bps=0.125Mbps 最低波特率:TH1=00H,TL1=00H

波特率最低=1/32×24M/(12×(256-0))bps=244bps

7、略(参见教材相关例题)

8、利用AT89S51串行口控制8个发光二极管工作,要求发光二极管每隔1S交替的亮灭,画出电路并编写程序。 答:电路如下图所示

实验程序如下:

CLR P1.0 SETB P1.0

;清输出

;允许串行移位

MOV SCON,#00H

MOV A,#55H ;显示初值 AGAIN: MOV SBUF,A JNB TI,$ CLR TI LCALL DLY_1S RR A LJMP AGAIN DLY_1S: MOV R1,#20 L3: MOV R2,#200 L2: MOV R3,#250 L1: DJNZ R3,L1 DJNZ R2,L2 DJNZ R1,L3 RET

9、串行口异步通信时,ASCII码“3”的字符格式(10位)如何?

答:串行口异步通信时,10位的数据帧结构为:一个起始位(0),8个数据位(先低位后高位),一个停止位(1)。

故ASCII码“3” 的字符格式为:0110011001B。

10、若选用定时器T1作波特率发生器,设fosc=6MHz,计数初值为0FDH,SMOD=1,求波特率是多少?

答:若选用定时器 T1作波特率发生器,波特率由下式确定:

波特率=(定时器T1溢出率)/n

公式中:①n为32或16,取决于特殊功能寄存器PCON中的SMOD位的状态。若SMOD=0,则n=32。若SMOD=1,则n=16。②定时器T1溢出率=定时器T1的溢出次数/秒。 由题可知:fosc=6MHz,计数初值为0FDH,SMOD=1,故

6MHz?10.42kHz

16?12??256?0FDH?第七章 中断系统

1、什么是中断?在单片机中中断能实现哪些功能?

答:中断是通过硬件来改变CPU程序运行方向。计算机在执行程序过程中,由于CPU以外的原因,有必要尽快终止当前程序的执行,而去执行相应的处理程序,待处理结束后,在回来继续执行被终止的原程序。这种程序在执行过程中由于外界的原因而被中间打断的情况成为“中断”。

中断能实现的功能:(1)能实现中断及返回。

(2)能实现优先权的排队。 (3)能实现中断的嵌套。

2、什么是中断优先级?中断优先级处理的原则是什么?

答:通常,在系统中会有多个中断源,有时会出现两个或更多个中断源同时提出中断请求的情况,这就要求计算机能区分各个中断源的请求,有能确定首先为哪一个中断源服务。为了解决这一问题,通常给各中断源规定了优先级别,称为优先权或中断优先级。

中断优先级处理原则:两个或两个以上的中断源同时提出中断申请时,计算机首先为中断优先权最高的中断服务,服务结束以后,再响应级别较低的中断源。

3、80C51有几个中断源,各中断标志如何产生的,又如何清“0”的?CPU响应中断时,中断入口地址各是多少?

答:8051单片机有5个中断源,分别是:外部中断0、定时器T0中断、外部中断1、定时器T1中断、串行口中断。

中断标志产生与清“0”: (1)外部中断:外部中断由外部原因引起,可以通过两个固定的引脚(INT0和INT1)输入信号。一旦输入信号有效,则向CPU申请中断并使IE0(或IE1)=1。硬件复位。 (2)定时器中断:定时器中断是为了满足定时或计数溢出处理的需要而设置的。当定时/计数器的计数结构发生计数溢出时,即表明定时时间到或计数次数到,此时就以计数器溢出信号作为中断请求,去置一个溢出标志位(TF0或TF1=1)。使用中断时通过硬件复位,在查询方式下可由软件复位。

(3)串口中断:串行中断请求是在单片机内部产生的。当发送完数据或接收完数据后,就会置相应标志位(TI或RI=1)。一旦响应中断,必须由软件进行复位。

中断入口地址:外部中断0、定时器T0中断、外部中断1、定时器T1中断、串行口中断的入口地址依次为:0003H,000BH,0013H,001BH,0023H。 4、中断响应时间是否确定不变的?为什么?

答:中断响应时间不是确定不变的。由于CPU不是在任何情况下都可以中断请求予以响应,不同情况对中断响应的时间也是不一样的。中断信号会在每个机器周期的S5P2时刻对相应中断标志位进行置位,若CPU在下一个机器周期才能查询到中断请求,如果满足中断响应的条件,下一条指令将是一硬件长调用指令,使程序转入中断矢量入口,调用本身需要2个机器周期,因此响应中断至少需要3个机器周期。如遇正在执行的指令,或有同级、更高级的中断服务正在进行,则需更长时间。若系统中只有一个中断源,则响应时间为3~8个机器周期。

5、用定时器T1定时,要求在P1.6口输出一个方波,周期为1min,晶振为12MHz,请用中断方式实现,并分析采用中断后的优点。

答:使用定时器T1,工作在方式1,定时50ms ORG 0000H LJMP MAIN ORG 001BH LJMP T1_SER ORG 0100H

MAIN: MOV TMOD,#10H

MOV R0,#20 ;1s定时次数 MOV R1,#30 ;定时30s MOV TH1,#3CH MOV TL1,#0B0H SETB ET1 SETB EA SETB TR1 SETB P1.6 SJMP $ 0RG 0200H T1_SER: MOV TH1,#3CH

MOV TL1,#0B0H DJNZ R0,L1 MOV R0,#20 DJNZ R1,L1 MOV R1,#30 CPL P1.6 L1: RETI

6、中断响应过程中,为什么通常要保护现场?如何保护?

答:因为一般主程序和中断服务程序都可能会用到累加器、PSW及其他寄存器。CPU在进入中断服务程序后,用到上述寄存器时,就会破坏原来存在寄存器中的内容,一旦中断返回,就会造成主程序的混乱。因此在进入中断服务程序后,一般要先保护现场,然后在执行中断处理程序,在返回主程序之前再恢复现场。

保护方法一般是把累加器、PSW或其他相关寄存器数据压入堆栈。在保护现场时,一般规定此时CPU不响应新的和中断请求,这就要求在编写中断服务程序时,注意在保护现场或恢复现场时要关闭中断。

7、试用中断法设计秒、分脉冲发生器。

答:利用定时器T0定时,P1.0作为秒发生器输出端,P1.1作为分脉冲发生器的输出端。设晶振为12MHz。片内50H和51H单元分别用于秒、分计数。使用T0方式1定时50ms。 ORG 0000H

LJMP MAIN

ORG 000BH` LJMP T0_SER ORG 0100H

MAIN: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV 50H,#20 MOV 51H,#60 SETB ET0 SETB EA SETB TR0 SJMP $ ORG 0200H T0_SER: MOV TH0,#3CH MOV TL0,#0B0H DJNZ 50H,L1 MOV 50H,#20 SETB P1.0 NOP NOP

CLR P1.0

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库第四章 汇编语言程序设计(3)在线全文阅读。

第四章 汇编语言程序设计(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1110342.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: