单片机期末复习资料(C语言版).docx

上传人:夺命阿水 文档编号:919271 上传时间:2024-01-16 格式:DOCX 页数:11 大小:177.85KB
返回 下载 相关 举报
单片机期末复习资料(C语言版).docx_第1页
第1页 / 共11页
单片机期末复习资料(C语言版).docx_第2页
第2页 / 共11页
单片机期末复习资料(C语言版).docx_第3页
第3页 / 共11页
单片机期末复习资料(C语言版).docx_第4页
第4页 / 共11页
单片机期末复习资料(C语言版).docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《单片机期末复习资料(C语言版).docx》由会员分享,可在线阅读,更多相关《单片机期末复习资料(C语言版).docx(11页珍藏版)》请在课桌文档上搜索。

1、1、单片机的基本含义Pi单片机就是在二个半导体硅片上,集成了中央处理单元(CPU)、存储器(RAM和ROM)、并行口、串行口、定时/计数器中断系统、系统时钟电路及系统总线,用手测控领域的单片微型计算机,简称单片机。2、51系列单片机的基本硬件资源P5L基本型典型产品:8031、8051、8751。8031内部包含一个8位CPU,一个128BRAM,21个特殊功能寄存器(SFR),4个8位并行口,一个全双工串行口,两个16位定时/计数器,5个中断源,但内部无程序存储器,需外部扩展程序存储器。8051在8031的基础上,内部集成了4KBROM作为程序存储器。8751用内部集成的4KBEPROM取代

2、了8051的4KBROM,8031外扩一个4KBEPROM就相当于一个8751。2.增强型其典型产品有8032、8052、8752。它们的内部RAM增至256B;8052、8752的内部程序存储器扩展到8KB;16位定时/计数器增至3个,中断源有6个。表1-1MCS-51系列电产系的内师苜力前i件由肝型号内部程序存储器(KB)内部数据存储器(B)I/O口线(位)定时/计数器个中断源(个)基8031无1283225本80514(ROM)1283225型875J4(EPROM)1283225增8032无2563236强80528(ROM)256323687528(EPROM)25632363、51

3、内部组成部分P12-13(1) CPU(微处理器):8位CPU。(2)数据储存器(ARM):内部为128B(3)程序储存器(Flash):用来储存程序。(4)中断系统:5个中断源,2级中断优先权。(5)定时/计数器:内部两个16位的定时/计数器,4种工作方式。(6)串行口:一个全双工异步串行口,4种工作方式。(7)8位的并行口(8)特殊功能寄存器:26个(9)看门狗定时器(WDT)4、I/O引脚特点(包括复用功能)P14PO口(P0.7P00引脚)PO口是漏极开路的双向I/O口,当AT89S51单片机扩展外部RAM及1/。接口芯片时,有才PO口作为地址总线(低8位)及数据总线的分时复用口。PO

4、口也可作为通用VO口使用,但需加上拉电阻,这时为准双向口。PO口可驱动8个LS型TTL负载。(2) Pl(P1.7-P1.0引脚)Pl口是准双向I/O口,具有内部上拉电阻,可驱动4个LS型TrL负载。Pl口是完全可提供给用户使用的准双向|/0口。M0SIP1.5,MIS0/P1.6和SCK/P1.7可用于对内部Flash存储器的串行编程和校验,它们分别是串行数据输入、串行数据输出和移位脉冲引脚。(3) P2口(P2.7P2.0弓|脚)P2口是准双向110口,具有内部上拉电阻,可驱动4个LS型TTL负载。当AT89S51单片机扩展外部RAM及IO接口芯片时,P2口作为高8位地址总线使用,输出高8

5、位地址。P2口也可作为通用1/0口使用。(4) P3(P3.7-P3.0弓I脚)P3口是准双向l0口,具有内部上拉电阻。P3口可作为通用I/O口使用,可驱动4个LS型TTL负载。P3口还可提供第二功能表1-MCS-51系列电产和的内却巨木箍件将忏型号内部程序存储器(KB)内部数据存储器(B)I/O口线(位)定时/计数器(个)中断源(个)基8031无1283225本80514(ROM)1283225型87514(EPROM)1283225增8032无2563236强80528(ROM)2563236型87528(EPRoM)25632365、51的存储空间划分(SFR分布)P19SFR共有26个

