单片机第7章

合集下载

单片机原理及接口技术(C51编程)第7章 定时器计数器

单片机原理及接口技术(C51编程)第7章 定时器计数器
30
图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的计数初值

第7章 单片机的系统扩展

第7章 单片机的系统扩展

第七章 单片机的系统扩展
74LS138是”3-8”译码器,具有3个选择输入端, 可组成8种输入状态。8个输出端,分别对应8种输 入状态中的1种,0电平有效。
第七章 单片机的系统扩展
第七章 单片机的系统扩展
7.2 数据存储器的扩展
MCS-51单片机内部有128B的RAM存储空间。
内部RAM通常作为工作寄存器、堆栈、软件标志 和数据缓冲区。
第七章 单片机的系统扩展
2864有四种工作方式,如表7-2所示。
第七章 单片机的系统扩展
7.1.3 程序存储器的扩展方法
1. 总线的连接与时序
第七章 单片机的系统扩展
图7-5为MCS-51单片机程序存储器的操作时序。
第七章 单片机的系统扩展
2.单片程序存储器的扩展
第七章 单片机的系统扩展
3.多片程序存储器的扩展
第七章 单片机的系统扩展
8255A的控制字
(1)工作方式控制字
第七章 单片机的系统扩展
(2)置位/复位控制字
第七章 单片机的系统扩展
例如,若将07H写入控制字 功能:PC3置位
若将08H写入控制字
功能:PC4复位
【例】 要求A口工作在方式0输入,B口为方式1输出, C口高4位PC7~PC4为输入,C口低4位PC3~PC0为 输出。设8255控制器地址为FFFDH MOV DPTR, #0FFFDH
第七章 单片机的系统扩展
第七章 单片机的系统扩展
2. 8255A芯片的控制字及其工作方式
方式0——基本输入/输出方式。 方式1——选通输入/输出方式。 方式2 ——双向传送方式。
端口A可工作于方式0、1、2,端口 B只可工作于 方式0、1,端口C只可工作于方式0。

单片机原理及应用(李桂林)章 (7)

单片机原理及应用(李桂林)章 (7)

第 7 章 单片机并行扩展技术 图 7-1 8031 最小应用系统
第 7 章 单片机并行扩展技术
8031 芯片本身的连接除了 EA 必 须 接地 地外(选择外 部存储器),其他与 80C51 / 89C51 最小应用系统一样,也必须 有复位及时钟电路。
第 7 章 单片机并行扩展技术
7. 2 总线扩展及编址方法
第 7 章 单片机并行扩展技术
7. 1 单片机的最小系统
最小应用系统,是指能维持单片机运行的最简单配置的系 统。这种系统成本低廉、结构简单,常用来构成简单的控制系 统,如开关状态的输入/输出控制等。对于片内有ROM / EPROM 的单片机,其最小应用系统即为配有晶振、复位电路和电源的 单个单片机。对于片内无 ROM / EPROM 的单片机,其最小系统 除了外部配置晶振、复位电路和电源外,还应当外接 EPROM 或 E2 PROM作为程序存储器使用。
第 7 章 单片机并行扩展技术
图 7-3 所示为线选法应用实例。图中所扩展的芯片地址 范围如表 7 -1 所示,其中 ×可以取“0 ”,也可以取 “ 1 ”,用十六进制数表示的地址如下:
2764 ( 1 ): 4000H~5FFFH ,或 C000H~DFFFH ,有地址重 叠现象。
2764 ( 2 ): 2000H~3FFFH ,或 A000H~BFFFH ,有地址重 叠现象。
第 7 章 单片机并行扩展技术
当然,最小系统有可能无法满足应用系统的功能要求。比 如,有时即使有内部程序存储器,但由于程序很长,程序存储器 容量可能不够;对一些数据采集系统,内部数据存储器容量也可 能不够等,这就需要根据情况扩展 EPROM 、 RAM 、 I / O 口 及其他所需的外围芯片。
第 7 章 单片机并行扩展技术

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

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

第7章 MCS-51单片机常用接口技术

第7章 MCS-51单片机常用接口技术

