单片机第7章答案

合集下载

单片机原理及接口技术课后答案第七章

单片机原理及接口技术课后答案第七章

第七章1、什么是串行异步通信,它有哪些作用?答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。

通信采用帧格式,无需同步字符。

存在空闲位也是异步通信的特征之一。

2、89C51单片机的串行口由哪些功能部件组成?各有什么作用?答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。

由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。

串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。

定时器T1产生串行通信所需的波特率。

3、简述串行口接收和发送数据的过程。

答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。

当向SBUF发“写”命令时(执行“MOV SBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。

在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN (SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。

当发读SBUF命令时(执行“MOV A, SBUF”),便由接收缓冲期SBUF 取出信息通过89C51内部总线送CPU。

4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:89C51串行口有4种工作方式:方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。

有2种帧格式:10位,11位方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)方式2:方式2波特率≌2SMOD/64×fosc方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率)如果T1采用模式2则:5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?答:已知每分钟传送3600个字符,方式3每个字符11位,则:波特率=(11b/字符)×(3600字符/60s)=660b/s6、89C51中SCON的SM2,TB8,RB8有何作用?答:89c51SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。

《单片机原理及应用教程》第7章:单片机的串行通信及接口

《单片机原理及应用教程》第7章:单片机的串行通信及接口
8051单片机通过引脚RXD和TXD进行串行通信。其串行口结构包括控制寄存器SCON和PCON,分别用于配置工作方式和波特率。串行通信可选工作方式有四种:方式0为同步移位方式,方式1、方式2和方式3为异步收发方式,不同方式下帧格式和时序有所不同。波特率是数据传送速率,可通过设置定时器T1和SMOD位来调整。在方式0下,波特率固定为fosc/12;方3的波特率则通过T1溢出率和SMOD位共同决定。此外,文档还提供了波特率设计的实例和初始化程序,帮助读者更好地理解和应用8051单片机的串行通信功能。

第7章补充习题

第7章补充习题

第7章 MCS-51的串行口一、填空1. MCS-51单片机的串行接口有种工作方式。

其中方式为多机通信方式。

2. 串行口中断标志RI/TI由置位,清零。

3. MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器()加以选择.4. 用串口扩并口时,串行接口工作方式应选为方式。

5. 串行通信按照数据传送方向可分为三种制式: 、 和 。

6. 波特率定义为 。

串行通信对波特率的基本要求是互相通信的甲乙双方必须具有的 波特率。

7. 多机通信时,主机向从机发送信息分地址帧和数据帧两类,以第9位可编程TB8作区分标志。

TB8=0,表示 ;TB8=1,表示 。

8. 当从机 时,只能接收主机发出的地址帧,对数据不予理睬。

9. 多机通信开始时,主机首先发送地址,各从机核对主机发送的地址与本机地址是否相符,若相符,则置 。

二、判断1. 要进行多机通信,MCS-51串行接口的工作方式应为方式1。

()2. MCS-51的串行接口是全双工的。

()3. MCS-51上电复位时,SBUF=00H。

()。

三、简答1. 串行通信和并行通信有什么区别?各有什么优点?2. 什么是串行异步通信,它有哪些作用?并简述串行口接收和发送数据的过程。

3. 简述MCS-51单片机多机通信的特点。

4. 若异步通信按方式2传送,每分钟传送3000个字符,其波特率是多少?5. 什么是串行异步通信,它有哪些作用?并简述串行口接收和发送数据的过程。

6. 8051单片机四种工作方式的波特率应如何确定?7. 某异步通信接口,其帧格式由1个起始位(0),7个数据位,1个偶校验和1个停止位(1)组成。

当该接口每分钟传送1800个字符时,试计算出传送波特率。

8. 串行口工作方式在方式1和方式3时,其波特率与fosc、定时器T1工作模式2的初值及SNOD位的关系如何?设fosc=6MHz,现利用定时器T1模式2产生的波特率为110bps。