6、,可以进行寻址的sfr,字节地址的末位只能是OH或8H。差24SFR的名称及其分缸序号特殊功能寄存器符号名称字节地址位地址复位值1POPO口寄存器80H87H80HFFH2SP堆栈指针81H07H3DPOL数据指针DPTRo低字节82HOOH4DPOH数据指针DPTRO高字节83H一OOH5DPlL数据指针DPTRl低字节84HOOH6DPIH数据指针DPTRl高字节85H一OOH7PCON电源控制寄存器87H一0XOOOOB8TCON定时/计数器控制寄存器88H8FH88HOOH9TMOD定时/计数器方式控制寄存器89H一OOH10TLO定时/计数器0(低字节)8AH一OOH11TLl定时/

7、计数器1(低字节)8BHOOH12THO定时/计数器0(高字节)8CHOOH13THl定时/计数器1(高字节)8DHOOH14AUXR辅助寄存器8EH一X00XOB15PlPl口寄存器90H97H90HFFH16SCON串行口控制寄存器98H9FH98HOOH17SBUF串行数据缓冲器99HB18P2P2寄存器AOHA7HA0HFFH19AUXRi辅助寄存器A2H一XXXOB20WDTRST看门狗复位寄存器A6HXXB21IE中断允许寄存器A8HAFHA8H00OOOOB22P3P3口寄存器BOHB7HB0HFFH23IP中断优先级寄存器B8HBFHB8Hoooooob24PSW程序状态字寄存

8、器DOHD7HD0HOOH25A(或ACC)累加器EOHE7HE0HOOH26BB寄存器FOHF7HF0HOOH6、机器周期P27CPU完成一个基本操作所需要的时间称为机器周期。AT89S51单片机的每12个时钟周期为一个机器周。一个机器周期包括12个时钟周期,分为6个状态SIS6。每个状态又分为两拍:Pl和P2o7、复位P28复位是单片机的初始化操作,只需给AT89S51单片机的复位引角RC加上大于两个机器周期(即24个时钟周期)的高电平就可使AT89S51单片机复位。8、与标准C的差别P35(1)库函数不同(2)数据类型有一定的区别(3)C51语言的变量存储模式与标准C语言中不一样(4)储

9、存类型不同(5)标准C语言中没有处理单片机中断的定义,而C51语言中有专门的中断函数(6)头文件不同(7)程序结构有差异9、新增的数据类型、储存类型P3637表3-1C51语言支持的数据类型一数据类型位数字节数tfisignedchar8-128I27,行符号字符变盘unsignedchar810-255,无符号字符变后一signedint162-32768+32767,有符号整型数unsignedint1620-65535,无符号整型数一signedlong324-2147483648-+2147483647,有符号长整竺-unsignedlong3240+4294967295,不符号长整型

10、数float3241.175494E-383.402823E+38-double3241.175494E-383.402823E+38一824-3对象指针bit10或sfr810-255sfr!6162065535sbitI可进行位寻址的特殊功能寄存器的某位的绝对地址存储类型8051单片机有内部、外部数据存储区,还有程序存储区。内部数据存储区是可读/写的,8051单片机的衍生系列最多可有256字节空间的内部数据存储区(例如AT89S52单片机),其中低128字节空间为可直接寻址,高128字节空间(地址为80HFFH)只能间接寻址。另外,从地址20H开始的16字节空间可位寻址。C51语言为访问内