图7.3 用8031的P1口设计的4×4键盘
第7章 MCS-51单片机常用接口技术
7.1.2 键盘按键识别方法
首先在键处理程序中将P1.3~P1.0依次按位变低, P1.3~P1.0在某一时刻只有一个为低。在某一位为低时读行线, 根据行线的状态即可判断出哪一个按键被按下。 如9号键按下时,当列线P1.2为低时,读回的行线状态中 P1.4被拉低,由此可知2号键被按下。 一般在扫描法中分两步处理按键,首先是判断有无键按下, 即使列线(P1.3~P1.0)全部为低,读行线,如行线 (P1.4~P1.7)全为高,则无键按下,如行线有一个为低,则 有键按下。当判断有键按下时,使列线依次变低,读行线,进 而判断出具体哪个键按下。
第7章 MCS-51单片机常用接口技术
7.2.2 LED显示器接口及显示方式
表7.2 段选码、位选码及显示状态表
段选码 (字型) F9H A4H B0H 99H 92H 位选码 P2.4~P2.0 11110 11101 11011 10111 01111 1 2 3 4 5 显示器显示状态
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
图7.6为LED显示器的内部结构及外形。
(a)共阴极 (b)共阳极 (c)LED实物 图7.6 LED显示结构及实物
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
7段LED显示数字0~F,符号等字型见表7.1,其中a段为最 低位,dp为最高位。
第7章 MCS-51单片机常用接口技术
单片机原理及应用教程
第 7章 MCS-51单片机常用接口技术
主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞
第7章 MCS-51单片机常用接口技术

单片机原理第7篇章串行接口

单片机原理第7篇章串行接口

总结和重点强调
串行接口的定义和作用
串行接口是一种用于在计算机系统或电子设备之间传输数据的接口,实现设备之间的通信和 数据交换。
串行通信的特点和优势
逐位传输数据、使用较少的信号线、较高的数据传输速率,节省空间、提高传输效率。
常见的串行接口类型及其应用场景
USB接口、RS-232接口等,应用于计算机、外部存储设备等设备的数据传输。
单片机原理第7篇章串行 接口
串行接口是一种用于在计算机系统或电子设备之间传输数据的接口。它通过 逐位地传输数据,能够有效地减少信号线的使用数量,提高数据传输速率。
串行接口的定义和作用
定义
串行接口是一种数据传输的接口,将数据逐位传输,通过时钟信号同步。
作用
串行接口用于在计算机系统或电子设备之间传输数据,实现设备之间的通信和数据交换。
协议
串行通信需要定义通信协议,规定数据的传输格 式和通信规则。
常见的串行接口类型及其应用场景
USB接口
应用于计算机、外部存储设备、打印机等设备 的数据传输。
RS-2 32 接口
应用于计算机和串行设备之间的长距离数据传 输。
串行通信的标准和协议
1 标准
例如RS-232、USB、SPI、I2C等标准规 定了接口的电气特性和 了数据的传输方式、速率和控制信号。
串行接口的发展趋势和未来展望
1
提高速率
随着技术的发展,串行接口的传输速率将进一步提高,满足对高速数据传输的需 求。
2
减少功耗
为了满足节能环保的需求,串行接口将朝着功耗更低、效率更高的方向发展。
3
应用扩展
串行接口将广泛应用于更多领域,例如物联网、智能家居等。
重要性
串行接口在现代计算机和电子设备中起着至关重要的作用,是数据传输的基础。

《单片机原理与应用及上机指导》第7章:80C51单片机系统扩展

《单片机原理与应用及上机指导》第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口输出一个信号, 使得外部引脚上的中断请求信号变为高电平。

精品课件-单片机应用技术(第三版)刘守义-第7章

精品课件-单片机应用技术(第三版)刘守义-第7章

