单片机原理与应用(第七章)
单片机原理及接口技术(C51编程)第7章 定时器计数器
图7-14 由外部计数输入信号控制LED的闪烁
(3)设置IE寄存器 本例由于采用T1中断,因此需将IE寄存器的EA、ET1位置1。
(4)启动和停止定时器T1 将寄存器TCON中TR1=1,则启动T1计数;TR1=0,则停止T1计数。
参考程序如下:
#include <reg51.h> void Delay(unsigned int i)
7.4 定时器/计数器的编程和应用 4种工作方式中,方式0与方式1基本相同,只是计数位数不同。方
式0为13位,方式1为16位。由于方式0是为兼容MCS-48而设,计数初 值计算复杂,所以在实际应用中,一般不用方式0,常采用方式1。
7.4.1 P1口控制8只LED每0.5s闪亮一次 【例7-1】在AT89S51的P1口上接有8只LED,原理电路见图7-
当TMOD的低2位为11时,T0被选为方式3,各引脚与T0的逻辑关系 见图7-8。
T0分为两个独立的8位计数器TL0和TH0,TL0使用T0的状态控制位 C/T* 、GATE、TR0 ,而TH0被固定为一个8位定时器(不能作为外部 计数模式),并使用定时器T1的状态控制位TR1,同时占用定时器T1的 中断请求源TF1。
13。采用T0方式1的定时中断方式,使P1口外接的8只LED每0.5s闪亮 一次。
23
图7-13 方式1定时中断控制LED闪亮
24
(1)设置TMOD寄存器 T0工作在方式1,应使TMOD寄存器的M1、M0=01;应设置C/T*=0,为定
时器模式;对T0的运行控制仅由TR0来控制,应使相应的GATE位为0。定时 器T1不使用,各相关位均设为0。所以,TMOD寄存器应初始化为0x01。 (2)计算定时器T0的计数初值
AVR单片机原理及应用
7、A/D转换器 1、A/D结构及工作原理
ADC自动触发转换逻辑图
7、A/D转换器
2、预分频及转换时序
逐次逼近转换需要一个从50 kHz到200 kHz的输入时钟以 获得最大精度。
如果所需的转换精度低于10 比特,那么输入时钟频率可以 高于200 kHz,以达到更高的采样率。
ADC 模块包含一个预分频器,通过ADCSRA寄存器的 ADPS 进行配置。置位ADCSRA寄存器的ADEN 将使能ADC, 预分频器开始计数。只要ADEN为1,预分频器就持续计数, 直到ADEN为零。
Figure 111 给出差分输入域的解码。 Table 82 给出当选定的增益为GAIN且参考电压为VREF 的差分输入对 (ADCn - ADCm)的输入码结果。
7、A/D转换器 4、转换结果
7、A/D转换器 4、转换结果
7、A/D转换器 4、转换结果
例: ADMUX = 0xED (ADC3 - ADC2,10x 增益, 2.56V 参考电压,左对齐) ADC3 上电压为300 mV, ADC2 电压为500 mV。 ADCR = 512 * 10 * (300 - 500) / 2560 = -400 = 0x270 ADCL 将读为0x00,且ADCH 读为0x9C。给 ADLAR 写0 右对齐:ADCL = 0x70,ADCH = 0x02。
第七章A/D转换器
7.1 7.2 7.3 7.4
7、A/D转换器
概述
Dx
Vin VREF
2n
Vin: 输入模拟电压, Vref:比较器参考电压; n: 转换深度; Dx: 输出的数字量。
显然:(1)当Vref=5V,n=8,则Vin=0V,则Dx=0, 当Vin=5V,则Dx=255 当Vin在0-5V之间变化,Dx在0-255之间变化,
《单片机原理及应用教程》第7章:单片机的串行通信及接口
《单片机原理与应用及上机指导》第7章:80C51单片机系统扩展
表7.4 常用SRAM芯片的主要性能
表7.6 80C51与6264的线路连接
7.2 并行I/O扩展
MCS-51系列单片机共有4个并行I/O口,分别是P0、P1、 P2和P3。其中P0口一般作地址线的低8位和数据线使用; P2口作地址线的高8位使用;P3口是一个双功能口,其第 二功能是一些很重要的控制信号,所以P3一般使用其第二 功能。这样供用户使用的I/O口就只剩下P1口了。另外,这 些I/O口没有状态寄存和命令寄存的功能,所以难以满足复 杂的I/O操作要求。因此,在大部分MCS-5l单片机应用系 统的设计中都不可避免地要进行I/O口的扩展。 7.2.1 并行I/O扩展原理 7.2.2 常用的并行I/O扩展芯片
线选法
若系统只扩展少量的RAM和I/O口芯片,可采用线选法。 线选法是把单片机高位地址分别与要扩展芯片的片选端相连,控制选 择各条线的电路以达到选片目的,其优点是接线简单,适用于扩展芯 片较少的场合,缺点是芯片的地址不连续,地址空间的利用率低。
图7.7 片外RAM的读时序
图7.8 片外RAM的写时序
4.数据存储器芯片及扩展电路
(1) 数据存储器 数据存储器扩展常使用随机存储器芯片,用得较多的是 Intel公司的6116(容量为2KB)和6264(容量为8KB), 其性能 如表7.4所示。 (2) 数据存储器扩展电路 80C51与6264的连接 如表7.6所示。
全地址译码法
利用译码器对系统地址总线中未被外扩芯片用到的高位地址线进行译 码,以译码器的输出作为外围芯片的片选信号。常用的译码器有 74LS139、74LS138、74LS154等。优点是存储器的每个存储单元只 有唯一的一个系统空间地址,不存在地址重叠现象;对存储空间的使 用是连续的,能有效地利用系统的存储空间。缺点是所需地址译码电 路较多,全地址译码法是单片机应用系统设计中经常采用的方法 。
单片机讲义第七章
一、中断的起因
什么可以引起中断? 生活中很多事件可以引起中断:有人 按了门铃了,电话铃响了,你的闹钟闹响 了,你烧的水开了….等等诸如此类的事件, 我们把可以引起中断的称之为中断源,单 片机中也有一些可以引起中断的事件, 8051中一共有5个:两个外部中断,两个 计数/定时器中断,一个串行口中断。
三、中断的响应过程
当有事件产生,进入中断之前我们必须先记住现 在看书的第几页了,或拿一个书签放在当前页的位置, 然后去处理不同的事情(因为处理完了,我们还要回 来继续看书):电话铃响我们要到放电话的地方去, 门铃响我们要到门那边去,也说是不同的中断,我们 要在不同的地点处理,而这个地点通常还是固定的。 89C51中也是采用的这种方法,五个中断源,每个 中断产生后都到一个固定的地方去找处理这个中断的 程序,当然在去之前首先要保存下面将执行的指令的 地址,以便处理完中断后回到原来的地方继续往下执 行程序。
二、中断的嵌套与优先级处理
设想一下,我们正在看书,电话铃响了,同时又 有人按了门铃,你该先做那样呢?如果你正是在等一 个很重要的电话,你一般不会去理会门铃的,而反之, 你正在等一个重要的客人,则可能就不会去理会电话 了。如果不是这两者(即不等电话,也不是等人上 门),你可能会按你通常的习惯去处理。总之这里存 在一个优先级的问题, 单片机中也是如此,也有优先级的问题。优先级 的问题不仅仅发生在两个中断同时产生的情况,也发 生在一个中断已产生,又有一个中断产生的情况,比 如你正接电话,有人按门铃的情况,或你正开门与人 交谈,又有电话响了情况。考虑一下我们会怎么办吧。
电平触发的外部中断的清除
对于电平触发的外部中断,CPU响应中断后, 虽然也是由硬件清除了相应的标志位,但是不 能对外部引脚上的电平进行处理,也就是说, 这时如果外部引脚上的低电平依然存在,会造 成重复中断,因此我们应该在电路上增加对外 部引起中断的信号进行处理。P148图7-5是一 个可行的方案之一。通过I/O口输出一个信号, 使得外部引脚上的中断请求信号变为高电平。
单片机原理与应用及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秒。
nj单片机原理及应用(C语言版)第7章
单片机原理及应用(C语言版)第7章MCS-51单片机串行口主编:周国运中国水利水电出版社本章要点本章主要讲述MCS-51单片机串行口的结构、工作原理以及应用。
主要内容包括串行通信基本知识、MCS-51单片机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。
7.1 串行通信基本知识主要内容7.1.1 数据通信7.1.2 异步通信和同步通信7.1.3 波特率7.1.4 通信方向7.1.5 串行通信接口种类7.1.1 数据通信计算机与外界的信息交换称为通信。
基本的通信方法有并行通信和串行通信两种。
1.并行通信单位信息(通常指一个字节)的各位数据同时传送的通信方法称为并行通信。
优点:传送速度快;缺点:数据有多少位,就需要多少根传送线。
适合近距离通信7.1.1 数据通信2.串行通信单位信息的各位数据被分时一位一位依次顺序传送的通信方式称为串行通信。
优点:只需一对传输线,大大降低了传送成本,特别适用于远距离通信;缺点:传送速度较低。
适合远距离通信1.异步通信异步通信中,传送的数据可以是一个字符代码或一个字节数据,数据以帧的形式一帧一帧传送。
7.1.2异步通信和同步通信图7-3 异步通信的一帧数据格式1、异步通信起始位(0):信号只占用一位,用来通知接收设备一个待接收的字符开始到达。
线路上在不传送字符时应保持为1。
接收端不断检测线路的状态,若连续为1以后又测到一个0,就知道发来一个新字符,应马上准备接收。
数据位:紧接着起始位后面,它可以是5位(D0--D4)、6位、7位或8位(D0--D7)。
1、异步通信奇偶校验:只占一位,但也可以规定不使用奇偶校验位,这一位就可省去。
也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。
停止位:用来表征字符的结束,它一定是高电位(逻辑1)。
停止位可以是1位、1.5位或2位。
接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一个字符做好准备--只要再接收到0,就是新的字符的起始位。
(单片机完整课件PPT)第七章
当SM2=1时,只有当接收到第9位数据(RB8)为1时,才将接 收到的前8位数据送入SBUF,并置位RI;否则,将接收到的8位 数据丢弃。当SM2=0时,则不论第9位数据为0还是为1,都将8 位数据装入SBUF中,并置位RI。 REN:允许/禁止接收控制位 0—禁止接收; 1—允许接收。 TB8:发送数据第9位。 RB8:接收数据第9位。 TI: 发送中断标志 RI: 接收中断标志。
(2)输入(接收) 设置:SM0=0,SM1=0,SM2=0,REN=1。
时序:
RXD TXD D0 D1 D2 D3 D4 D5 D6 D7
7.2 MCS-51串行口的结构
内部含有1个可编程全双工串行通信接口,4种工作方式。
1.串行口数据缓冲器SBUF
8位发送/接收缓冲器SBUF,在物理上是独立的两个,包括 发送缓冲器SBUF和接收缓冲器SBUF,只是共用地址 99H,这样可以同时进行发送、接收。 发送缓冲器SBUF只能写入不能读出,接收缓冲器SBUF只能 读出不能写入。
(1)输出(发送)
设置:SM0=0,SM1=0,SM2=0,REN=0。 时序:
RXD TXD D0 D1 D2 D3 D4 D5 D6 D7
串口方式0发送数据时序
发送完8位数据,即SBUF为空,硬件自动置“1”中断标志位TI,
CPU响应中断后必须软件清“0”TI。
应用:扩展一并行口,“串入并出”。
2.串行通信的分类
异步通信(Asynchronous Communication)
数据以字节为单位组成字符帧传送。字符帧由发送端一帧 一帧地发送。两相邻字符帧之间可以无空闲位,也可以有若干 空闲位。这就是异步概念。发送端和接收端的时钟各自独立。 实现双方同步接收是靠字符帧的起始位和停止位。
单片机原理及应用第三版课后答案
单片机原理及应用第三版课后答案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) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。
精品课件-新编单片机原理与应用-第7章
11
3. 关键器件的选择 在选定单片机类型后,通常还要对系统中一些严重影响系 统性能指标的器件(如传感器、微弱信号放大器件等)进行选择。 例如,一个设计合理的测控系统往往因传感器件的精度或使用 条件等因素的限制而达不到应有的效果。
12
4. 软硬件功能划分 同一般的计算机系统一样,单片机应用系统的软件和硬件 在逻辑功能上是等效的。具有相同功能的单片机应用系统,其 软硬件功能可以在很宽的范围内变化。一些硬件电路的功能可 以由软件来实现,反之亦然。例如,系统日历时钟可以用实时 /日历时钟芯片(如MC146818、PCF8563)实现,也可以用定时中 断方式实现;又如无线或红外解码电路,既可由相应解码芯片 承担,也可以通过软件方式(如利用具有上升、下降沿触发捕 获功能的定时器)实现。
14
7.3 硬 件 设 计
硬件设计的任务就是依据总体设计要求,在选定单片机类 型基础上,规划出系统的硬件电路框图、所用元器件及电气连 接关系,生成系统的电原理图;根据经验或经过计算确定系统 中每一元器件的参数(如电阻阻值及公差、耗散功率、耐压)、 型号及封装形式。
15
必要时通过仿真或实验方式对系统内局部电路进行验证,确保 电原理图的正确性和可靠性。在系统原理图及元器件参数、型 号、封装形式完全确定情况下,就可进入印刷电路板设计(也 涉及工艺结构设计内容)阶段。
1) 货源充足、稳定 所选单片机芯片在国内元器件市场上货源要稳定、充足, 有成熟的开发设备(主要指仿真器和编程器)。 对于MCS-51及其兼容芯片来说,在研制阶段可选择带 Flash ROM存储器的CPU芯片,如89C5×系列中的 89C51/52/54/58、89C5××2系列中的 89C51×2/52×2/54×2/58×2、89C51RX系列中的89C51RD2芯 片、SST89E5XRD2系列芯片等,借助通用编程器即可反复修改 监控程序,便于调式;在小批量试产时,可换上相应型号、价 格更低的OTP ROM存储器芯片,如87C××系列中的 87C51/52/54/58或87C5××2系列芯片即可,无须修改硬件(如 PCB)和软件。
单片机原理与应用技术第7章
E12系列 : 10 % 1 1.2 1.5 1.8 2.2 2.7 3.3 3.9 4.7 5.6 6.8 8.2
E24系列 : 5 % 1.0 1.1 1.2 1.3 1.5 1.6 1.8 2.0 2.2 2.4 2.7 3.0 3.3 3.6 3.9 4.3 4.7 5.1 5.6 6.2 6.8 7.5 8.2 9.1
4
(2)碳膜电阻(代号RT).在瓷柱体外层喷涂碳 膜而成(初期产品有扁形引脚),热噪声小,耐功 耗较高,性能和价格也提升,20世纪六七十年代 以来在晶体管收音机及电子仪器中一直常用.
(3)金属膜电阻(代号RJ).在瓷柱体外层喷涂 金属膜而成(初期产品表面多为红色)精度稳定 ,耐功耗高,体积相对小,价贵,常作为精密和高 稳定性电阻, 被广泛应用于诸如示波器等精密 电子仪器和设备.
典型薄膜电容的特性简介如下:
1)聚酯电容(代号CL):体积小,容量大,绝缘电 阻高,耐热耐湿,成本较低,一般容量范围 100pF~10μF、额定电压63~630V,具正温度系 数,温度范围-55~+100℃,损耗随频率升高而 增加较大,稳定性较差.
*不宜用于高频电路,被广泛用于对稳定性和损 耗要求不高的直流和中频、低频电路.
* 标称值表示电阻生产是按10倍阻值递增的,
17
例如:数字1.5表示阻值有 1.5 、15 、150 、 1.5k 、15k、150k 、1.5M 等,其余可类推. * 应用中如果标称值中没有所需的阻值,可通 过串-并联方法组构. 电阻值可用数字万用表 或指针式万用表来测量,前者读数较准确方便.
3)聚苯乙烯电容(代号CB):介电损耗极低,较 之聚丙烯电容要稳定,绝缘电阻很高,电参数 随温度和频率变化很小,电容量精度高,一般
《单片机原理与技术》课件第7章-中断
1.定时器/计数器控制寄存器TCON
位7
位6
位5
位4
位3
位2
位1
位0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IT0:外部中断INT0触发方式选择 位。可由用户用软件选择。 • IT0=1:设定外部中断引脚信号为下降 沿触发方式。 •
IT1:外部中断INT1触发方式选择 位,其功能类似于IT0。 • IE0:外部中断INT0触发有效标志 位。 • IE1:外部中断INT1触发有效标志 位,其功能类似于IE0。 •
•
定时器0与定时器1标志为TF0与TF1, 在定时器溢出周期的S5P2设置。然后其值 在下一周期由电路查询。然而,定时器2标 志TF2是在S2P2设置且在定时器溢出的同 一周期内被查询。 Nhomakorabea•
若请求有效且响应的条件正确,至请 求的服务例程的硬件子例程调用将是下一 条要执行的指令。CALL自己需要两个周期。 因此,在外部中断请求的激活与服务例程 的第一条指令的执行开始之间,至少需要3 个完整的机器周期。图7-9所示为中断响应 时序。
图7-4 中断响应、服务及返回流程图
7.3 80C51中的中断结构
7.3.1 中断启用
图7-5 MCS-51中断源
图7-6 80C51中的IE(中断启用)寄存器
7.3.2
中断优先权
图7-7 80C51中的IP(中断优先级)寄存器
7.3.3
•
中断如何处理
在操作中,所有中断标志在每个机器 周期的S5P2期间被采样。在下一个机器周 期期间查询采样。若找到一启用的中断的 标志已设置,中断系统生成一LCALL至在 程序存储器中的适当单元,至中断服务例 程的LCALL的生成,由以下3个条件中的任 一个阻断:
单片机原理及接口技术 第七章
7.6.2 中断返回
在中断服务子程序的最后要安排 一条中断返回指令IRET,执行该指令, 系统自动将堆栈内保存的 IP/EIP和CS 值弹出,从而恢复主程序断点处的地 址值,同时还自动恢复标志寄存器FR 或EFR的内容,使CPU转到被中断的程 序中继续执行。
7.6.4 中断请求的撤除
①若ITO (ITl) =0,外中断为电平触发方式。单片机在每一个机器周期的S5P2期间采样中断输入信号INTO (INT1)的状态,若为低电平,即可使TCON寄存器中的中断请求标志位IEO (IEl)置位,若满足响应条件就能得 以及时响应。由于外中断源在每个机器周期被采样一次,所以输入的低电平至少必须保持12个振荡周期,以保 证能被采样到。而一旦CPU响应中断,进入中断服务程序时,IEO (IEl)会被CPU自动删除,但由于中断系统没有 对外的中断应答信号,即中断响应后没有信号输出去通知外设结束中断申请,所以,设计人员如果没有措施来 撤除低电平信号,则在下一个机器周期CPU检测外中断申请时又会发现有低电平信号而将IEO (IEl)重新置位。
外部中断是由外部原因引起的,共有两个中断源,及外部中断0和外部中断1,相应的中断 请求信号输入端是INT0和INT1。 外部中断INT0和INT1有两种触发方式,即电触发方式和脉冲触发方式。
7.4.2 定时中断类
定时中断发生在单片机的内部,也有两个中断源,即为定时/计数器0溢出中断和定时/计 数器1溢出中断。
7.4 中断源类型
中断源,中断是指由于某种事件的发生(硬件或者软件的),计算机暂停执行当前的程序, 转而执行另一程序,以处理发生的事件,处理完毕后又返回原程序继续作业的过程。中断是 处理器一种工作状态的描述。我们把引起中断的原因,或者能够发出中断请求信号的来源统 称为中断源。
单片机第七章 80C51单片机的典型外围接口技术
第7章单片机的典型外围接口技术7.1键盘接口7.2显示接口7.3DAC接口7.4ADC接口7.1键盘接口(1)独立连接式键盘优点:结构简单、使用方便。
缺点:占用的I/O口线多。
(2)矩阵式键盘⏹键盘上的键按行列构成矩阵,在行列的交点上都对应有一个键。
⏹所谓键实际上就是一个机械开关,被按下则其交点的行线和列线接通。
⏹非编码键键盘接口技术的主要内容就是如何确定被按键的行列位置,并根据此产生键码。
1.键输入过程与软件结构键扫描有无键按下查键号JMP @A+DPTR00#按键应用程序01#按键应用程序NN #按键应用程序A=00H A=01H A=NNH...N Y2.键盘输入接口与软件应解决的任务⏹(1)键开关的可靠输入⏹抖动的处理有硬件处理和软件处理两种。
⏹(2)按键编码与键号定义⏹(3)键盘检测与编制键盘程序3.矩阵式键盘电路的结构及工作原理一个4×4的行、列结构可以构成一个含有16个按键的键盘。
0123106759841114151312+5V X3X2X1X0Y3Y0Y2Y1扫描方法:先令列线Y0为低电平(0),其余3根列线Y1、Y2、Y3都为高电平,读行线状态。
如果X0、X1、X2、X3都为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态;如果Y0这一列上没有键闭合,接着使列线Y1为低电平,其余列线为高电平。
用同样的方法检查Y1这一列上有无键闭合,依次类推,最后使列线Y3为低电平,其余列线为高电平,检查Y3这一列有无键闭合。
按键开关的抖动问题组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。
P1.0由于按键是机械触点,当机械触点断开、闭合时,会有抖动,P1.0输入端的波形如图所示。
常用去抖动方法:⏹(1)硬件方法增加去抖动电路。
⏹(2)软件方法采用软件延时(10ms)躲过抖动(3)键盘的接口电路7.2显示接口⏹7.2.1 基本LED 显示原理⏹1.LED显示器的结构与原理d 1234a b c dp f e c dpd e g f b a GND GND abcdefgdp a b c d e f g dp +5v 8R ⨯8R ⨯g 共阴极共阳极2. 十六进制数字形代码表字型共阳极代码共阴极代码字型共阳极代码共阴极代码0C0H3FH990H6FH1F9H06H A88H77H2A4H5BH B83H7CH3B0H4FH C C6H39H 499H66H D A1H5EH 592H6DH E86H79H 682H7DH F84H71H7F8H07H灭FFH00H 880H7FH7.2.2 LED 显示方式在单片机应用系统中使用LED 显示块构成N 位LED 显示器。
《单片机原理及应用》教学课件 第7章-单片机C语言编程基础知识
7.1.2 C51 数据类型
3. sfr16
sfr16也是一种扩充数据类型,它定义的变量占用两个 内存单元。sfr16和sfr一样用于操作特殊功能存放器,不同 的是,sfr16定义的变量可访问16位特殊功能存放器,sfr16 类型变量的取值范围为0~65535。
该数据类型的定义格式如下: sfr16 变量名=变量地址; 此处的变量地址为16位地址中的低8位地址。通过sfr16 类型变量访问16位特殊功能存放器时,先读低字节数据,后 读高字节数据;对特殊功能存放器写入数据时,先写入高字 节地址,再写入低字节地址。
要在数字后面加上字母L,如104L,034L,7850L等。
〔2〕浮点型常量
浮点型常量可分为十进制和指数两种表示形式。
① 十进制浮点型常量由数字和小数点组成,整数或小数局部为0时可以省略,
但必须要保存小数点,如,,,.25,300.等。
② 指数浮点型常量表示形式为:[±]数字[.数字]e[±]数字。[]中的内容为可选
C语言程序本身不依赖于硬件开发平台,程序不做修改或做少量修改就可以移植到 不同的单片机中。目前,使用C语言进行程序设计已经成为单片机软件开发的主流。
基于单片机的C语言又称为C51语 言。和标准C语言所不同的是,C51语 言运行于单片机平台上,并根据单片 机的硬件特点扩展了局部关键字。以 下关于C语言的描述都是基于单片机的, 后面不再强调这一点。
项,如125e3,7e9,−3.0e−3等。
15
7.1.3 常量与变量
〔3〕字符型常量 将单个字符放在单引号内的常量就是字符型常量,如'a''d'等。有一类字符型常量专 门用来表示控制字符,如回车符、换行符等,它们被称为转义字符,其表示方式为在字 符前面加上一个反斜杠“\〞,如'\n'。常用转义字符如表7-3所示。
《单片机原理及应用》第7章 51及定时器计数器应用基础
中断,并在中断服务程序中对P1.0和P1.1取反。由于 采用了6MHz晶振,因此单片机的机器周期为2μs。因 此可计算TL0的初值X=156=9CH,TH0的初值X=56=38H。
【例7-3】P1.1输出周期1s的方波
• 由于定时时间较长,一个定时器不能直接实现(一个 定时器最长定时时间为65536us),可以有以下两种方 法。
• 方法1:硬件定时*软件计数 • 如硬件定时50ms,软件计数器设定为20即可。
方法2:硬件定时器*硬件计数器
• (1)T0定时器,定时器50ms,定时时间到,P1.0取反 ;
• (2)T1计数器, • 计数脉冲位P1.0, • 计数10次; • (3)计数次数到 • P1.1取反。
【例7-4】不同占空比的输出)
• 7.1.1 结构 • 7.1.2 控制寄存器 •
7.1.1 结构
• 计数功能:
• 是指对外部事件进行计数:计数信号来自T0(P3.4)、 T1(P3.5)引脚。
• 定时功能:
• 也是通过计数器的计数功能来完成的,不过此时的计 数脉冲来自单片机内部:机器周期。
7.1.2 控制寄存器
• 与定时器/计数器应用有关的控制寄存器有2个,分别 为TCON、TMOD、TH、TL。
• 1、计数器控制寄存器(TCON)
2、工作方式控制寄存器(TMOD)
• 3、TH、TL • 4、如果是中断方式,还与IE、IP寄存器有关。
7.1.3 串行通信的检错与纠错
• 1、奇偶校验 • 2、代码和校验 • 3、循环冗余校验(CRC校验)
总结:
• 7.1.4(1串)并行行接与口串芯行片;UART和USART
第七章单片机的典型外围--ADC电路
12位数模转换芯片 AD7542
(2)AD7542与80C51的接口
AD7542 与 80C51 的接口电路非常简单,见图 7-19 。用 P1 口的 P1.3~P1.0 与数据线 D3~D0 相连, P1.5 、 P1.4与A1、A0相连,P1.6用做片选CS,P3.0用做WR信 号。
图7—19 AD7542与80C51的接口电路
D7
输 入 寄 存 器
D0
ILE 1
DAC 寄 存 器
D/A 转 换 器
Vref Iout2 Iout1 Rfb
LE1 & 1
LE2
CS 0 ≥1 WR1 0 WR2 0 ≥1 XFER 0
LE=1,Q 跟随 D
1 1
LE=0,Q 锁存 D
DAC0832 常见的几种用法
D7
输 入 寄 存 器 DAC 寄 存 器 D/A 转 换 器
三角波
同样的编程思路,若要产生 如下的梯形波也很容易:
梯形波
DAC0832 的编程应用举例
SE13:MOV SP,#60H MOV 7EH,#00H 显示 MOV 7DH,#08H 缓冲 MOV 7CH,#03H 区初 MOV 7BH,#02H 值 REPT:MOV R6,#00H JIA1:MOV DPTR,#0FFE0H MOV A,R6 MOVX @DPTR,A;送D/A转换 MOV R0,#79H;显缓最低位 LCALL PTDS ;拆字 MOV R2,#10H XS1:LCALL DIS ;显示 DJNZ R2,XS1 INC R6 ;加1
20 PIN
DIP封装
DAC 0832 引脚定义
D0—D7:8位数字量输入端 /CS: 片选端,低有效 ILE: 数据锁存允许,高有效 /WR1:锁存输入数据写控制信号 /WR2:锁存输入寄存器输出数据的写信号 /XFER: 数据传送控制信号 Iout1: 电流输出端1 Iout2: 电流输出端2 Rfb: 内置反馈电阻端 Vref: 参考电压源,-10~+10V DGND: 数字量地 AGND: 模拟量地 Vcc: +5~+15V单电源供电端 DAC0832
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理与应用(三)第七章MCS-51单片机的扩展存储器技术7.1存储器概述7.1.1 只读存储器1. 掩膜ROM(MROM):须提供程序代码给供货商,再由生产芯片的工厂写入程序代码(烧录、固化)。
2. 可编程ROM(PROM):只能进行一次性写入代码,由用户自行制作。
3. 可紫外线擦除编程ROM(EPROM):经紫外线照射擦除后,可多次写入代码。
4. 电可擦除可编程ROM(EEPROM):分为并行和串行操作芯片,可直接改写代码,但写入时的速度要比SRAM慢许多。
5. 快速擦写存储器(Flash Memory):可替代SRAM。
7.1.2 随机存取存储器1. 静态RAM(SRAM):功耗大,不须配置刷新电路,单片机中常用。
2. 动态RAM(DRAM):功耗低,但须配置刷新电路,单片机中不用。
7.1.3 特殊存储器1. 加密ROM (KEPROM):只能运行,不能读出和复制。
2. 双口RAM:供两个CPU共同使用,两个口都可以读写,但须异步读写。
3. 先进先出RAM:另一种双口RAM,数据单向传输,一个口写入,另一个口读出,可以同步读写。
4. Flash Memory:具有SRAM(快速)和EEPROM(可改写)的特点。
7.2 存储器扩展的基本知识单片机中常用的存储器:1. EPROM的型号有:2716、2732、2764、27128、27256等,称为27X系列。
2. SRAM的型号有:6116、6264、62128、62256等。
3. 串行EEPROM的型号有:24C01、24C02,24C04、24C08等,93C46、93C56等。
4. 并行EEPROM的型号有:2816、2817、2864等。
5. FLASH Memory的型号有:28F256、28F512、28F010等。
MCS-51单片机有16条地址线,其中有8条与数据线共用,有5条控制线。
(1)地址总线:由P0口(低8位地址)和P2口(高8位地址)提供。
(2)数据总线:由P0口提供。
(注意:P0口为共用。
)(3)控制总线:RD(P3.6):外部数据存储器的读控制;例:MOVX A,@DPTRWR(P3.7):外部数据存储器的写控制;例:MOVX @DPTR,APSEN:外部程序存储器的读控制;例:MOVC A,@A+DPTRALE:锁存P0口输出的低8位地址信息;例:MOVX 或MOVC指令。
EA:片内‘1’/片外‘0’程序存储器选择。
当EA接高电平时,所访问的片内程序存储器是指0000H~0FFFH共4K的空间。
大于4K的那部分程序是放在外部扩展的程序存储器ROM中。
7.2.1 MCS-51单片机对存储器的控制1.读写控制:对RAM芯片用RD和WR,例:MOVX @DPTR,A对ROM芯片用PSEN,例:MOVC A,@A+DPTR对即作程序又作数据的存储器(EEPROM)则要RD和PSEN相与做为读信号。
ALE LEP0.0~P0.7 373OE 62128 27648051 A0~A7 A0~A7Q0~Q7Q0~Q7P2.0~P2.4 A8~A12P2.5 A13 A8~A12RD OE CE CEWR WE OEPSENEA62128芯片的访问地址为:0000H~3FFFH2764芯片的访问地址为:0000H~1FFFH补充:CPU执行MOVX @DPTR,A的过程:(读写RAM)①. DPL的值送到P0口,DPH的值送到P2口,ALE发出锁存的电平信号;(一般是使用74LS373或74LS374作为低八位的地址锁存器)②. A的值送到P0口,WR发出“写”的电平信号。
(把A中的数据送到DPTR指定的地址中)CPU执行MOVC A,@A+DPTR的过程:(读ROM)①. DPTR A+DPTR;②. DPL的值送到P0口,DPH的值送到P2口,ALE发出锁存的电平信号;③. PSEN发出“读”的电平信号;P0口的值送给A。
(把A+DPTR指定的地址中的数据送到A中)注意:对于RAM芯片P2.6、P2.7没有用到,所以4000H~7FFFH、8000H~BFFFH、C000H~FFFFH 等同于0000H~3FFFH。
2. 片选控制:对某个芯片。
1)线选法:用P2口的一根线。
特点:电路简单、扩展多个芯片的地址难于连续、浪费了地址空间。
2) 译码法:用P2口的几根线通过译码器连接到各个芯片。
特点:须加译码芯片、扩展多个芯片的地址可以连续、充分利用了地址空间。
7.2.2 外部地址锁存器和外部地址译码器1) 地址锁存器常用的有带三态缓冲输出的74LS373、8282和带清除端的74LS273。
2) 地址译码器常用的有3-8译码器74LS138、双2-4译码器74LS139、4-16译码器74LS154。
见P145页的图7-3。
7.2.3 总线驱动器单片机外接的芯片如果太多,必须连接驱动器以提高总线的驱动能力。
单向总线驱动器有74LS244,用于地址总线和控制总线。
双向总线驱动器有74LS245,用于数据总线。
MCS-51单片机与74LS245的连接方法见P147页的图7-6。
(书上的图有误)7.3 程序存储器EPROM的扩展7.3.3 27X系列EPROM的扩展1) 单片EPROM的扩展:见P153页的图7-10。
(上图)1. 8051的P0口接74LS373的输入口,ALE接74LS373的锁存端LE,74LS373的输出允许端OE接地。
2. 74LS373的输出口和8051的P2口(低位)接EPROM的地址口,8051的P0口接EPROM的数据口。
3. PSEN接EPROM的输出允许端OE。
4. EPROM的片选端CE接地。
2)多片EPROM的扩展1. 各片EPROM的连接与单片扩展1.~3.的接法一样。
2. 各片EPROM的片选端CE:(分出不同的地址)(a) 线选法:分别接到P2口(高8位)剩下的数据线上,见P154页的图7-11。
各芯片地址空间分别为:2732:C000H~CFFFH ;当P2.7=A15=1 (置2764(2)的CE=1), P2.6=A14=1 (置2764(1)的CE=1),P2.5=A13=0 (置2732的CE=0) , P2.4任意。
2764(1):A000H~BFFFH ;当P2.7=A15=1 (置2764(2)的CE=1), P2.6=A14=0 (置2764(1)的CE=0) ,P2.5=A13=1(置2732的CE=1)。
2764(2):6000H ~7FFFH ;当P2.7=A15=0 (置2764(2)的CE=0), P2.6=A14=1 (置2764(2)的CE=1) ,P2.5=A13=1(置2732的CE=1)。
P154页的图7-11的简图:地址有效空间8051 A13 CE 2732 A0~A11 C000H~CFFFH 0~FFFHP2.5 A14 CE 2764(1) A0~A12 A000H~BFFFH 0~1FFFHP2.6P2.7 A15 CE 2764(2) A0~A12 6000H~7FFFH 0~1FFFHA15 A14 A13 存储地址2732 [A13] 1 1 0 C000H~CFFFH2764(1) [A14] 1 0 1 A000H~BFFFH2764(2) [A15] 0 1 1 6000H~7FFFH问题:如果要求地址是连续的,该如何连接?(不用译码法)提示:添加一些与、或、非门电路来组成。
A15、A14、A13之间的逻辑关系:A15=~(A14∧A13)、A14=~(A15∧A13)、A13=~(A15∧A14)~(A14∧A13) A14 A13 存储地址2732 [A13] 1 1 0 4000H~4FFFH2764(1) [A14] 1 0 1 2000H~3FFFH2764(2)[~(A14∧A13)] 0 1 1 6000H~7FFFH~(A14∧A13) A14 A13 存储地址2764(2) [A13] 1 1 0 4000H~5FFFH2764(1) [A14] 1 0 1 2000H~3FFFH2732 [~(A14∧A13)] 0 1 1 6000H~6FFFH问题:如果要求地址是连续的且从0000H开始,该如何连接?(不用译码法)(b) 译码法:把各个扩展的存储器CE分别接到译码器的输出端(译码器的输入端与P2口连接),见P156页的图7-13。
P2.6 P2.5地址8051 74LS139 0 0CE 2732 A0~A11 0000H~0FFFHP2.5 B SEL1P2.6 B SEL2 0 1CE 2764(1) A0~A12 2000H~3FFFHB0B1 CE 2764(2) A0~A12 4000H~5FFFFHB2 1 07.4 数据存储器的扩展(见P160~162页的图7-18,7-19,7-20)RAM芯片的扩展其地址线及数据线与EPROM芯片扩展的连接一样,不同之处在于:1. RAM的输出允许端OE接8051的RD端;2. RAM的WR端接8051的WR端。
7.4 EEPROM存储器的扩展(见P160~162页的图7-18,7-19,7-20)EEPROM存储器分为串行和并行两种芯片。
(1) 常用的串行EEPROM芯片的型号有:1. 两线的AT24CX系列,是I2C总线接口;2. 三线的AT93CX系列,是MICROWIRE总线接口;3. 四线的AT59CX系列,是SPI总线接口;串行EEPROM占用单片机的I/O资源较少,仅作为存储器使用。
(2) 常用的并行EEPROM芯片的型号有:Intel公司的28CX系列的2816/2816A、2817A、2864A并行EEPROM既能作为程序存储器又能作为数据存储器。
从用途上看,一是作为程序存储器时可以在线修改程序,既所谓的在线‘自动’升级;二是作为数据存储器使用时,程序运行时修改的数据,在断电后仍然不会丢失,三是既作为程序存储器又同时作为数据存储器使用。
从单片机指令读写方面看,既可以用MOVC进行读操作(须用到总线的PSEN),又同时可以用MOVX指令进行读/写操作(须用到总线的RD和WR)。
问题:既然用MOVX指令已能进行读/写操作了,为何还要同时能用MOVC进行读的操作?应从硬件方面回答:一是程序代码和数据的改写,二是程序的执行原理。
作业十:1. 举出三种只读存储器的名称并简述其主要特点。
2. 分别指出SRAM和DRAM各自的特性。
3. 叙述两种双口RAM各自的性能。
3. 简述CPU执行MOVX A,@DPTR的过程。
4.单片机对外部数据存储器读和写控制的信号线是和。
5.单片机对EEPROM存储器的读选通信号控制线是与。