11、部数据存储区提供了三种不同的存储类型:data、idata和bdataz对应DATA、IDATA和BDATA三个存储区。访问外部数据存储区的速度比访问内部数据存储区的速度慢,因为需要通过数据指针加载地址来间接寻址访问。C51语言为访问外部数据存储区提供了两种不同的存储类型:Xdata和Pdata,对应XDATA和PDATA两个存储区。程序存储区只能读不能写。程序存储区可能在8051单片机内部或外部,或者内部和外部都有,由8051单片机的硬件决定。C51语言提供Code存储类型来访问程序存储区。表3-2C51语言存储类型与8051单片机实际存储区空间的对应关系存储区存储类型与实际存储区空间的对应

12、关系DATAdata内部RAM且接寻址区,位于内部RAM的低128字节空间BDATAbdata内部RAM位寻址区,位于20H2FH单元IDATAidata内部RAM的256字节空间,必须间接寻址的存储区XDATAxdata外部64KB的RAM空间,使用DPTR间接寻址PDATApdata外部RAM的256字节空间,使用Ri间接寻址CODEcode程序存储区,使用DPTR寻址10 .常见的基本运算算术运算、逻辑运算、关系运算和赋值运算11 .分支与循环程序结构12 51语言编写的程序按结构可分为三类,即顺序、分支和循环结构。实现分支控制的语句有:if语句和switch语句。实现循环结构的语句有以

13、下三种:WhiIedOWhile和for语句。开关检测、键盘接口设计1 .单片机点亮发光二极管发光二极管的工作电流越大,显示亮度越高。为保证发光二极管的正常工作,同时减少功耗,限流电阻的选择十分重要,若供电电压为+5V,则一般限流电阻可选1千欧3千欧2.开关状态检测开关状态检测实例1仿真原理图如图所示,将开关的一端接到I/O口的引脚上,并通过上拉电阻接到+5V,开关的另一端接地。当开关打开时,I/O引脚为高电平,当开关闭合时,I/O引脚为低电平。3 .LED数码管显示原理Led数码管是常见的显示器件,显示为“8”字形,共计8段,有共阳极和共阴极两种。共阳极LED数码管的阳极连接在一起,公共阳极

14、接到+5V上;共阴极LED数码管的阴极连接在一起,公共阴极接地。对于共阴极LED数码管,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,对于共阳极LED数码管,当某个发光二极管的阴极接低电平时,该发光二极管被点亮,相应的段被显示。4 .键盘接口设计键盘具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。键盘由若干按键按照一定的规则组成。每个按键实质上就是一个开关,按构造可分为有点开关按键和无触点开关按键。常见的触点开关按键的键盘有触摸式键盘、薄膜键盘、导电胶键盘和按键式键盘等,最常用的是按键式键盘。无触点开关按键有电容式按键、光电式按键磁感应按键等。1 .中断

15、处理过程主存序*继唉执行主程序图6-1 中断响应和处理过程当中断请求源发出中断请求时,如果中断请求得到允许,则单片机暂时中止当前正在执行的主程序,转到中断服务程序去处理中断请求,处理完中断请求后,再回到原来被中止的程序处(断点),继续执行被中断的主程序。2 .51中断系统的中断源AT89S51中断系统共有5个中断源。外部中断O(INTo)外部中断1(INTl);定时/计数器TO定时/计数器T串行口3 .TCON、IE、IP寄存器TCoN是定时/计数器控制寄存器,字节地址为8,可位寻址。该寄存器中既包括定计数器To和Tl的溢出中断请求标志位TFo和TFl,也包括两个外部中断请求标志位IEl和IE

16、O,此外还包括两个外部中断请求源的中断触发方式(低电平触发或负跳沿触发)选择位ITl和IT0,IE寄存器的字节地址为A8H,可进行位寻址,对中断的允许和禁止实现两级控制。IP中断优先级寄存器,其字节地址为B8H,可位寻址。只要用程序改变其内容,即可进行各中断源中断优先级的设置。4 .响应中断请求的条件如个中断源的中断请求要得到响应,必须满足以下必要条件总中断允许开关接通,即IE寄存器中的中断允许总开关控制位EA=K该中断源发出了中断请求,即该中断源对应的中断请求标志位为K该中断被允许,即该中断源的中断允许控制位为U无相同优先级或更高优先级的中断正在被服务。5 .中断请求的撤销中断请求的撤销方法