着在其后沿就启动转换。因此启动图7.5中的ADC0809进行转换
只需要下面的指令(以通道0为例):
MOV
DPTR,#0000H
;选中通道0
MOVX @DPTR,A
; 信号有效,启动转换
WR
第7章 A/D与D/A转换接口
2.转换数据的传送 A/D转换后得到的是数字量的数据,这些数据应传送给 单片机进行处理。数据传送的关键问题是如何确认A/D转换 完成,因为只有确认数据转换完成后,才能进行传送,为此 可采用下述三种方式: (1) 定时传送方式。对于一种A/D转换器来说,转换时 间作为一项技术指标是已知的和固定的。例如ADC0809的转 换时间为128 μs,相当于6 MHz的MCS-51单片机的64个机器 周期。可据此设计一个延时子程序,A/D转换启动后即调用 这个延时子程序,延迟时间一到,转换肯定已经完成了,接 着就可进行数据传送。
8031 A15 A14 0809 × ×
×× ××
××
A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 × × × × × ST × × × × × C B A × × × × ×0 × × × × × 0 0 0 × × × × ×0 × × × × × 0 0 1
示。 该电路连接主要涉及两个问题,一是8路模拟信号通道
的选择,二是A/D转换完成后转换数据的传送。
第7章 A/D与D/A转换接口
图7.5 ADC0809与8031单片机的连接
第7章 A/D与D/A转换接口
1.8路模拟通道的选择 ADDA、ADDB、ADDC分别接地址锁存器74LS373提供的低3位地 址,只要把3位地址写入ADC0809中的地址锁存器,就实现了模拟 通道的选择。对系统来说,地址锁存器是一个输出口,为了把3 位地址写入,还要提供口地址。图7.5中使用的是线选法,口地 址由P2.0确定,同时和相或取反后作为开始转换的选通信号。因 此该ADC0809的通道地址确定如下:

单片机第7章习题答案

单片机第7章习题答案

第7章习题答案1.通常8031给用户提供的I/O口有哪几个?为什么?答案:MCS-51系列单片机虽然有4个8位I/O口P0、P1、P2、P3,但4个I/O口实际应用时,并不能全部留给用户作系统的I/O口。

因为当单片机在外部扩展了程序存储器、数据存储器时,就要用P0和P2口作为地址/数据总线,而留给用户使用的I/O口只有P1口和一部分P3口。

(不做系统扩展,都可以用作I/O口)2.在MCS-51单片机应用系统中,外接程序存储器和数据存储器的地址空间允许重叠而不会发生冲突,为什么?外部I/O接口地址是否允许与存储器地址重叠?为什么?答案:因为单片机访问外部程序存储器与访问外部数据存储器(包括外部I/O口)时,会分别产生PSEN与RD/WR两类不同的控制信号,因此外接程序存储器和数据存储器的地址空间允许重叠而不会发生冲突。

外部扩展I/O口占用数据存储器地址空间,与外部数据存储器统一编址,单片机用访问外部数据存储器的指令来访问外部扩展I/O口。

因此外部I/O接口地址是否允许与程序存储器地址重叠不允许与数据数据存储器地址重叠。

3.在通过MOVX指令访问外部数据存储器时,通过I/O口的哪些位产生哪些控制信号?答案:MCS-51对外部数据存储器的访问指令有以下4条:1)MOVX A, @Ri2)MOVX @Ri, A3)MOVX A, @DPTR4)MOVX @DPTR, A访问外部数据存储器指令在执行前,必须把需要访问的存储单元地址存放在寄存器Ri (R0或R1)或DPTR中。

CPU在执行1)、2)指令时,作为外部地址总线的P2口输出P2锁存器的内容、P0口输出R0或R1的内容;在执行3)、4)指令时,P2口输出DPH内容,P0口输出DPL内容。

写时(/WR P3.6)有效;读时(/RD P3.7)有效。

4.外部存储器的片选方式有几种?各有哪些特点?答案:外部存储器的片选方式有线选法和译码法两种。

线选法的特点是连接简单,不必专门设计逻辑电路,但是各个扩展芯片占有的空间地址不连续,因而地址空间利用率低。

第7章AT89S51单片机的串行口

第7章AT89S51单片机的串行口