试计算定时器初值。

单片机课后题答案

单片机课后题答案

第三章习题解答4.在8051片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H,试分析下段程序中各条指令的作用,说出按顺序执行完指令后的结果:MOV A.40H ;(A)=48HMOV R1,A ;(R1)=48HMOV P1,#0FOH ;(P1)=F0HM0V @R1,30H ;(48H)=38HMOV DPTR,#1234H ;(DPTR)=1234HMOV 40H,38H ;(40H)=40HMOV R1,30H ;(R1)= 38HMOV 90H,R1 ;(90H)= 38H ,P1的地址为90HMOV 48H,#30H ;(48H)= 30HMOV A,@R1 ; (A)= 40HMOV P2,P1 ; (P2)= 38H F0H错误8.试编程将片外数据存储器80H单元的内容送到片内RAM的2BH单元。

MOV DPTR, #0080H 或:MOV R0, #80HMOVX A, @DPTR MOV P2,#00HMOV 2BH, A MOVX A, @R0MOV 2BH, A10.试编程将片内RAM20H单元中的两个BCD数拆开,并变成相应的ASCII码存入片内RAM 21H和22H单元。

MOV A, 20H ;20H的内容不变ANL A,#0F0HSWAP A ;4次移位 RR A 也可以ADD A,#30HMOV 21H, AMOV A, 20HANL A,#0FHADD A,#30HMOV 22H, A12.试分析以下两段程序中各条指令的作用,程序执行完后转向何处?(1) MOV P1,#0CAH ;(P1)= 11001010MOV A,#56H ;(A)= 01010110JB P1.2,L1JNB ACC.3,L2 ;转向L2L1:…L2:…(2)MOV A,#43H ;(A)=01000011JBC ACC.2,L2JBC ACC.6,L2 ;转向L2L1:…L2:…18.分析下列程序执行后,(SP)的值。

第7章习题解答

第7章习题解答

第7章思考题及习题7参考答案一、填空1. AT89S52单片机任何一个端口要想获得较大的驱动能力,要采用电平输出。

答:低2.检测开关处于闭合状态还是打开状态,只需把开关一端接到I/O端口的引脚上,另一端接地,然后通过检测来实现。

答: I/O端口引脚的电平3. “8”字型的LED数码管如果不包括小数点段共计段,每一段对应一个发光二极管,有和两种。

答:7,共阳极,共阴极4. 对于共阴极带有小数点段的数码管,显示字符“6”(a段对应段码的最低位)的段码为,对于共阳极带有小数点段的数码管,显示字符“3”的段码为。

答:7DH,B0H5. 已知8段共阳极LED数码显示器要显示某字符的段码为A1H(a段为最低位),此时显示器显示的字符为。

答:d6. LED数码管静态显示方式的优点是:显示闪烁,亮度,比较容易,但是占用的线较多。

答:无,较高,软件控制,I/O口7. 当显示的LED数码管位数较多时,一般采用显示方式,这样可以降低,减少的数目。

答:动态,成本,I/O端口8. LCD 1602是型液晶显示模块,在其显示字符时,只需将待显示字符的由单片机写入LCD 1602的显示数据RAM(DDRAM),内部控制电路就可将字符在LCD上显示出来。

答:字符,ASCII码9. LCD 1602显示模块内除有字节的 RAM外,还有字节的自定义,用户可自行定义个5×7点阵字符。

答:80,显示数据,64,字符RAM,810.当按键数目少于8个时,应采用式键盘。

当按键数目为64个时,应采用式键盘。

答:独立,矩阵11.使用并行接口方式连接键盘,对独立式键盘而言,8根I/O口线可以接个按键,而对矩阵式键盘而言,8根I/O口线最多可以接个按键。

答:8,6412.LCD 1602显示一个字符的操作过程为:首先,然后,随后,最后。