17、。1 .定时/计数器中断请求的撤销2 .外部申断请求的撤销3 .串行口中断请求的撤销(串行口中断请求的撤销只能使用软件的方法)6 .中断系统的编程L定时器实现定时的原理计数器模式对加在t和tl两个引脚上的外部脉冲信号进行计数,而定时器模式对单片机的系统时钟经内部12分频后的内部脉冲信号计数,由于系统时钟频率是定值,所以可根据计数值计算出准确的定时时间。2 .TCON.TMOD寄存器TMOD寄存器的字节地址为89h,不能位寻址。GATE:门控位。Ml和MO:工作方式选择位。C/T:计数器模式(=1)和定时器模式选择位(=0)3 .定时器不同工作方式的特点方式0:MLMo=Oo,13位计数器,由T

18、LX(X=O,1)高八位构成。若方低五位溢出,则向thx,进位,若thx计数溢出,把TCON中的溢出标志位tfx置一。方式LMl,MO=Ol.方式一和方式零的差别仅仅在于计数器的位数不同,方式一为16位计数器,由thX高八位和tlx低八位构成。方式2:Ml,M0=10,8位定时/计数器.方式零和方式一的最大特点是计数溢出后,计数器全为0.因此再循环定时或循环计数应用时就存在用指令反复装入计数初值的问题,这会影响定时精度,方式二就是为解决此问题而设置的。方式3:为了增加一个附加的8位定时/计数器而设置的,从而使单片机有3个定时/计数器。只适用于定时/计数器T0,而定时/计数器Tl不能工作于方式3

19、.4 .定时中断使Ied闪烁时间#includechari=1OO;voidmain()TMOD=OxOI;THOoOxee;TLO-OxOO;Pl=OxOO;EA=I;ETO=I;TRO=I;while(l);/TO为方式I/设置计数初值/Pl 口 8个LED点亮总中断允许允许TO中断启动TO循环等待voidIimCroointerruptIUO中断服务程序ITHO=Oxee;重新赋初值TLO=OxOO;循环次数减I,ifli=0)(P2P1/PI口技位取反i三oo;重置循环次数串口1 .通信的基础概念1 .并行通信:使用多跟数据线,将数据字节的各位同时传送,每一位数据都需要一个传输线,此外

20、还需要一个或几根控制信号线。2.串行通信:将数据字节分为一位一位的形式在一个传输线上逐个传送。1 .SC0N寄存器:字节地址为98h,可位寻址。位地址范围为98h至9fh.所有位都可用软件来进行位操作清零或置一.2 .串口各种方式的特点1 .方式零:同步移位寄存器输入/输出方式,用于外接移位寄存器,用来扩展并行io2.方式一:SMo,SM1=O1,TXD引脚和RXD引脚分别用于发送和接受数据。收发一帧的数据为十位,包括一个起始位(0),八个数据位和一个停止位(1),先发送或接收最低位。3.方式二:在发送前,先根据通信协议有软件设置tb8,然后将要发送的数据写入发送SbUf中。即可启动发送过程。

21、4.方式三:SMO,SM,1=11,为波特率可变的九位异步通信方式。其余与方式二相同。4波特率与定时器的溢出率;)方式。波特率固定为时钟频.ft3.mHz.则波特率为.6c12,即IMb&A的I?,且不受SMOD的影响,若-二F式W7率率*SMO0tFt有奚;若 AC=I2MHz,当:Ykb5。(3)方式】或方式3。方43的波特案三X启CSMOD = 0时,波特率=187.5kbs;当SMOD = 1时.波特率=常用定时/计数器Tl作为波特率发生器,其关系式为:波特率=2SMOD32X Tl的溢出率的溢出率而WR-的值宾同决定了波特率。由式(8-1 )可见,Tl在实际设定波特率时,用定时/计数