PCONSMOD — — — GF1 GF0 PD IDL
GF1,GF0:用户可自行定义使用的通用标志位 GF1: General purpose Flag bit. GF0 :General purpose Fபைடு நூலகம்ag bit.
PD:掉电方式控制位 Power Down bit. =0:常规工作方式. =1:进入掉电方式:振荡器停振片内RAM和SRF的
例如:120字符/秒,1个字符10位, 波特率为:120×10=1200bps 平均每一位传送占用时间:Td=1/1200=0.833ms
常用的波特率有:(离散) 19200/9600/4800/2400/1200/600/300/150/100
/50, 还有10M/100M
7.1.1 与串行通信有关的寄存器
TB8:在串行工作方式2和方式3中,是要发送的第9位数据。 The 9th bit that will be transmitted in modes 2&3. Set/Cleared
by software 多机通信中: TB8=0 表示发送的是数据;
TB8=1 表示发送的是地址.
RB8:在串行工作方式2和方式3中,是收到的第9位数据.该数据来自发
REN:串行口接收允许控制位 Set/Cleared by software to Enable/Disable reception
=1 允许接收; (SETB REN) =0 禁止接收.
系统复位后,REN=0,不允许接受
SM0 SM1 SM2 REN TB8 RB8 TI RI
模式选择 多机通讯位 允许接收位 发送、接收第9位 发送、接收标志
1
1
3 Split timer mode (Timer 0) TL0 is an 8-bit Timer/Counter controlled by the

[单片机原理及接口技术][课件][第07章]

[单片机原理及接口技术][课件][第07章]

第7 章 单片机系统的扩展
1) 掩膜ROM
掩膜ROM简称为ROM, 其编程是由半导体制造厂家 完成的, 即在生产过程中进行编程。 2) 可编程ROM(PROM) PROM芯片出厂时并没有任何程序信息, 其程序是
由用户写入的, 与掩膜ROM相比,
批量也不一定很大。
有了一定的灵活性,
3) 可擦除ROM(EPROM或EEPROM)
第7 章 单片机系统的扩展
存储器芯片的选择有两种方法: 线来自法和译码法。1. 线选法 所谓线选法,将低位地址线直接接片内地址外,将 余下的高位地址线分别作为各个芯片的片选控制信号。 2. 译码法
这种方法除了将低位地址线直接连至各芯片的地址线
外,余下的高位地址线部分或全部参与译码,译码输 出作为各芯片的片选信号。该法使得存储芯片中的任
2716(2K*8或2KB)
2732 (4K*8或4KB) 2764 (8K*8或8KB) 27128 (16K*8或16KB) 27256 (32K*8或32KB)
第7 章 单片机系统的扩展
EPROM
顶部开有一个圆形的石英窗口,用于紫外线透过擦除原有信 息 一般使用专门的编程器(烧写器)编程 编程后,应该贴上不透光封条 出厂未编程前,每个基本存储单元都是信息 “1”
图7―3 74LS373的结构示意图
第7 章 单片机系统的扩展
7.2.2 总线驱动器74LS244, 74LS245
总线驱动器74LS244和74LS245经常用作三态数据 缓冲器, 74LS244为单向三态数据缓冲器,而74LS245 为双向三态数据缓冲器。 单向的内部有8个三态驱动器, 分成两组, 分别由控制端 1G 和2G 2G 控制; 双向的 有16个三态驱动器, 每个方向8个。 在控制端 G 有效 时( G 为低电平), 由DIR端控制驱动方向: DIR为“1” 时方向从左到右(输出允许), DIR为“0”时方向从右到 左(输入允许)。 74LS244和74LS245的引脚图如图7―5 所示。

《单片机原理与技术》课件第7章-中断

《单片机原理与技术》课件第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章-单片机C语言编程基础知识

《单片机原理及应用》教学课件 第7章-单片机C语言编程基础知识
12
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所示。

单片机原理及应用第07章 单片机系统扩展 共91页

单片机原理及应用第07章 单片机系统扩展 共91页
按上图,2764的地址范围是
A[12..0]连接芯片地址 引脚,决定了访问该
芯片的单元地址
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 X X 0 0 0 0 0 0 0 00 00 0 0
0 X X ……………………………………………………
7.2 地址译码 地址译码概念
CPU是通过地址对不同的接口或芯片加以区分的。把CPU送出的 地址转变为芯片选择的依据就是地址译码电路。
地址译码有3种方法
线选法 部分译码法 全译码法
7.2 地址译码
地址译码电路一般有两种结构形式
固定式端口地址译码电路:硬件电路不改动,译码输 出的地址或地址范围不变。
7.3.1 存储器扩展——存储器结构
数据存储器:从物理结构上分为片内数据存储器和片外数据存储 器。
片内数据存储器 MCS-51系列单片机的片内数据存储器除了RAM块外,还有特 殊功能寄存器(SFR)块。 对于51子系列 RAM块有128字节,编址为00H—7FH; SFR块也占128字节,编址为80H—FFH; 二者连续不重叠。 对于52子系列 RAM块有256字节,编址为00H—FFH; SFR块也有128字节,编址为80H—FFH; 后者与前者的后128字节编址重叠的。访问时通过不同 的指令相区分。
值随意
引脚,决定了访问该
按上图,2764的地址2 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
X 0 0 0 0 0 0 0 0 0 00 00 0 0
X 0 0 ……………………………………………………
X 0 0 1 1 1 1 1 1 1 11 1 1 1 1

