单片机应用技术第6章
单片机原理及应用第6章80C51单片机的串行口
单片机原理及应用第6章80C51单片机的串行口80C51单片机是一种基于哈佛架构的8位单片机,具有强大的串行口功能。
串行口是一种通信接口,可以通过单根线传输数据。
本章将介绍80C51单片机的串行口原理及其应用。
一、80C51单片机的串行口原理80C51单片机的串行口包含两个寄存器,分别是SBUF(串行缓冲器)和SCON(串行控制寄存器)。
SBUF寄存器用来存储待发送或接收到的数据,SCON寄存器用来配置和控制串行口的工作模式。
80C51单片机的串行口有两种工作模式:串行异步通信模式和串行同步通信模式。
1.串行异步通信模式串行异步通信是指通信双方的时钟频率不同步,通信的数据按照字符为单位进行传输,字符之间有起始位、数据位、校验位和停止位组成。
80C51单片机的串行口支持标准的RS-232通信协议和非标准通信协议。
在串行异步通信模式下,SCON寄存器需要配置为相应的工作模式。
首先,需要选择串行口的工作模式。
80C51单片机支持第9位,即扩展模式,可以用来检测通信错误。
其次,需要设置波特率。
波特率是指数据每秒传输的位数,用波特率发生器(Baud Rate Generator,BRGR)来控制。
然后,需要设置起始位、数据位和停止位的配置,包括数据长度(5位、6位、7位或8位)、停止位的个数(1位或2位)。
在发送数据时,将待发送的数据通过MOV指令传送到SBUF寄存器,单片机会自动将数据发送出去。
在接收数据时,需要检测RI(接收中断)标志位,如果RI为1,表示接收到数据,可以通过MOV指令将接收到的数据读取到用户定义的变量中。
2.串行同步通信模式串行同步通信是指通信双方的时钟频率同步,在数据传输时需要时钟信号同步。
80C51单片机的串行同步通信支持SPI(串行外设接口)和I2C(串行总线接口)两种协议。
在串行同步通信模式下,SCON寄存器需要配置为相应的工作模式。
首先,需要选择串行口的工作模式。
80C51单片机支持主从模式,可以作为主设备发送数据,也可以作为从设备接收数据。
单片机原理及应用 第06章定时计数器
20
6.5 定时器/计数器的编程
初始化
1 根据要求给方式寄存器TMOD送一个方式控制 字,以设定定时器的工作方式; 2 根据需要给TH和TL选送初值,以确定需要的 定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字, 以开放相应的中断和设定中断优先级;
也可用查询方式来响应定时器。
JBC TF1,RP1 SJMP DEL2
30
6.6.4 长定时时间的产生
例 假设系统时钟为6MHz,编写定时器T0产生 1秒定时的程序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 方式0最长可定时16.384ms;
方式1最长可定时131.072ms; 方式2最长可定时512μs。 选方式1,每隔100ms中断一次,中断10次为1s。
8
6.3 定时/计数器的4种工作方式 方式0、方式1(13位、16位定时计数方式)
T1工作于方式0的等效框图(M1M0=00、01)
GATE=0、A=1、TR1=1 GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同
9
6.3.1 方式0、方式1的说明 定时/计数器T1工作在方式0时,为13位的计数器,由TL1 的低5位和TH1的8位所构成。TL1低5位溢出向TH1进 位,TH1计数溢出置位TCON中的溢出标志位TF1。 GATE位的状态决定定时/计数器运行控制取决于TR1 一个条件还是TR1和INT1引脚这两个条件。 当GATE=0时,A点电位恒为1,则只要TR1被置为1,B 点电位即为1,定时/计数器被控制为允许计数(定时/计 数器的计数控制仅由TR1的状态确定,TR1=1计数, TR1=0停止计数)。 当GATE=1时,B点电位由INT1输入的电平和TR1的状 态确定,当TR1=1,且INT1=1时,B点电平才为1,才 允许定时器/计数器计数(计数控制由TR1和INT1二个条 件控制)。 方式1时,TL1的8位都参与计数,因而属于16位 定时/计数器。其控制方式,等效电路与方式0完全相 10 同。
单片机第六章定时器
这种方式下,计数寄存器由13位组成,即THx高八位(作计数器)
和TLx的低5位构成。TLx的高3位未用。
计数时,TLx的低5位溢出后向THx进位,THx溢出后 将TFx置位,并向CPU申请中断。
用软件控制,置 l时,启动 T1;清0时,停止 T1。
TF0(TCON.5)——T0的溢出标志。
TR0(TCON.4)——T0的运行控制位。
用软件控制,置1时,启动T0;清 0时,停止 T0。
• IE1(TCON.3)——外部中断1中断请求标志位。
• IE0(TCON.1)——外部中断0中断请求标志位。
器之外,还可用作串行接口的波特率发生器。
6.2
定时器/计数器T0、T1
T0、T1 的内部结构简图示于图6-1中。从图中 可以看出,T0、T1由以下几部分组成:
• 计数器TH0、TL0和TH1、TL1;
•
•
特殊功能寄存器TMOD、TCON;
时钟分频器;
•
输入引脚T0、T1。
6.2.1 与定时器/计数器T0、T1有关的 特殊功能寄存器
⑵定时器/计数器T1
T0方式3时,T1可以工作在方式0、1、2三种方式 T1的结构如图6–6所示。 由于T0占用了原来T1的启动位TR1和溢出标志TF1, 所以此时T1溢出时不能置位溢出标志,不能申请中断, 其溢出信号送给串行口,此时T1作为波特率发生器。
T1的启停由写入方式字控制,当写入方式0/1/2 时,T1立即启动,写入方式3 时,立即停止工作。
分析:设置T0工作在方式2,计数功能,每记满100个外 部脉冲,从P1.0输出一个低电平脉冲信号(简化的打包 操作)。
第06章 MCS-51单片机定时计数器
10
2 8位计数初值自动重装,TL(7 ~ 0)
TH(7 ~ 0)
11
3 T0运行,而T1停止工作,8位定时/计数。
▪ 2.定时/计数器控制寄存器(TCON)
位
D7 D6 D5 D4 D3 D2 D1 D0
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TR0:定时 / 计数器0运行控制位。软件置位,软件复位。与GATE有关, 分两种情况:
GATE = 0 时:若TR0 = 1,开启T0计数工作;若TR0 = 0,停止T0计 数。
GATE = 1 时:若TR0 = 1 且/INT0 = 1时,开启T0计数; 若TR0 = 1 但 /INT0 = 0,则不能开启T0计数。 若TR0 = 0, 停止T0计数。
TR1:定时 / 计数器1运行控制位。用法与TR0类似。
▪ (1)计算计数初值。欲产生周期为1000μs的等宽方波脉冲, 只需在P1.7端交替输出500μs的高低电平即可,因此定时 时间应为500μs。设计数初值为X,则有:
▪ (216-X)×1×10-6=500×10-6
▪ X=65536-500=65036=FE0CH
▪ 将X的低8位0CH写入TL1,将X的高8位FEH写入TH1。
;清TCON,定时器中断标志清
▪
MOV TMOD,#10H
;工作方式1设定
▪
MOV TH1,#0FEH
;计数1初值设定
▪
MOV TL1,#0CH
▪
MOV IE,#00H
;关中断
▪
SETB TR1
;启动计数器1
▪ LOOP0:JBC TF1,LOOP1 ;查询是否溢出
▪
单片机原理及应用第5、6、7、8章习题
第5、6、7、8章习题一、问答题1.说明51单片机读端口锁存器的必要性,为什么? 答:2.请说明为什么使用LED 需要接限流电阻,当高电平为+5V 时,正常点亮一个LED 需要多大阻值的限流电阻(设LED 的正常工作电流为8~mA ,导通压降为0.6V ),为什么? 答:3.简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。
答:4.简述LED 数码管动态扫描的原理及其实现方式。
答:5.为什么51单片机在读口的引脚状态时,许先向端口写“1”,请用图5-1 P1结构图加以说明。
答:5.简述89c51各IO 口的驱动能力。
答:6.什么是中断?中断与子程序最本质的区别?答:写锁存器内部总线图5-1 P1口结构图7.编制中断服务程序时,为什么在主程序的初始化程序中,必须设置EA=1 这条指令(或达到同样功能的对IE赋值的指令),以及在中断服务程序中为什么通常需要保护现场和恢复现场?答:8.单片机89C51有哪些中断源,CPU对其中断如何请求?答:9.简述单片机89C51中断的自然优先级顺序,如何提高某一中断源的优先级别。
答:10.简述51系列单片机中断响应的条件。
答:11.用汇编语言编程时,在51系列单片机执行中断服务程序的指令较多时,为什么一般都要在入口地址(又称中断矢量地址)开始的地方放一条跳转指令?答:12.为什么一般都把主程序的起始地址放在0030H之后?答:13.中断服务子程序返回指令RETI和普通子程序返回指令RET的区别?答:14.简述51单片机定时/计数器4种工作模式的特点。
答:15.定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?答:16.画出51单片机计数/定时器方式1的逻辑结构框图,说明它们的工作原理,如何使用门控和非门控启动计数的方法。
答:17.在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么?答: (1)确定T/C的工作方式——编程TMOD寄存器;(2)计算T/C中的计数初值,并装载到TH和TL;(3)T/C在中断方式工作时,须开CPU中断和源中断——编程IE寄存器;(4)启动定时器/计数器——编程TCON中TR1或TR0位。
第6章 单片机的定时器计数器
T0(P 3.4)
T0 (8CH) (8AH)
TH0(8位) TL0 (8位)
7 0 7 0
T1 (8DH) (8BH)
TH1(8位) TL1 (8位)
7
0
7
0
CPU
溢 启 出 动 溢 出
启 动
工作方式 TMOD(89H)
工 作 方 式
TCON(88H)
定时/计数器逻辑结构
T0
2个16位T/C分别由8位计数器TH0、TL0、 TH1、TL1组成 “+1” 计数器 T1 控制寄存器TCON:控制T/C的启停、中断等
第6章 单片机的定时器/计数器
6.1 定时/计数器的结构与工作原理
6.2 定时器/计数器的控制
6.3 定时/计数器的工作方式
6.4 定时/计数器的编程和应用
实现定时一般有三种方法: 利用软件实现(延时程序); 优点:简单,控制方便;缺点:CPU效率低。 硬件实现,专门设计一个单稳态定时器: 优点:CPU效率高;缺点:修改参数麻烦。 利用计数器实现 1us 输入脉冲 计算机一般利用第三种方法实现 8位 计数器 预置数 256us 溢出
控制T0
GATE C/T M1 M0 0 0 0 1
查 询 方 式
#include <reg51.h> sbit P1_0=P1^0; void main (void) { TMOD=0x01; //定时器0方式1 TR0=1; for( ; ; ) { TH0=(65536-1000)/256; //置计数初值 TL0=(65536-1000)%256; while(!TF0); //查询等待TF0复位 P1_0=!P1_0; //定时时间到P1.0反相 TF0=0; //软件清TF0 } }
单片机原理及应用第2版课后答案第6章习题答案
单片机原理及应用第2版课后答案第6章习题答案1.异步通信和同步通信的主要区别是什么?MCS-51串行口有没有同步通信功能?答案:异步通信因为每帧数据都有起始位和停止位,所以传送数据的速率受到限制。
但异步通信不需要传送同步脉冲,字符帧的长度不受限制,对硬件要求较低,因而在数据传送量不很大。
同步通信一次可以连续传送几个数据,每个数据不需起始位和停止位,数据之间不留间隙,因而数据传输速率高于异步通信。
但同步通信要求用准确的时钟来实现发送端与接收端之间的严格同步。
MCS-51串行口有同步通信功能。
2.解释下列概念:(1)并行通信、串行通信。
(2)波特率。
(3)单工、半双工、全双工。
(4)奇偶校验。
答案:(1)并行通信:数据的各位同时进行传送。
其特点是传送速度快、效率高,数据有多少位,就需要有多少根传输线。
当数据位数较多和传送距离较远时,就会导致通信线路成本提高,因此它适合于短距离传输。
串行通信:数据一位一位地按顺序进行传送。
其特点是只需一对传输线就可实现通信,当传输的数据较多、距离较远时,它可以显著减少传输线,降低通信成本,但是串行传送的速度慢。
(2)波特率:每秒钟传送的二进制数码的位数称为波特率(也称比特数),单位是bp(bitperecond),即位/秒。
(3)单工:只允许数据向一个方向传送,即一方只能发送,另一方只能接收。
半双工:允许数据双向传送,但由于只有一根传输线,在同一时刻只能一方发送,另一方接收。
全双工:允许数据同时双向传送,由于有两根传输线,在A站将数据发送到B站的同时,也允许B站将数据发送到A站。
(4)奇偶校验:为保证通信质量,需要对传送的数据进行校验。
对于异步通信,常用的校验方法是奇偶校验法。
采用奇偶校验法,发送时在每个字符(或字节)之后附加一位校验位,这个校验位可以是“0”或“1”,以便使校验位和所发送的字符(或字节)中“1”的个数为奇数——称为奇校验,或为偶数——称为偶校验。
接收时,检查所接收的字符(或字节)连同奇偶校验位中“1”的个数是否符合规定。
第六章 MCS-51单片机内部定时器
6.3.1 模式0及应用
在这种模式下,16位寄存器只用了13位。 其中,TL0的高3位未用,TH0占8位。当 TL0的低5位溢出时,向TH0进位。当TH0 溢出时,向中断标志位TF0进位,并申请中 断。 因此,可通过查询TF0 是否置位或考 察中断是否发生来判断定时器/计数器0的 操作完成与否。
(2)计算1ms定时T0的初值:
机器周期为(1/fOSC)×12=[1/(12×106)]×12=1μs, 设T0的 计数初值为X,则 (213-X)×1×10-6=1×10-3ms
X=213-1×10-3/(1×10) -6 =8192-1000=7192D=1110000011000
高8位: E0H 低5位: 18H
fosc=12MHz, 采用查询方式。
解:方波周期 T=1/100Hz=0.01s=10ms 用T1定时5ms 计数初值 X为: X=216-12×5×103/12=60536=EC78H 程序如下:
MOV TMOD, #10H ;T1模式1,定时方式
SETB TR1 LOOP:MOV TH1,#0ECH
例:晶振为12MHZ ,则计数周期为
T=12/(12*106)Hz =1微秒
最短的定时 周期
计数器工作方式:
当定时器/计数器为计数工作方式时,通过
引脚T0和T1对外部信号计数,外部脉冲的下降
沿触发计数
在每个机器周期的
采样过程:
S5P2期间采样引脚
当输入脉冲信号从1到0的负跳变时,计数器就 自动加1。 由于检测一个由1到0的跳变需要两 个机器周期,所以 计数的最高频率为振荡频 率的1/24。为了确保给定电平在变化前至少被 采样一次,外部计数脉冲的高低电平均需保持 一个机器周期以上。(占空比没有限制)
单片机原理及应用课后习题参考答案1~6章
第一章计算机基础知识1-1 微型计算机主要由哪几部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。
CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。
存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。
按其功能可分为RAM和ROM。
输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。
总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。
1-3 什么叫单片机?其主要由哪几部分组成?答:单片机(Single Chip Microcomputer)是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。
1-4 在各种系列的单片机中,片内ROM的配置有几种形式?用户应根据什么原则来选用?答:单片机片内ROM的配置状态可分四种:(1)片内掩膜(Mask)ROM型单片机(如8051),适合于定型大批量应用产品的生产;(2)片内EPROM型单片机(如8751),适合于研制产品样机;(3)片内无ROM型单片机(如8031),需外接EPROM,单片机扩展灵活,适用于研制新产品;(4)EEPROM(或Flash ROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。
1-6 写出下列各数的BCD参与:59:01011001,1996:000,::第二章 MCS-51单片机的硬件结构2-1 8052单片机片内包含哪些主要逻辑功能部件?答:8052单片机片内包括:①8位中央处理器CPU一个②片内振荡器及时钟电路③256B数据存储器RAM。
④8KB片内程序存储空间ROM⑤21个特殊功能寄存器SFR⑥4个8位并行I/O端口(32条线)⑦1个可编程全双工串行口⑧可寻址64KB的外部程序存储空间和外部数据存储空间⑨3个16位的定时器/计数器⑩6个中断源、2个优先级嵌套中断结构2-2 8052的存储器分哪几个空间?如何区别不同空间的寻址?答:⑴8052的存储器分为6个编址空间:①片内ROM的容量为8KB,其地址为0000H~1FFFH;②可扩展片外ROM的容量为64KB,其地址为0000H~FFFFH;片内RAM的容量为256B,其地址为00H~FFH分为二块:③地址00H~7FH共128B为片内RAM低区,④另128B为片内RAM高区,其地址空间为80H`FFH,其地址空间与SFR功能寄存器地址重叠;⑤可扩展片外RAM的容量为64KB,其地址为0000H~1FFFH;⑥特殊功能寄存器SFR的空间为128B,其地址为80H~FFH,但实际只定义了26B单元,这26B单元分散在80H`F0H。
第6章STC15F2K60S2单片机定时器及可编程时钟输出《单片机原理及应用》
第6章STC15F2K60S2单片机定时器及可编程时钟输出《单片机原理及应用》本文介绍了STC15F2K60S2单片机的定时器和可编程时钟输出功能。
单片机定时器是单片机中常用的功能模块之一,可以用于定时、计时、延时等应用。
STC15F2K60S2单片机具有多个定时器,包括定时/计时器的选择,工作模式的设置,定时器中断的配置等。
另外,该单片机还具备可编程时钟输出功能,可以用于生成各种频率的时钟信号。
一、STC15F2K60S2单片机定时器概述STC15F2K60S2是一款杰出的8051内核单片机,它具有多种功能和丰富的接口资源,适用于各种应用场景。
定时器是其中一个重要的功能模块,可以用于实现各种定时任务,例如周期性的数据采集、定时触发等。
STC15F2K60S2单片机具有4个定时器,分别为T0、T1、T2和T3。
每个定时器又分为两个独立的计时/定时模块,通常称之为T0高速定时器和T0低速定时器等。
这些定时器的工作频率由系统时钟频率决定,可以通过定时器控制寄存器来设置时钟来源和分频系数。
二、STC15F2K60S2单片机定时器的工作模式定时器有多种工作模式可供选择,常用的有定时器模式和计数器模式。
定时器模式主要用于实现定时功能,可以根据需求设置定时时长和触发条件。
计数器模式主要用于计数功能,可以将外部事件转换为内部计数脉冲,用于测量时间间隔或者脉冲频率。
STC15F2K60S2单片机定时器的工作模式可以通过相关的寄存器位进行配置。
例如,可以通过T2CON寄存器的T2M0和T2M1位来选择定时器2的工作模式,可以选择定时器模式、16位自动重载模式、13位同步计数器模式,或者外部事件计数器模式。
三、STC15F2K60S2单片机定时器中断的配置定时器中断是使用定时器功能的常用方法之一,可以在定时达到设定值时触发中断,执行相应的中断服务程序。
STC15F2K60S2单片机的定时器可以设置使能定时器中断,并通过相关的中断使能寄存器来控制定时器中断的使能和优先级。
单片机原理与应用设计[张毅刚等编著][电子教案]第6章
单片机原理与应用设计[张毅刚等编著][电子教案]第6章单片机原理与应用设计单片机原理及应用设计[张一刚等编][电子教案]单片机原理与应用设计第六章89c51的定时器/89c51的定时器/计数器的定时器两个可编程定时器/计数器T1、t0。
两个可编程定时器/计数器T1、t0。
T1工作模式:2种工作模式:计数器工作模式(1)计数器工作模式定时器工作模式(2)定时器工作模式工作模式(模式0模式3)3)。
4种工作模式(模式0-模式3)。
定时器/6.1定时器/计数器结构tmod:选择定时器/计数器t0和T1的工作模式和工作模式tmod:选择定时器/计数器t0和T1的工作模式和工作模式。
方法TCON:控制t0t1和t0的启动和停止计数。
TCON:控制T0和T1的启动和停止计数,包括T0和T1的状态。
T0和T1的状态。
单片机原理与应用设计图6-1当单片机复位时,两个寄存器都被清零。
当单片机复位时,两个寄存器都被清零。
工作模式控制寄存器tmod6 1.1工作模式控制寄存器tmod图6-2单片机原理及应用设计8位分为两组,高4位控制t1,低4位控制t0。
位分为两组,控制t1,t1控制t0。
t0gate――――门控位(1)gate――门控位trx(x=0,1)来启动定时器/计数器运行。
0:仅以trx(x=0,1)来启动定时器/计数器运行。
用引脚intint0int1上的高电平和trxtrx两个条1:用引脚int0*(或int1*)上的高电平和trx两个条来启动定时器/计数器运行。
件来启动定时器/计数器运行。
――工作方式选择位(2)m1、m0――工作方式选择位m1、m0工作方式选择m1、m0工作方式选择m1工作方式方式013位定时器计数器。
位定时器/0方式0,13位定时器/计数器。
方式116位定时器计数器。
位定时器/方式1,16位定时器/计数器。
0方式21方式2,8位常数自动重新装载方式3仅适用于t分成两个81方式3,仅适用于t0,t0分成两个8位计数器,停止计数。
单片机原理及应用第三版课后答案
单片机原理及应用第三版课后答案1. 第一章题目答案:a) 单片机的定义: 单片机是一种集成电路,具有CPU、存储器和输入输出设备等功能,并且可以根据程序控制进行工作的微型计算机系统。
b) 单片机的核心部分是CPU,它可以通过执行程序指令来完成各种计算、逻辑和控制操作。
c) 存储器分为程序存储器和数据存储器,程序存储器用于存放程序指令,数据存储器用于存放数据和暂存中间结果。
d) 输入输出设备用于与外部环境进行数据交换,如开关、LED、数码管等。
e) 单片机的应用广泛,包括家电控制、智能仪器、工业自动化等领域。
2. 第二章题目答案:a) 单片机中的时钟系统用于提供CPU运行所需的时序信号,常见的时钟源有晶体振荡器和外部信号源。
b) 时钟频率决定了单片机的运行速度和精度,一般通过控制分频器、定时器等来调整时钟频率。
c) 单片机中的中断系统用于处理紧急事件,如外部输入信号、定时器溢出等,可以提高系统的响应能力。
d) 中断源包括外部中断、定时器中断和串口中断,通过编程设置中断向量和优先级来处理不同的中断事件。
e) 中断服务程序是处理中断事件的程序,包括保存现场、执行中断处理和恢复现场等步骤。
3. 第三章题目答案:a) I/O口是单片机与外部设备进行数据交换的接口,包括输入口和输出口两种类型。
b) 输入口用于接收外部信号,如开关、传感器等,可以通过编程设置输入口的工作模式和读取输入口的状态。
c) 输出口用于控制外部设备,如LED、继电器等,可以通过编程设置输出口的工作模式和输出口的状态。
d) I/O口的工作模式包括输入模式、输出模式和双向模式,可以根据具体应用需求设置相应的模式。
e) 串行通信接口是单片机与外部设备进行数据传输的一种常见方式,包括UART、SPI和I2C等多种通信协议。
4. 第四章题目答案:a) 定时器的作用是产生指定时间间隔的定时信号,可以用于延时、计时、PWM等功能。
b) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。
单片机原理及应用第四版林立第六章选择题答案
第六章选择题(1)使80C51定时/计数器T0停止计数的C51命令为______。
A.IT0=0;B.TF0=0;C.IE0=0;D.TR0=0;(2)80C51单片机的定时器T1用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部时钟频率定时,一个时钟周期加1 D.由外部时钟频率定时,一个机器周期加1(3)80C51单片机的定时器T0用作计数方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部计数脉冲计数,一个脉冲加1D.由外部计数脉冲计数,一个机器周期加1(4)80C51的定时器T1用作计数方式时,______。
A.外部计数脉冲由T1(P3.5引脚)输入B.外部计数脉冲由内部时钟频率提供C.外部计数脉冲由T0(P3.4引脚)输入D.外部计数脉冲由P0口任意引脚输入(5)80C51的定时器T0用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1B.由外部计数脉冲计数,一个机器周期加1C.外部计数脉冲由T0(P3.4)输入定时D.由内部时钟频率定时,一个机器周期加1(6)设80C51晶振频率为12MHz,若用定时器T0的工作方式1产生1ms定时,则T0计数初值应为______。
A.0xfc18B.0xf830C.0xf448D.0xf060(7)80C51的定时器T1用作定时方式且选择模式1时,工作方式控制字为______。
A.TCON=0x01;B.TCON=0x0H;C.TMOD=0x10;D.TMOD=0x50; (8)80C51的定时器T1用作定时方式且选择模式2时,工作方式控制字为______。
A.TCON=0x60; B.TCON=0x02; C.TMOD=0x06; D.TMOD=0x20; (9)80C51的定时器T0用作定时方式且选择模式0时,C51初始化编程为______。
单片机控制系统应用第六章习题与思考题
第六章习题与思考题
6.1 A T89S51中有几个定时器/计数器?是加1计数还是减1计数?
6.2 定时器/计数器有哪几种工作方式?各有什么特点?
6.3 定时器/计数器的定时频率和计数频率怎样确定?对外部计数频率有何限制?
6.4 控制寄存器TMOD和TCON各位的定义是什么?怎样确定各定时器/计数器的工作方式?
6.5 在工作方式3中,定时器/计数器T0和T1的应用有什么不同?
6.6 已知单片机时钟频率fosc=12MHz,当要求定时时间为50ms和25ms时,试为定时器/计数器编写初始化程序。
6.7 已知A T89S51时钟频率fosc=6MHZ,试利用定时器编写程序,使P1.0输出一个高低电位分别为40μs和120μs 的连续矩形脉冲波。
6.8 设外部脉冲由INT1端输入,试编写利用门控位GA TE和定时器T1测试脉冲宽度的程序。
6.9 一个定时器的定时时间有限,试设计几种能实现较长时间(超过一个定时器的定时时间)定时的方案。
6.10 已知A T89S51时钟频率为6MHz,试编写程序,利用T0工作在方式3,使P1.0和P1.1分别输出400μs和800μs 的方波。
6.11 试用中断方式设计秒发生器,即在A T89S51的P1.0口每秒产生一个机器周期的正脉冲,有P1.1口每分钟产生一个机器周期的正脉冲。
6.12 试用定时器中断技术设计一个秒闪电路,要求使发光二极管LED每秒闪亮400ms,设时钟频率为6MHz。
单片机原理及应用课后习题答案第六章作业李传锋(供参考)
第6章MCS-51的定时器/计数器1.如果晶振的频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大的定时时间各为多少?2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?3.定时器/计数器作计数器模式使用时,对外界计数频率有何限制?4.定时器/计数器的工作方式2有什么特点?适用于什么应用场合?5.一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?6.定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少?7.判断下列说法是否正确?(1)特殊功能寄存器SCON,与定时器/计数器的控制无关。
(2)特殊功能寄存器TCON,与定时器/计数器的控制无关。
(3)特殊功能寄存器IE,与定时器/计数器的控制无关。
(4)特殊功能寄存器TMOD,与定时器/计数器的控制无关。
8.设定1ms的定时,可以在P1.0引脚上产生周期为2ms的方波输出,设晶体振荡器的频率为6MHz,分别写出在方式0和方式1时,赋给T0的常数。
9.设MCS-51单片机的晶振频率为12MHz,请编程使P1.O端输出频率为20kHz的方波。
10.要求采用定时中断的方式,实现下图所示流水灯的双向循环(D1—D8—D1)流动功能。
其中流水灯的闪烁速率为每秒1次。
11.设单片机的fosc = 12MHz,使P1.O和P1.1分别输出周期为1ms和lOms的方波,请用定时器TO方式2编程实现。
附录2:作业及答案1.如果晶振的频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大的定时时间各为多少?(12/3×8192=32.768ms;12/3*65636=262.144ms; 12/3*256=1.024ms)2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?(定时的计数脉冲来自于单片机内部,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1。
单片机原理与应用第6章
三、系统扩展及总线结构
80C51
图5.2
P0口分时复用
D0~n ~ P0 ALE R/W 单片机 ALE
锁 存 地 址 地址 采 样 数 据 采 样 数 据 Di Qi G 地址锁存器
A0~n ~
R/W 存储器
锁 存 地 址
P0
地址
R/W
三、系统扩展及总线结构
地址锁存器
MCS-51单片机的P0口是地址线/数据线分时复用的,实现 这一功能需要引入地址锁存器。常用的地址锁存器的芯片一 般有两类:一类是8D触发器,如74LS273、7474LS377等,另 一类是位锁存器,如74LS373、8282等。
74LS373
8031
6264的地址分配表
P2.7 P2.6 1 1 0 1 0 1
P2.5 0 1 1
选中芯片 6264(1) 6264(2) 6264(3)
地 址 范 围 C000--DFFFH A000--BFFFH 6000--7FFFH
存储容量 8K 8K 8K
例3:某微机系统用62128构成64K存储系统,试将其与 8051进行连接
第6章 单片机系统扩展
6-1 系统扩展及总线结构 6-2 数据存储器扩展 6-3 程序存储器扩展 6-4 I/O扩展 I/O扩展
6-1 系统扩展及总线结构 一、单片机内部资源
8位CPU; 位 ; 4KB字节掩膜 字节掩膜ROM程序存贮器(8031无); 程序存贮器( 字节掩膜 程序存贮器 无 128字节内部 字节内部RAM数据存贮器; 数据存贮器; 字节内部 数据存贮器 21个特殊功能寄存器 个特殊功能寄存器(SFR); 个特殊功能寄存器 ; 2个16位的定时器 计数器; 位的定时器/计数器 个 位的定时器 计数器; 1个全双工的异步串行口 个全双工的异步串行口; 个全双工的异步串行口 4个8位并行 口; 位并行I/O口 个 位并行 5个中断源、2级中断优先级的中断控制器; 个中断源、 级中断优先级的中断控制器 级中断优先级的中断控制器; 个中断源
单片机原理及应用教程c语言版第6章mcs51单片机的定时器计数器
方波周期T
定时时间t:
周期为1000µs的方波要求 t =周期/2 = 1000/2 = 500(µs)
定时时间t
对应计数值:N = t/机器周期 = 500/1 = 500
N=500>256,所以选择模式1。
模式字:
TMOD=0000 0001B = 0x01 (3)计算初值X
X = 65536 – N = 65036 = 0xfe0c
6.1.2 MCS-51单片机定时器/计数器的工作原理
• 控制信号TRx=1时,定时器启动。 • 当定时器由全1加到全0时计满溢出,TFx=1,
向CPU申请中断;同时,定时器从0开始继续 计数。
6.2 定时器/计数器T0、T1
主要内容
6.2.1 T0、T1的特殊功能寄存器 6.2.2 T0、T1的工作模式 6.2.3 T0、T1的使用方法
计数信号由片内振荡电路提供,振荡脉冲n分 频送给计数器,每个机器周期计数器值增1。 • C/T =1 ,为计数器
计数信号由Tx引脚、和P1.0)输入,每输入一有 效信号,相应的计数器中的内容进行加1
计数器的最高计数频率为:fosc/24 1)每1个输入脉冲的下降沿使计数器计1个数 2)每1个机器周期对引脚采样1次,当上1个机器 周期采样为高、本机器周期采样为低为1个下降沿。
6.2.2 T0、T1的工作模式
信号源
振荡器 12分频 C/T=0
0
T0(P3.4)
TR0 GATE (P3.2)
C/T=1 1
& +
运行控制
TL0 TH0 (8位) (8位)
计数器
TF0 中断
溢出中断
图6-6 T0模式1原理结构
6.2.2 T0、T1的工作模式
(完整版)单片机原理与应用技术江力版第三四六章答案
第三章作业参考答案3-10. 己知(A)=7AH,(R0)=34H,(34H)=A5H,请写出分别执行下面各条指令后累加器A的内容。
(1) MOV A,R0 ;(A)=34H(2) MOV A,@R0 ;(A)=A5H(3) MOV A,34H ;(A)=A5H(4) MOV A,#34H ;(A)=34H3-12. 1设(R0)=32H,(A)=48H,片内RAM中(32H)=60H,(40H)=61H。
请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0 ; (A)=(32H)=60HMOV @R0,40H ; (32H)=61HMOV 40H,A ; (40H)=(A)=60HMOV R0,#40H ; (R0)=40H即:执行完程序段后,(R0)=40H, (A)=60H, 片内RAM中,(32H)=61H, (40H)=60H3-13已知(A)=83H,(R0)=47H,(47H)=34H。
请写出执行完下列程序段后A的内容。
ANL A,47H ;(A)=83H∧34H=00HORL 47H,A ;(47H)=34H∨00H=34HXRL A,@R0 ;(A)=00H34H=34HSWAP A ;(A)=43H答:执行完程序段后,(A)=43H3-14 14. 说明下段程序执行过程中,SP的内容及堆栈中内容的改变过程。
MOV SP,#30H ;(SP)=30HMOV 30H,#55HMOV 40H,#66HPUSH 30H ;(SP)=31H, 堆栈区中(31H)=55HPUSH 40H ;(SP)=32H, 堆栈区中(32H)=66HPOP 30H ;先将堆栈区中32H单元的内容送入30H单元,使(30H)=66H, 再使;SP值减1,即: (SP)=31HPOP 40H ;先将堆栈区中31H单元的内容送入40H单元,使(40H)=55H, 再使;SP值减1,即: (SP)=30H最终,(SP)=30H, 内部RAM中,(30H)=66H, (40H)=55H.3-15编程实现两个16位二进制数的减法。
单片机原理及应用课后习题答案第六章作业
第6章MCS51得定时器/计数器1.如果晶振得频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大得定时时间各为多少?2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?3.定时器/计数器作计数器模式使用时,对外界计数频率有何限制?4.定时器/计数器得工作方式2有什么特点?适用于什么应用场合?5.一个定时器得定时时间有限,如何实现两个定时器得串行定时,来实现较长时间得定时?6.定时器/计数器测量某正单脉冲得宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量得最大脉冲宽度就是多少?7.判断下列说法就是否正确?(1)特殊功能寄存器SCON,与定时器/计数器得控制无关。
(2)特殊功能寄存器TCON,与定时器/计数器得控制无关。
(3)特殊功能寄存器IE,与定时器/计数器得控制无关。
(4)特殊功能寄存器TMOD,与定时器/计数器得控制无关。
8.设定1ms得定时,可以在P1、0引脚上产生周期为2ms得方波输出,设晶体振荡器得频率为6MHz,分别写出在方式0与方式1时,赋给T0得常数。
9.设MCS51单片机得晶振频率为12MHz,请编程使P1、O端输出频率为20kHz得方波。
10.要求采用定时中断得方式,实现下图所示流水灯得双向循环(D1—D8—D1)流动功能。
其中流水灯得闪烁速率为每秒1次。
11.设单片机得fosc = 12MHz,使P1、O与P1、1分别输出周期为1ms与lOms得方波,请用定时器TO方式2编程实现。
附录2:作业及答案1.如果晶振得频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大得定时时间各为多少?(12/3×8192=32、768ms;12/3*65636=262、144ms; 12/3*256=1、024ms)2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?(定时得计数脉冲来自于单片机内部,即每个机器周期产生一个计数脉冲,也就就是每个机器周期计数器加1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.2 基本程序结构设计
6.2.1 顺序结构程序设计
按照程序编写的顺序依次执行,编写 这类程序主要应注意正确地选择指令, 提高程序的执行效率。 拆字程序。 例6.2 拆字程序。将30H的 的 内容拆开, 高位送31H低位 , 低位, 内容拆开 , 高位送 低位 低位送32H低位。 低位。 低位送 低位 分析:利用逻辑与指令实 现内容的屏蔽。 程序流程如图所示。 程序流程如图所示。
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
解:编程清单如下: ORG CWORD:MOV SWAP ANL MOV MOV ANL MOV END 0050H A,30H A A,#0FH 31H,A A,30H A,#0FH 32H,A ;将(30H)低位存入(32H) ;将(30H)高位存入(31H)
MOVC MOVC
A,@A+DPTR A,@A+PC
其中,DPTR为数据指针寄存器,一般用来存放表首地址。 查表程序主要用于代码转换、代码显示、实时值查表计算和按命令号 实现程序转移等。
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
例6.16 在程序中定义一个0~9的平方表,利用查表指令找出累加器 A=05的平方值。 分析:所谓表格是指在程序中定义一串有序的常数,如平方表、 字型码表、键码表等。因为程序一般都是固化在程序存储器中, 因此可以说表格是预先定义在程序的数据区中,然后和程序一起 固化在ROM中的一串常数。查表程序的关键是表格的定义和如何 实现查表。
分析:小于10的4位二进制数加30H得到相应的ASCII代码,大于等于10的加37H。
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
2、查表程序 、
在单片机应用系统中,应用程序时常要对数据进行复杂计算,而由于受 汇编语言指令特点的限制,使得编程困难,程序冗长,运算速度慢,而且 精度不易得到保证。在这种情况下,采用查表法往往使问题的解决简单得 多。 在MCS-51汇编语言中,有两条专门的查表指令:
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
例6.9 用程序实现c=a2 +b2,假设a、b、c分别存放于R2、R3、R4中。 分析: 分析:通过调用子程序查平方表,结果在主程序中相加得到。 解:编程清单如下:
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
汇编语言程序设计的基本步骤如下。 汇编语言程序设计的基本步骤如下。 (1) (2) (3) (4) (5) 题意分析 画出程序流程图 分配内存工作区及有关端口地址 编制汇编源程序 仿真、 仿真、调试程序
(6) 固化程序
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
6.2.2 循环结构程序设计
在程序设计中,当需要对某段程序多次重复执行时,可采用循环的方法 设计程序。 循环结构的程序一般包括下面几个部分: ◆ 置循环初值 ◆ 循环体 ◆ 循环修改 ◆ 循环控制 例6.4 数据极值查找程序。内部RAM 30H单元开始存放了10个数,找 出其中最大的数。 分析:采用比较交换法来查找最大数。先指定MAX单元,使第一个数 存入MAห้องสมุดไป่ตู้单元,然后把它和数据块中的每一个数逐一比较,大的数存 放在MAX单元,直到数据块中每个数都比较完。
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
6.2.3 分支结构程序设计
分支程序的主要特点是程序的流向有两个或两个以上的出口,根据指定 的条件进行选择确定。编程的关键是如何确定供判断或选择的条件以及选 择合理的分支指令。 分支结构程序可根据程序要求无条件或有条件地改变程序执行的顺序, 选择程序流向。 例6.6 设补码数x存放在30H单元中,函数值y按下式进行赋值:
6.3 子程序设计
在解决实际问题时,经常会遇到一个程序中多次使用同一个程序段,如 延时程序、查表程序、算术运算程序段等功能相对独立的程序段。为了 节省存储空间,往往把它独立出来,附加额外的指令,将其编制成可供 反复调用的公用的独立程序段,并通过适当的方法把它与其他程序段连 接起来。这种程序设计的方法称为子程序设计。被独立出来的程序段称 为子程序,调用子程序的程序叫主程序或调用程序。 设计包含子程序的程序时,需注意以下几个问题。 ◆主程序与子程序之间的转返 ◆主程序与子程序间的参数传递 ◆现场保护
试编写程序,根据 的值求出 并放回原单元。 的值求出y, 试编写程序,根据x的值求出 ,并放回原单元。 分析: 分析:取出x后先作取值范围判断,用累加器A状态转移指令判断x是否 为0,用位状态转移指令判断x是大于0还是小于0。
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
小 结
• 单片机汇编语言程序设计是单片机应用系统设计的重要 组成部分。汇编语言程序基本结构包括顺序结构、分支 结构、循环结构和子程序结构等。 • 程序设计的关键是掌握解题思路。程序设计的步骤一般 分为题意分析、画流程图、分配寄存器和内存单元、源 程序设计、程序调试等。
6.4 实用程序举例
1、代码转换程序 、
例6.11 8位二进制数转换为BCD码。将累加器A中的二进制数0~ FFH内的任一数转换为BCD码(0~255)。
解:编程清单如下: BINBCD:MOV B,#100 DIV A,B PUSH ACC MOV A,#10 XCH A,B DIV A,B SWAP A ADD A,B POP B RET
;除法指令,A/B →商在A中,余数在B中 ;将商(百位数)暂存在堆栈中 ;余数交换到A中,B=10 ;A/B →商(十位)在A中,余数(个位)在B中 ;十位数移到高半字节 ;十位数和个位数组合在一起 ;百位数存放到B中
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
例6.14 4位二进制数转换为ASCII代码。
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
第6章 汇编语言程序设计
• 6.1 汇编语言 • 6.2 基本程序结构设计 • 6.3 子程序设计 • 6.4 实用程序举例 • 小结
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社
6.1 汇编语言
汇编语言(Assembly Language)是指用指令助记符代替机 器码的编程语言。它是一种面向机器的程序设计语言,属于 低级程序语言。汇编语言程序结构简单,执行速度快,程序 易优化,编译后占用存储空间小,是单片机应用系统开发中 最常用的程序设计语言。汇编语言的缺点是可读性比较差。 采用汇编语言编写的程序叫做汇编语言源程序, 采用汇编语言编写的程序叫做汇编语言源程序 , 源程序只能 用于人机对话,并不能被机器直接执行,必须由“汇编程序” 用于人机对话,并不能被机器直接执行,必须由“汇编程序” 翻译成机器语言的目的程序。 翻译成机器语言的目的程序。
编程清单如下: ORG MOV MOV MOVC SJMP 0050H DPTR,#TABLE A,#05 A,@A+DPTR $ ;表首地址→DPTR ;05→A ;查表指令,25→A ;程序暂停
TABLE:DB 0,1,4,9,16,25,36,49,64,81 ;定义0~9平方表 END
单片机原理与应用技术( 单片机原理与应用技术(第2版)清华大学出版社