22、器方式2 (自动装初值)确定波特率比较理想,匕不 樱用软件来设置初值,可避免因软件重装初值带来的定时误差,且计算出的波特率比较准 l,即TiJ作为8位计数器,THl存放备用初值设式2的初W二百E(8-2)将式(8-2)代入式(8-TT7JW波特率2SMOD32f。酰 X 2x(256- X)(8-35 .多机通信的基本概念主机分别与三个从机的串行通信。通过分别按下开关kl、k2或k3来选择主机与对应的1#、2#或3#从机进行串行通信,当黄色LED点亮时,表示主机与相应的从机连接成功:从机的8个绿色LED闪亮,表示主机与该从机在进行串行通信。如果断开kl、k2或k3,则主机中断与相应从机的串行通

23、信。6 .51系统并行扩展的基本原理AT89S51单片机的系统并行扩展主要包括数据存储器扩展、和IO口扩展。系统总线按功能通常分为三组地址总线:用于传送单片机单向发出的地址信号以便进行存体明单元和1/0接口芯片中的寄存器选择。数据总规(DaBUS,DB):是双向的,用于单片机与外部RAM之间成与Io按口苏片之间传送数据。(3)控制总线(COntrOIBus,CB):单片机单向发出的各种控制信号。如何构造系统的三总线。(1) .PO的线作为低8位地址/数据总线.P2口的口线作为高位地址总线控制总线2.并行扩展的地址空间分配存储器地址空间分配方法有两种:线选法和译码法1) .线选法线选法就是利用单

24、片机的某高位地址线作为存储器芯片(或I/O接口芯片)的片选控制信号。只需用某一高位地址线与存储器芯片的片选引脚直接连接即可。2) .译码法译码法就是使用译码器对AT89S51单片机的高位地址进行译码,将译码器的译码输出作为存储器芯片的片选信号。串行扩展L单总线:单总线(ITirCbUs),是由美国DALLAS公司推出的外围串行口扩展总线。它只有一根数据输入/输出线DQ,总线上的所有器件都挂在DQ上,电源也通过这根信号线供给,这种只使用一根值号线的电行扩展技术,材称为单总线技术。3) SPI总线:SPl(SerialPeripheralIntCrftaC是MOtOrOIa公司推出的一种同步串行外

25、设接口,允许单片机与多厂家带有标准SPl串行口的外围器件直接连接。单片机串行口的方式0,就是一个同步串行口,就是串行口每发送接收1位数据,都有一个同步时钟脉冲来控制。3.IIC总线:IIC(InterInterficeCirCUit)全称为芯片回总线,是应用广泛的芯片向串行扩展界总线。HC只有两根信号线,一根是数据线SDA,另一根是时钟线SCL0IIC总线数据传送的规定:1 ).数据位的有效性规定,IIC总线在进行数据传送送时,每个数据在IlC总线上,只有在SCL线为低电平期间,SDA线上的电平状态才允许变化位的传送都与时钟信号相对应。时钟信号为高电平期间,SDA线上的数据必须保持稳定。2 .

26、)起始信号和终止信号终止信号都由主器件发出,在起始信号产生后,总线就处于占用状态:在终止信号产生后,总线就处于空闲状态。S10-6FC总线系统的基本结构D/A1 .转换原理:单片机只能输出数字量,但是对于某些控制场合,常常需要输出模拟量,例如直流电机(电动机)的转速控制。由于部分单片机芯片中集成了D/A转换器,位数一般在IO位左右,且转换速度也很快,所以单片式D/A转换器开始向高位数和高转换速度方向转变。D/A转换器简介:(1)DA转换器的输出形式。通常有两种输出形式:电压输出和电流输出。2 2)D/A转换器与单片机的接口形式。早期多采用8位的并行口。2 .主要技术指标:(1)分辨率。指单片机