第7章 STC15单片机的计数器-单片机原理及接口技术-彭文辉-清华大学出版社

第7章  STC15单片机的计数器-单片机原理及接口技术-彭文辉-清华大学出版社

位符号 TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
88H
位地址 8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
(1)TF0、TFl——T0、Tl计数溢出标志位。当计数器计数溢出时,该位置“1”。
(2)TR0、TRl——T0、Tl计数运转控制位。当TR1置“1”时,T/C才可能启动, 但是否启动T/C,还与GATE位的状态有关。
单片机原理与接口技术————基于STC1T5系4H列的51单片机
字节地址 8CH 8AH 8DH 8BH D6H D7H D4H D5H
第7章D2SHTC15单片机定时/计数器
第三节 定时/计数器的工作方式
T0、T1的工作方式0 T0、T1的工作方式1 T0、T1的工作方式2
定时/计数器的工作方式
1.STC单片机T/C有两种工作模式——定时模式和计数模式。每个 T/C都有四种工作方式。具体的工作模式和工作方式可以通过 TMOD寄存器设定
第7章 STC15单片机定时/计数器
二、计数寄存器
1.在STC15系列单片机为5个T/C设置了5组计数寄存器。用于保存计数值。每 组寄存器又由两个8位的寄存器组成,为TH和TL。每个寄存器有唯一地址对应。
2.计数寄存器用于存储计算初值和计算中间值。
计数寄存器地址表
寄存器符号 TH0 TL0 TH1 TL1 T2H T2L T3H T3L
单片机原理与接口技术————基于STC15系列的51单片机
第7章 STC15单片机定时/计数器
一、特殊功能寄存器-续1
3.工作方式寄存器TMOD

D7

单片机原理及智能仪表技术第7章

单片机原理及智能仪表技术第7章
加法计数器,计满溢出,触发中断 计数初值的计算方法
计数状态:X=M-N
定时状态:X=M-定时时间/T,T为机器周期
2、TMOD定时器方式设置寄存器(89H):
TMOD主要用于 选择定时器的工作 模式(C/T)、启动方 式(GATE)和工作方 式等。该寄存器的 格式如图所示。
2、TMOD定时器方式设置寄存器(89H):
TMOD,#方式字 THx,#XH TLx,#XL EA ETx TRx
;选择方式 ;装入Tx时间常数 ;开Tx中断
;启动Tx定时器
需考虑:1. 按实际需要选择定时/计数功能; 2. 按时间或计数长度选择工作方式; 3. 计算时间常数:
二、定时/计数器初值的计算
(1)定时器初值的计算
在定时器模式下,计数器由单片机主脉冲经 12 分频后 计数。因此,定时器定时时间T的公式:T=(M-TC)×T计数, 上式也可写成:TC=M-T/T计数 式中,M为模值,和定时器的工作方式有关,在方式0时 M为213,在方式1时M为216,在方式2和方式3时M为28;T计数是 单片机振荡周期TCLK的12倍;TC为定时器的定时初值。 例:单片机时钟频率12MHz,定时器工作在方式1下,定 时100us,初值为多少? 解:时钟频率Ф CLK=12MHz,所以振荡周期TCLK=1/12us T计数=12×TCLK=1us,M=216=65536,T=100us 所以,TC=65536-100/1=65436,0xFF9C
定时器工作方式:当选择定时器方式时(C/T=0),TR1=1,定时器对系统的机器周 期计数,每过一个机器周期,计数器TH1,TH0加1,直至计满规定个数回零,置 位定时器中断标志(TF1)产生溢出中断。根据机器周期和设定的计数初值,可以定 时产生各种精确的时间。 计数器工作方式:当选择计数器方式时(C/T=1),外部脉冲通过引脚T1(P3.5)引入, 计数器对此外部脉冲的下降沿进行加1计数,直至计满规定值回零,置位定时器中 断标志(TF1)产生溢出中断。根据规定的时间内的计数个数,可以得到信号的频率。 计数最高频率不得超过振荡频率的1/24。