答:读忙标志位BF,写命令,写显示字符,自动显示字符13.由于微型打印机TPµP-40A/16A是一种外设,因此单片机与微型打印机的的命令与数据传送,必须采用方式。

单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第7章习题解答

单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第7章习题解答

第7章思考题及习题7参考答案一、填空1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。

答:32.768ms,262.144ms,1024µs2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。

答:1/243.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。

答:系统时钟信号12分频后,定时器初值4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。

答:方式1定时,131.072ms。

5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。

答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。

答:FCH,18H。

二、单选1.定时器T0工作在方式3时,定时器T1有种工作方式。

A.1种B.2种 C.3种D.4种答:C2. 定时器T0、T1工作于方式1时,其计数器为位。

A.8位B.16位C.14位D.13位答:B3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。

A. 仅取决于TR x状态B. 仅取决于GATE位状态C. 是由TR x和INT x两个条件来共同控制D. 仅取决于INT x的状态答:C4. 定时器T2工作在自动重装载方式时,其计数器为位。

A.8位B. 13位C.14位D. 16位答:D5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。

A.87HB. 09HC.80HD. 00H答:B三、判断对错1.下列关于T0、T1的哪些说法是正确的。

A.特殊功能寄存器SCON,与定时器/计数器的控制无关。

单片机原理与应用及C51程序设计第7章习题答案

单片机原理与应用及C51程序设计第7章习题答案

第7章习题答案7-1 键抖动对单片机系统有何影响?有哪些消除抖动的方法?答:由于按键是机械开关结构,所以当用手按下其中一个键时,往往会出现所按键在闭合位置和断开位置之间发生跳几下后才会稳定到闭合状态的情况。

在释放一个键时,也会出现类似的情况,这就是键的抖动,抖动的持续时间不一,但通常不会大于10ms。

若抖动问题不解决,就会引起对闭合键的多次读入。

对于键抖动最方便的解决方法就是当发现有键按下后,不是立即进行扫描,而是延时大约10ms后再进行。

由于一个键按下的时间一般会持续上百毫秒,所以延迟10ms后再扫描处理并不迟。

另外一种办法就是使用硬件电路(如触发器)进行消抖。

7-3 自己设计一个3×3的矩阵键盘的硬件电路,试编制相应的键盘扫描程序。

(注:为结合开发板的情况),我以开发板上的4×4键盘为例进行说明:解:只考虑了键盘的处理,并没有考虑显示#include "regx52.h"#define uchar unsigned char#define uint unsigned intstatic const char c_keyCode[16]={0x01,0x02,0x03,0x0a, /*键盘1,2,3,A*/0x04,0x05,0x06,0x0b, /*键盘4,5,6,B*/0x07,0x08,0x09,0x0c, /*键盘7,8,9,C*/0x0e,0x00,0x0f,0x0d}; /*键盘*,0,#,D*/ uchar ScanKeys(void); /*扫描键盘模块*/void Delay (uchar value); /*10ms延时*/void main(void) /*主程序入口*/{while(1){ScanKeys();}}uchar ScanKeys(void) /*扫描键盘模块*/ {uchar scanV alue;P3_2 = 0;P3_3 = 0;P1=0xf0;if ((P1&0xf0)!=0xf0) /*有键按下*/{Delay(1); /*延时10ms以消除抖动*/P1=0xf0;if ((P1&0xf0)==0xf0) /*有键按下*/{return 0xee;}else{P1=0xfe;scanV alue=P1;switch (scanV alue){case 0xee: iScan=0x01;break; //键"a"case 0xde: iScan=0x02;break; //键"1"case 0xbe: iScan=0x03;break; //键"2"case 0x7e: iScan=0x0a;break; //键"3"}P1=0xfd;scanV alue=P1;switch (scanV alue){case 0xed: iScan=0x04;break; // 键"4case 0xdd: iScan=0x05;break; // 键"5case 0xbd: iScan=0x06;break; // 键"6case 0x7d: iScan=0x0b;break; // 键"b}P1=0xfb;scanV alue=P1;switch (scanV alue){case 0xeb: iScan=0x07;break; // 键"7case 0xdb: iScan=0x08;break; // 键"8case 0xbb: iScan=0x09;break; // 键"9case 0x7b: iScan=0x0c;break; // 键"c}P1=0xf7;scanV alue=P1;switch (scanV alue){case 0xe7: iScan=0x00;break; // 键"0case 0xd7: iScan=0x0d;break; // 键"dcase 0xb7: iScan=0x0e;break; // 键"ecase 0x77: iScan=0x0f;break; // 键"f}}// P1=0xf0;while ((P1&0xf0)!=0xf0);//防止键按住不放return iScan;}return 0xee;}void Delay (uchar value) /*10ms延时*/{uchar i,j;while (value--){for(j=20; j>0;j--)for(i=250;i>0;i--);}}7-4 结合开发板的情况,在6个数码管上从右到左依次显示一个“3”,直到出现6个“3”为止,延时时间设为1秒。