27、输入给D/A转换器的单位数字量的变化所引起的模拟量输出的变化。二进制位数越多,分辨率越高。(2)建立时间。它是描述D/A转换器转换速度参数。(3)转换精度。在理想情况下,转换精度与分辨率基本一致,位数越多,精度越高。3 .DAC08232:DAC0832芯片是具有两级输入数据寄存器的8位D/A转换器,它能直接与AT89S5I单片机连接,其主要特性如下:分辨率为8位。电流输出,建立时间为Ius.可双缓冲输入、单缓冲输入或直通输入。单一电源供电(+5V+1SV),低功耗,20m。DAC0832的输出可采用单缓冲或双缓冲方式。单缓冲方式是指,DAC0832内部的两级存器中有个处于直通通方式,另一个处

28、于变AT89S51单片机控制的锁存方式。产生各种函数波形的原理如下:正弦波产生原理。单片机把正弦波的5介采样点的数据发送给DACO832。正弦波梁样数据可采用软件编程或MATLAB等工具计算。方波产生原理方波只有高低电平这两个采样点的数据。单片机采用定时计数器定时中断,由时间常数决定方波高、低电平的持续时间。三角波产生原理。单片机发送给DACO832的数字量从0开始,逐次增1;当数字量增至OXf后,再逐次减1;减至O后,再重复上述过程。锯齿波产生原理。单片机发送给DAeO832的数字量从0开始,逐次增1;当数字量增至OXf后,再增1则溢出清0,模拟输出又为0;然后再重第上述过程,如此循环,则输

29、出锯齿波。梯形波产生原理。单片机发送给DAC0832的数字量从0开始,逐次增1;当数字量为Oxf时,延时一一段时间,形成梯形波的平顶:然后数字量再逐次减1,减至0后,再重复上述过程,如此循环,则输出梯形波。A/D1 .转换原理:A/D转换器(ADC)把模拟量转换成数字量,单片机才能进行数据处理。现在部分的单片机内部也集成了A/D转换器,位数为8位、10位或12位,且转换速度很快,但转换器不能满足需要时,还是需要外扩。A/D转换器按照输出数字量的有效位数分为4位、8位、10位、12位、14位、16位并行输出,以及BCD码输出的3-位、4-位、5-位等多种。目前,除并行的AD转换器外,带有同步SP

30、l的AD转换器的使用也逐渐增多。串行AD转换器具有占用单片机的口线少、使用方便、接口简单等优点,已经得到广泛的使用。较为典型的串行A/D转换器为美国TI公司的TLC549(8位)、TLC1549(10位)、TLC1543(10位)和TLC2543(12位)等。2. AD转换器的主要技术指标:(1)转换时间或转换速率。转换时间是指AD转换器完成一次转换所需要的时间,转换速率为转换时间的倒数。(2)分辨率。它是衡量AD转换器能够分辨出输入模拟量最小变化程度的技术指标。分辨宰取决于AD转换器的位数,所以习惯上用输出的二进制位数表示。(3)转换精度。其定义为一个实际A/D转换器与一个理想A/D转换器在

31、量化值上的差值。3. ADCO809芯片的功能及引脚ADC0809芯片是一种逐次比较8路模拟量输入,8位数字量输出A/D转换器。4. ADC0809的转换工作原理单片机控制ADC0809进行A/D转换的过程如下:首先由加到C、B、A上的编码决定选择ADC0809的某一路模拟量输入通道,同时产生高电平加到ADC0809的START引脚上,开始对选中的通道进行转换。当转换结束时,ADC0809发出转换结束信号EOC(高电平)。业单片机读取转换结果时,需控制OE引脚为高电平,把转换完毕的数字量读入单片机内。单片机读取A/D转换结果可采用查询方式和中断方式。查询方式。检测EoC引脚是否变为高电平,如果为高电平则说明转换结束,然后单片机读入转换结果。中断方式。单片机开始启动AD转换之后,单片机执行其他程序。ADC0809转换结束后,EOC变为高电平,EOC通过反相器向单片机发出中断请求信号,单片机响应中断,进入中断服务程序,在中断服务程序中读入转换完毕的数字量。很明显,采用中断方式效率高。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号