单片机第七章习题参考答案

单片机第七章习题参考答案

第七章习题参考答案一、填空题1、在串行通信中,有数据传送方向为单工、半双工和全双工三种方式。

2、要串口为10位UART,工作方式应选为方式1 。

3、用串口扩并口时,串行接口工作方式应选为方式0 。

4、计算机的数据传送有两种方式,即并行数据传送和串行数据传送方式,其中具有成本低特点的是串行数据传送方式。

5、串行通信按同步方式可分为异步通信和同步通信。

6、异步串行数据通信的帧格式由起始位、数据位、奇偶校验位和停止位组成。

7、串行接口电路的主要功能是串行化和反串行化,把帧中格式信息滤除而保留数据位的操作是反串行化。

8、专用寄存器“串行数据缓冲寄存器”,实际上是发送缓冲寄存器和接收缓冲寄存器的总称。

9、MCS-51的串行口在工作方式0下,是把串行口作为同步移位寄存器来使用。

这样,在串入并出移位寄存器的配合下,就可以把串行口作为并行输出口使用,在并入串出移位寄存器的配合下,就可以把串行口作为并行输入口使用。

10、在串行通信中,收发双方对波特率的设定应该是约定的。

11、使用定时器/计数器设置串行通信的波特率时,应把定时器/计数器1设定作方式 2 ,即自动重新加载方式。

12、某8031串行口,传送数据的帧格式为1个起始位(0),7个数据位,1个偶校验位和1个停止位(1)组成。

当该串行口每分钟传送1800个字符时,则波特率应为300b/s 。

解答:串口每秒钟传送的字符为:1800/60=30个字符/秒所以波特率为:30个字符/秒×10位/个字符=300b/s13、8051单片机的串行接口由发送缓冲积存器SBUF、接收缓冲寄存器SBUF 、串行接口控制寄存器SCON、定时器T1构成的波特率发生器等部件组成。

14、当向SBUF发“写”命令时,即执行MOV SBUF,A 指令,即向发送缓冲寄存器SBUF装载并开始由TXD 引脚向外发送一帧数据,发送完后便使发送中断标志位TI 置“1”。