单片机习题答案

单片机习题答案

单片机习题答案第1章习题参考答案1-1什么是单片机?它与一般微型计算机在结构上何区别?微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。

单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。

1-2MCS-51系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。

答:MCS-51系列单片机内部资源配置型号8031/80C318051/80C51程序存储器片内RAM定时/计数器并行I/O口串行口中断源/中断优先级无128B128B128B256B256B2某162某162某163某163某164某84某84某84某84某8111115/25/25/26/26/24KBROM无8751/87C514KBEPROM8032/80C328052/80C524KBROM8051与51兼容的单片机的异同厂商型号程序存储片内定时/并行串行中断源/优先级5/26/2直接驱动LED输出,片上模拟比较器256B3某163219/2SPI,WDT,2个数据指针其它特点器RAM计数器I/O口口IntelATMEL8051/80C514KBROM128BAT89C20512KBFlahROMAT89S5312KBFlah ROMAnalogADuC812DeviceW77E5832KB256B+3某1636212/2扩展了4位I/O 口,双数据指针,WDT。

19/2WDT,SPI,8通道12位ADC,2通道12位DAC,片上DMA控制器。

.飞利浦80C552无256B3某1648115/4CMOS型10位ADC,捕捉/比较单元,PWM83/87C5528KBEEPROM83/89CE55832KBEEPROM256B+3某16401024B115/4256B3某1648115/4CMOS型10位ADC,捕捉/比较单元,PWM8通道10位ADC,捕捉/比较单元,PWM,双数据指针,IC总线,PLL (32kHz)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复装入计数初值影响定时精度的问题。适用于精确定时,比如波特率的产生。 4.THx 与 TLx(x = 0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是
立即刷新还是等当前计数器计满后才能刷新? 答:THx 与 TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器
图 LED 数码管显示的秒表原理电路及仿真
参考程序如下:
#include<reg51.h>
//包含 51 单片机寄存器定义的头文件
unsigned char code discode1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
//数码管显示 0~9 的段码表, 带小数点
unsigned char code discode2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//数码管显示 timer=0;
//记录中断次数
unsigned char second;
//定时器 T1 中断函数
//关闭定时器 T1 //P1.7 输出求反
//定时器 T1 的高 8 位重新赋初值. //定时器 T1 的低 8 位重新赋初值.
//启动定时器 T1
7. Proteus 虚拟仿真 制作一个 LED 数码管显示的秒表,用 2 位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围 0.1~ 9.9s。当第 1 次按下并松开计时功能键时,秒表开始计时并显示时间;第 2 次按下并松开计时功能键时,停止 计时,计算两次按下计时功能键的时间,并在数码管上显示;第 3 次按下计时功能键,秒表清 0,再按 1 次 计时功能键,重新开始计时。如果计时到 9.9s 时,将停止计时,按下计时功能键,秒表清零,再按下重新开 始计时。 答:本秒表应用了 AT89C51 的定时器工作模式,计时范围 0.1~9.9s。此外还涉及如何编写控制 LED 数 码管显示的程序。 LED 数码管显示的秒表原理电路如图所示。
//包含头文件
sbit sound=P1^7;
//将 sound 位定义为 P1.7 引脚
#define f1(a) (65536-a)/256
//定义装入定时器高 8 位的时间常数
#define f2(a) (65536-a)%256
//定义装入定时器低 8 位的时间常数
unsigned int i = 500;
第7章
思考题及习题 7 1.如果采用的晶振的频率为 24MHz,定时器/计数器工作在方式 0、1、2 下,其最大定时时间各为多少? 答:晶振的频率为 24MHz, 机器周期为 0.5µs。 方式 0 最大定时时间=0.5µs×213=0.5µs×8192=4096µs 方式 1 最大定时时间=0.5µs×216=0.5µs×65536=327686µs 方式 2 最大定时时间=0.5µs×28=0.5µs×256=128µs 2.定时器/计数器用作计数器模式时,对外界计数频率有何限制? 答:外部输入的计数脉冲的最高频率为系统振荡器频率的 1/24。 3.定时器/计数器的工作方式 2 有什么特点?适用于哪些应用场合? 答:方式 2 为初值自动装入的 8 位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反
unsigned int j = 0;
void main(void)
{
EA=1;
//开总中断.
ET1=1;
//允许定时器 T1 中断
.
TMOD=0x10;
//TMOD=0001 000B,使用 T1 的方式 1 定时
TH1=f1(i);
//给定时器 T1 高 8 位赋初值.
TL1=f2(i);
//给定时器 T1 低 8 位赋初值.
TR1=1;
//启动定时器 T1
while(1)
{
//循环等待
i=460;
while(j<2000) ;
j=0; i=360;
while(j <2000) ;
j=0;
}
}
void T1(void) interrupt 3 using 0 {
TR1= 0; sound=~sound; TH1=f1(i); TL1=f2(i); j++; TR1=1; }
//储存秒
unsigned char key=0;
//记录按键次数
main()
//主函数
{
TMOD=0x01;
//定时器 T0 方式 1 定时
ET0=1;
//允许定时器 T0 中断
EA=1;
//总中断允许
second=0;
5.Proteus 虚拟仿真 使用定时器 T0,采用方式 2 定时,在 P1.0 脚输出周期为 400µs,占空比为 4:1 的矩形脉冲,要求在 P1.0 脚接有虚拟示波器,观察 P1.0 脚输出的矩形脉冲波形。 答:略 6.Proteus 虚拟仿真 利用定时器 T1 的中断来使 P1.7 控制蜂鸣器发出 1kHz 的音频信号,假设系统时钟频率为 12MHz。 答:利用定时器 T1 的中断控制 P1.7 引脚输出频率为 1kHz 的方波音频信号,驱动蜂鸣器发声。系统时钟 为 12MHz。方波音频信号的周期为 1ms,因此 T1 的定时中断时间为 0.5 ms,进入中断服务程序后,对 P1.7 求反。电路如图所示。
图 控制蜂鸣器发出 1kHz 的音频信号 先计算 T1 初值,系统时钟为 12MHz,则方波的周期为 1µs。1kHz 的音频信号周期为 1ms,要定时计数 的脉冲数为 a。则 T1 的初值:
TH1=(65 536 −a)/256; TL1=(65 536 −a) %256
参考程序如下:
#include<reg51.h>
计满后才能刷新。答:THX 与 TLX(X=0,1)是由特殊功能寄存器构成的计数器,其内容可以随时用指令更改, 更改后的新值是立即刷新。但在读 THX、TLX 的值时,应该先读 THX 值,后读 TLX,再读 THX。若两次读 得 THX 相同,则可确定读得的内容正确。若前后两次读得的 THX 有变化,再重复上述过程。
相关文档
最新文档