15、在满足串行接口接收中断标志位RI=0 的条件下,置允许接收位REN=1 ,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1,当发读SBUF命令时,即指令MOV A,SBUF 指令,便由接收缓冲寄存器SBUF取出信息同过8051内部总线送CPU。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JZ rel ;(PC) ←(PC) +2
当 (A) = 0, (PC) = (PC) + rel,即转移
当 (A) ≠ 0, 则程序顺序执行 JNZ rel ;(PC) ←(PC) +2 当 (A) ≠ 0, (PC) = (PC) + rel,即转移 当 (A) = 0, 则程序顺序执行
执行这两条指令时,首先对累加器A内容进行判断,满足条件则转移, 否则程序顺序执行。 相对位移量rel=(目的地址-PC当前值),由CPU自动算出。
例49(P93),编程实现下列逻辑运算要求:
若(P1.0)=1,(ACC.7)=1,且OV=0时,位累加器C置1。 分析:相当于逻辑函数式C=P1.0∧ACC.7 ∧(/OV) 参考程序: MOV C,P1.0 ;若P1.0=1,则C=1 ANL C,ACC.7;若ACC.7=1,则C继续保持为1 ANL C,/OV ;若/OV=1(或OV=0),则C=1
的内容转向由P1口输出,若输入为00H,则停止
转发。
参考程序:
NEXT:MOV JZ MOV SJMP DONE:…… A,P2 DONE P1,A NEXT
(2)条件转移指令- 比较转移指令CJNE
基本格式: CJNE (目的操作数DST), (源操作数SRC), rel
比较两个操作数的大小, 如果不相等则转移;如果相等,则 顺序执行。
例:设(C)=0,P3口的内容为1 1 1 1 1 0 1 0 B。 执行指令: SETB P3.0 SETB C 则(C)=?,(P3)=? 执行结果为(C)=1,(P3)=1 1 1 1 1 0 1 1 B。 若将SETB改为CLR或CPL指令,则结果分别是?
例:把累加器A中的数据送入第2组工作寄存器的R7中。
LCALL ZERO ;区域20H~2AH清0 MOV R0,#30H MOV R1,#15 LCALL ZERO;区域30H~3EH清0 MOV R0,#40H MOV R1,#16 LCALL ZERO;区域40H~4FH清0
SJMP
$
例4,流水灯的控制。有8盏灯依次接在P1口的8位引脚,当 P1口输出低电平,对应的灯点亮。编写程序段,分别实现 下述功能: (1) 8盏灯轮流点亮; (2)8盏灯依次点亮。 (2) MOV A,#0FEH 参考程序: NEXT:MOV P1,A (1) MOV A,#0FEH ACALL DELAY_1S NEXT: MOV P1,A CLR C ACALL DELAY_1S RLC A RL A SJMP NEXT SJMP NEXT
2、位操作指令:清0、置1、取反 (1)位清0指令 (CLR) CLR C ;(C)←0 CLR bit ;(bit)←0 功能:将C或指定位(bit)清0。 (2) 位置1指令 (SETB) SETB C ;(C)←l SETB bit ;(bit)←1 功能:将C或指定位(bit)置1。 (3) 位取反指令 (CPL) CPL C ;(C)←(/C) CPL bit ;(bit)←(/bit) 功能:将 C或指定位(bit)取反。
回顾上节课内容

逻辑运算类指令

CLR/CPL RL/RLC/RR/RRC ANL/ORL/XRL

控制转移类指令

无条件转移类ACALL/LCALL、RET/RETI、 AJMP/LJMP/SJMP/JMP、NOP
控制转移类-条件转移指令:JZ/JNZ、CJNE、DJNZ 分为三类: 1、判零转移指令 JZ/JNZ
例7(P88 ,例42 ):从P1.7引脚输出4个正脉冲,其脉宽为4 个机器周期。 MOV R2,#8 LOP: CPL P1.7 ;4个正脉冲,8个状态 ;P1.7状态取反
NOP
DJNZ R2 ,LOP
布尔(位)处理类指令

共有17条指令,处理1位数据。 位处理指令可分为:


位数据传送(2条,MOV)
若 T=1 μs ,则上述程序段实现 1.024ms的延时。思考:如要实 现10ms、100ms、1s的延时又该如何修改程序段?
例 6,若单片机的主频为12MHz,分析下列程序能实现的延时
时间为多少? MOV R1, #0AH DELAY: DJNZ R1, DELAY
分析:单片机主频为 12 MHz,则机器周期为1 μs : MOV R1,#0AH为单周期指令,执行时间为1 μs; DJNZ R1, DELAY为双周期指令, 执行1次所需时间为2 μs。 R1 中存放着循环的次数 10 , DJNZ指令需执行10次,共需20 μs 。 执行上述程序共需要时间:(1T+2T*10)=21T=21*1μs=20 μs ,即 可产生21 μs的延时时间。
(3) 条件转移指令-循环控制转移指令或减1转移指令 DJNZ
;(PC) ←(PC)+2, (Rn)←(Rn)-1 当(Rn)≠0时, (PC) ←(PC) +rel,即转移; 当(Rn)=0时, 程序顺序执行。 DJNZ direct,rel ;(PC)←(PC)+3,(direct)←(direct)-1 当(direct)≠0时,(PC) ←(PC) +rel,即转移; 当(direct)=0时, 程序顺序执行。 DJNZ Rn, rel
例41(P85):设(A)=01H,分析下列程序后(A)=? JZ LABEL1 DEC A JZ LABEL2 ;(A)≠ 0,程序继续执行 ;(A)-l=00H ;(A)=00H,程序转向标号LABEL2
……
LABEL1:MOV A,#2 …… LABEL2:MOV A,#3

例42(P85),编写一段程序实现:由P2口输入
参考程序: MOV MOV CLR ADDSUM: ADD INC DJNZ MOV SJMP R2,#10 R0,#DAT A A,@R0 R0 R2,ADDSUM SUM,A $
例3:将片内RAM的20H~2AH区域清0。
参考程序段: MOV R0,#20H MOV R1,#11 ZERO:MOV @R0,#0 ;清0 INC R0 DJNZ R1,ZERO SJMP $ 若是要将多个区域清0,如何设置程序结构更合理?例如,将 20H~2AH,30H~3EH,40H~4FH这三个不同大小的区域清零?
CJNE指令执行过程中的比较操作实际上是减法操作,但不 保持两数之差,只形成了Cy标志,具体而言: 若DST=SRC, 则 (PC)←(PC)+3 ,顺序执行程序; 若DST>SRC, 则 (PC) ← (PC)+3+rel, 转移且C=0; 若DST<SRC, 则 (PC) ← (PC)+3+rel,转移且C=1;
比较转移指令的格式: CJNE A , direct, rel CJNE A , #data, rel
CJNE CJNE
Rn , #data, rel @Ri , #data, rel
例:设(A)=34H , (R7)=56H 分析下列程序执行过程: CJNE R7, #60H, N1 ;(R7)<60H,转向N1, 且Cy=1 …… N1:CJNZ A,#30H, N2 ; (A)>30H,转向N2,且Cy=0 …… N2: ……
编写程序,实现如下图所示的逻辑运算功能。(P94,例51) 其中,输入变量U、V是P1.1、P2.2的状态,W是T0的溢出
将20H~2AH,30H~3EH,40H~4FH三个不同大小的区域都清零?
参考程序:
MOV MOV MOV SP, #70H ;清0子程序 R0,#20H R1,#11
;参数R0表示初始存储单元地址
;参数R1表示存储单元个数 ZERO: MOV INC DJNZ RET END @R0,#0 R0 R1,ZERO
SFR和I/O端口),另一个必须是位累加器C(进位位标志Cy)。
例,位传送指令的应用。将片内数据存储器中的00H和07H位 的内容相交换。
分析:根据位传送指令的特点,00H位与07H位之间不可直接进行交换,选 用某一位作暂存,例如选用01H位做中间量。 参考程序: MOV C,00H MOV 01H,C MOV C,07H MOV 00H,C MOV C,01H MOV 07H,C
参考程序:MOV MOV LOOP: MOVX JZ MOV INC INC SJMP DONE: SJMP R0,#DATA1 R1,#DATA2 A,@R0 ;外部RAM DONE @R1,A ;内部RAM R0 R1 LOOP $
例2,以DAT为起始的片内RAM中连续存放了10个无符号数,编 写程序段实现:10个无符号数相加,并将和送入SUM单元。 假设相加的结果不超过8位二进制数所能表示的范围。
分析:8051内部有4组R0~R7,由RS1(PSW.4)和RS2 (PSW.3)选择工作寄存器组。例中要求第2组工作寄存器,因 此,需将RS1、RS0分别设置为0、1。 参考程序: CLR PSW.4 SETB PSW.3 MOV R7,A 或者 CLR RS1 SETB RS0 MOV R7,A
条件转移指令JZ/JNZ/CJNE/DJNZ都是相对短转移,其
转移范围为-128~127,若超过此范围,该如何实现转移?
可以借助一条长转移LJMP指令的过渡来实现。 下面举例分析各类转移指令的应用。
控制转移指令的应用举例 例1,以DATA1起始的片外RAM连续存放一系列数据,以“0”
为结束标志。编写程序段实现:将DATA1起始的数据传送到以 DATA2为起始的内部RAM中。
例50(P93),编程实现下列逻辑运算要求:
若(P1.0)=1或(ACC.7)=1或OV=0时,位累加器C置1。 分析:相当于逻辑函数式C=P1.0∨ACC.7 ∨(/OV) 参考程序: MOV C,P1.0 ;若P1.0=1,则C=1 ORL C,ACC.7 ;若ACC.7=1,不管原有的C为何值,C为1 ORL C,/OV ;若/OV=1,不管原有的C为何值,C为1
相关文档
最新文档