【大学课件】单片机 综述.ppt

上传人:sccc 文档编号:6095044 上传时间:2023-09-23 格式:PPT 页数:56 大小:1.82MB
返回 下载 相关 举报
【大学课件】单片机 综述.ppt_第1页
第1页 / 共56页
【大学课件】单片机 综述.ppt_第2页
第2页 / 共56页
【大学课件】单片机 综述.ppt_第3页
第3页 / 共56页
【大学课件】单片机 综述.ppt_第4页
第4页 / 共56页
【大学课件】单片机 综述.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《【大学课件】单片机 综述.ppt》由会员分享,可在线阅读,更多相关《【大学课件】单片机 综述.ppt(56页珍藏版)》请在三一办公上搜索。

1、1,第一章 单片机综述(1.5),+外设(键盘、显示、AD、DA),1、单片机的概念(单片微型计算机、微控制器)将CPU、存储器、定时器/计数器、多种I/O接口等电路集成在一块芯片上所构成的计算机。2、单片机的内部结构:,http:/,2,2.1 单片机的内部结构,由运算器(ALU)、控制器和专用寄存器组构成,程序计数器PC:存放下一条需要执行的指令内存地址,自动加1。,16位、决定了可以寻址的程序存储器的空间64KB。上电后初始值是0000H,所以从该地址开始执行程序。,累加器A、B程序状态字PSW,堆栈指针SP,数据指针DPTR,http:/,3,存储器结构-ROM,8051的内部ROM

2、4K B;8031没有内部ROM。如果使用8051,/EA引脚如何连接?如果片内ROM用完了怎么办?也就是说当PC值为多少的时候,会转到片外ROM执行?内部ROM和外部ROM的最大寻址空间多大?决定于哪个寄存器?,单片机的存储器 有ROM、RAM之分;还有片内、片外之分,http:/,4,存储器部分片内RAM,8051片内RAM 128字节(地址00-7FH),片外RAM 可扩展64KB(地址0000H-FFFFH)。共同占用部分访问时用MOV和MOVX指令区别。片内RAM分为:(1)工作寄存器区(00H-1FH)4组R0-R7(2)位寻址区(20H-2FH):两种访问方法。(3)便笺区(30

3、H-7FH),http:/,5,http:/,6,上电后,默认使用的是哪一组工作寄存器?地址是多少?如果要更改工作寄存器的地址,使用什么寄存器、什么指令?,http:/,7,7FH 便笺区30H,2FH 位寻址区20H,1FH 工作寄存器区00H,1、位寻址区是指 20H2FH单元,共16个单元。2、位寻址区的 16个单元(共计128位)的每1位都有一个8位表示的位地址,位地址范围为00H1FH。4、同样,位寻址的RAM单元也可以按字节操作作为一般的数据缓冲 区。两种寻址方法:假如寻找0B位,可以用SETB 0BH;SETB 21H.3;,http:/,8,7FH 真正RAM区00H,FFH

4、SFR区80H,1、高128B的RAM单元中有21个单元可用,这21个分散在高128B的地址空间内,分别是A,B,PSW,SP,DPH,DPL,P0,P1,P2,P3,IP,IE,TCON,TMOD,TH0,TL0,TH1,TL1,SCON,SBUF,PCON。2、11个可以按位寻址。规律:地址可以被8整除。,3 特殊功能寄存器区(SFR):有特殊用途的寄存器的集合。参见P58表2-3、图2-6,http:/,9,控制引脚的功能,单片机最小系统的组成,http:/,10,3、控制线,RST复位信号需要让8051复位时,给该引脚高电平,并保持24个时钟周期。,地址锁存允许/编程线有外部存储器:访

5、问外存时锁存低8位地址无外部存储器时,ALE输出为晶振6分频的脉冲序列,可用作外部时钟源;,片外ROM选通线。MOVC命令时自动在该脚产生负脉冲,选通外部ROM,-允许访问片外存储器/编程电源线)/EA=1 从内部开始执行程序;/EA=0 只访问外程序存储器;,http:/,11,7.上电自动复位和手动复位,上电复位,按键电平复位,复位在RST引脚上保持24个震荡周期(即两个机器周期)以上的高电平,习题,http:/,12,第六章 MCS-51的中断系统,(1)什么是中断,中断的作用是什么?,http:/,13,80C51中断系统结构示意图,http:/,14,http:/,15,中断相关的几

6、个重要SFR,3)中断允许寄存器IE(A8H),http:/,16,4)中断优先级寄存器IP(B8H),5)定时器方式控制寄存器TMOD(89H 不能位寻址),同级中断的优先级顺序 INT0 T0 INT1 T1 串行口。,http:/,17,外部中断初始化步骤,3、开中断,2、设立优先级,1、设立触发方式(电平or边沿),例6.1 请写出/INT1为低电平触发 和高中断优先级的中断系统初始化程序CLRIT1;电平触发 IT1=0;SETBEX1 EX1=1;SETBPX1 PX1=1;SETBEA EA=1;,http:/,18,、,TCON(模式控制寄存器):用来设置定时器/计数器的操作模

7、式;TMOD(方式寄存器):用来控制定时器的启动与停止。TH0、TL0、TH1、TL1:两个16位加法计数器 T0 和 T1 均可分成2个独立的8位计数器,用于存放定时或计数的初值,并用作加1的计数。与定时器/计数器相关的输入引脚有四个:T0、T1、,。,5.MCS-51定时器逻辑结构与相关寄存器,http:/,19,http:/,20,控制寄存器TCON是一个8位寄存器,既可以字节寻址也可以位寻址,字节地址为88H,位寻址的地址为88H8FH。其格式为:,TF1和TF0:分别为T1和T0的溢出标志。当定时器/计数器计满产生溢出时,由硬件自动置“1”,可申请中断。TR1和TR0:为定时器/计数

8、器T1和T0的启动、停止控制位。IE1和IE0:外部中断1()和外部中断0()的中断请求标志位。当外部中断源有请求时其对应的中断标志位置“1”。IT1和IT0:为外部中断1和外部中断0的触发方式选择位。ITi设置为“0”时为电平触发方式;设置为“1”时为边沿触发方式。系统复位时,TCON被清0。,控制寄存器TCON(P.109),http:/,21,方式控制寄存器TMOD是一个8位寄存器,字节地址为89H,只能用字节传送指令来设置定时器的工作方式,系统复位时TMOD所有位均为0。其格式为,(1)GATE:门控位。GATE=1时,定时器/计数器由外部中断引脚 和 TRi共同来启动。当 引脚为高电

9、平时,TRi=1,启动定时器/计数器Ti;TRi=0,定时器/计数器 Ti 停止工作。GATE=0时,仅由TRi来启动定时器/计数器,又称为软件启动。TRi=1,定时器/计数器Ti启动开始工作;TRi=0,定时器/计数器Ti停止工作。,、,方式寄存器TMOD,(2):功能选择位。当=0时设置为定时器方式,计数脉冲由内部提供,计数周期等于机器周期。当=1时设置为计数器方式,计数脉冲为外部引脚T0或T1引入的外部脉冲信号。,http:/,22,6.定时器/计数器有四种工作方式(P.109-),表 定时器/计数器T0、T1的四种工作方式,http:/,23,初值设定-关键,为什么要给定时器预设初值?

10、如何确定预设初值是多少呢?,16位计数方式,0,65535,定时时间65536us,定时时间50000us,X,定时时间50000us,X=65536-50000=15536=3CB0H,MOV TH0,#3CHMOV TL0,#0B0H,定时时间:开始计数 溢出,http:/,24,定时器初始化编程格式,初始化编程格式:,TMOD=x;选择工作方式THx=0 x#;装入Tx时间常数TLx=0 x#ETx=1;开Tx中断EA=1;开总中断TRx=1;启动Tx定时器,http:/,25,例:若单片机时钟频率为12MHz,请计算定时100us所需的定时器初值,并写出初始化程序,各种方式定时时间比较

11、:方式0:213*1us=8192us=8.192ms方式1:216*1us=65.536ms方式2、方式3:28*1us=0.256ms方式0时:(213 TC)*1us=100us TC=1F9CH;TH0=FCH、TL0=1CH 方式1:(216 TC)*1us=100us TC=FF9CH 方式2:(28-TC)*1us=100usTC=009CH,定时器/计数器例程,1 根据时钟频率计算机器周期2将定时时间与各种方式最大时间比较3、选择合适的方式,求出初值4、写出初始化程序,http:/,26,中断程序格式,Sbit LED=P10;Void main()IT0=0;EX0=1;EA

12、=1;while(1);Void Int0_Int()interrupt 0 LED=!LED;,http:/,27,定时器例程,例7.11 设8051时钟频率12MHz,编写程序令P1.0引脚输出2S的方波程序,sbit Pulse=P10;unsigned char Cnt_50ms;Void T1_Init(void)TMOD=0 x10;TH1=0 x3c;TL1=0 xb0;ET1=1;EA=1;TR1=1;,Void T1_Int()interrupt 3 TH1=0 x3c;TL1=0 xb0;if(Cnt_50ms=20)Cnt_50ms=0;Pulse=Pulse;,Void

13、 main()T1_Init();while(1);,http:/,28,计数器例程,分析:T1工作在方式2,200个脉冲产生一次溢出,所以,256-200=56;C=38H。那么TH0=TL0=38H。,利用T1的方式2对外部信号计数,要求每计满200个数,将P1.0引脚取反。,Sbit Pin=P10;Void main()TMOD=0 x60;TH1=0 x38;TL1=0 x38;ET1=1;EA=1;TR1=1;Void T1_Int()interrupt 3 Pin=Pin;,http:/,29,第八章 MCS-51对AD和DA的接口,ADC0809、DAC0832的作用是什么?什

14、么是分辨率、什么是转换精度?这两款芯片的分辨率、转换精度分别是多少?,DAC0832和MCS51单片机的连接方法有:直通方式、单缓冲方式、和双缓冲方式。(两个锁存器处于不同的导通关闭状态),http:/,30,其内部结构和引脚功能如下图所示:,数模转换器-DAC0832,DAC0832结构引脚图,缓冲器,http:/,31,如图所示连接是那种接口方式?DAC0832的地址应该是多少?使用什么样的指令启动DAC转换?如果要用该图原理产生三角波、锯齿波分别该如何写程序?,http:/,32,ADC0809芯片内部结构 以及引脚功能,START CLOCK,http:/,33,MCS-51对ADC0

15、809的接口,从该图上可以获得的信息:1、要启动IN0的AD转化,需要用命令MOV DPTR,#FEF8HMOVX DPTR,A2、要读出转化后的数据 需要使用命令MOV DPTR,#FEF8HMOVX A,DPTR3、8个通道的选通地址分别是FEF8 FEFF,http:/,34,第9章 MCS-51 的串行通信,MCS-51含有一个可编程全双工串行通讯接口,能同时进行数据的发送和接收,也可以作为一个同步移位寄存器使用。,MOV A,SBUF;接收数据MOV SBUF,A;发送数据,http:/,35,单片机串口相关知识回顾,(1)MCS-51串行口的原理结构图,http:/,36,单片机串

16、口相关知识回顾,(2)串行口控制寄存器SCON,D7 D6 D5 D4 D3 D2 D1 D0,D7 D6 D5 D4 D3 D2 D1 D0,(3)特殊功能寄存器PCON,http:/,37,单片机串口相关知识回顾,(4)串口通信的波特率,对于方式0,波特率是固定的,为单片机时钟的1/12,即fosc/12。对于方式2,波特率有两种可供选择,即fosc/32和fosc/64。对应于以下公式:波特率=fosc(2SMOD)/64 对于方式1和方式3,波特率都由定时器T1的溢出率来决定,对应于以下公式:波特率=(2SMOD/32)(定时器T1的溢出率)而定时器T1的溢出率则和所采用的定时器工作方

17、式有关,并可用以下公式表示:定时器T1的溢出率=fosc/12(2n-X),http:/,38,对于方式1和方式3,波特率由定时器/计数器T1的溢出率和SMOD决定,即由下式确定:波特率=(2SMOD/32)定时器/计数器T1溢出率 计算溢出率:溢出率即定时时间的倒数。机器周期T=1/(fosc/12)定时时间=(2K-初值)*T,实际使用串行通信时,要首先确定波特率才能进行双方的通信。根据波特率计算定时器T1的计数初值。波特率=(2SMOD/32)定时器/计数器T1溢出率 进行定时器的初始化。通常使用T1的方式2作为波特率发生器TMOD、TCON、TH1=TL1=?、关T1中断、启动定时进行

18、串行口初始化。SCON、PCON(SMOD),http:/,39,其格式如下:各位的意义如下:SM0(SCON.7),SM1(SCON.6)串行口工作方式选择位。其功能见表。SM2(SCON.5)允许方式2、3中的多处理机通信位。方式0时,SM20。方式1时,若SM2l,只有接收到有效的停止位,接收中断RI才置1。而当SM20时,则不论接收到的笫九位数据是”0”或”1”,都将前八位数据装入SBUF中,并申请中断。,2.串行口状态控制寄存器 SCON(P122)串行口状态控制寄存器SCON用来控制串行通信的方式选择、接收,指示串行口的中断状态。寄存器SCON既可字节寻址也可位寻址,字节地址为98

19、H,位地址为98H9FH。,http:/,40,串行口工作方式选择(P.122),http:/,41,电源控制寄存器 PCON(P.123)电源控制寄存器PCON仅有几位有定义,其中最高位SMOD与串行口控制有关,其它位与掉电方式有关。寄存器PCON的地址为87H,只能字节寻址。其格式如下:SMOD(PCON.7)串行通信波特率系数控制位。当SMOD1时,使波特率加倍。复位后,SMOD0。,http:/,42,读SBUF(MOVA,SBUF),访问接收数据寄存器;写SBUF(MOV SBUF,A),访问发送数据寄存器。,串行数据寄存器SBUF 串行数据寄存器SBUF包含在物理上是隔离的两个8位

20、寄存器:发送数据寄存器和接收数据寄存器,但是它们共用一个地址99H。其格式如下:,http:/,43,3.串行口的通信波特率(P.125),方式0:波特率固定,fosc/12 方式1:波特率可变,由定时器控制方式2:波特率为fosc/64或fosc/32 波特率2SMOD/64 SMOD=1或0方式3:波特率可变,由定时器控制,http:/,44,可变波特率的计算(方式1,3),波特率,SMOD为PCON寄存器的最高位,定时器的溢出率:单位时间定时器溢出的次数;,溢出率为溢出周期的倒数,溢出周期:定时器溢出一次所需的时间,http:/,45,当定时器1作波特率发生器时,通常选用定时工作方式2(

21、8位自动加载)。设X为计数初值,则溢出周期(定时时间),XM计数值Mt/TM(fosct)/12,定时器T1溢出率,http:/,46,通常是知道波特率,求计数初值X,实际使用:1)首先确定波特率2)然后计算定时器1的计数初值3)然后进行定时器的初始化,SMOD值可以通过:MOV PCON#00H 或MOV PCON#80H设定,http:/,47,串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:确定串行口控制(编程SCON寄存器);确定T1的工作方式(编程TMOD寄存器);计算T1的初值,装载TH1、TL1;启动T1(编程TCON中的TR

22、1位);串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。初始化后,设置串口工作。发送:直接写SBUF,查询TI/中断接收:REN置1,查询RI/中断,(五)串行口使用步骤,http:/,48,例7-1 设时钟fosc=11.0592MHZ,要设置串行通信的波特率为4800bps,波特率不倍增,串行口方式1,则初始化程序为:,Void Uart_Init(void)TH1=0 xfa;TL1=0 xfa;TMOD=0 x20;TR1=1;SM0=0;SM1=1;REN=1;,http:/,49,要求:单片机串口通信的应用,通过串口,电脑和单片机系统进行通信。电脑作为上位机,向下位

23、机单片机系统发送十六进制或者ASCLL码,单片机系统接收后,用LED 显示接收到的数据和向上位机发回原样数据。,http:/,50,程序:#include unsigned char dat;/用于存储单片机接收发送缓冲寄存器SBUF 里面的内容sbit gewei=P13;/个位选通定义sbit shiwei=P12;/十位选通定义unsigned char code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;void Delay(unsigned int tc)/延时程序while(tc!=0)uns

24、igned int i;for(i=0;i100;i+);tc-;void LED()/LED 显示接收到的数据(十进制)shiwei=0;P0=tabledat/10;Delay(5);,http:/,51,续前页:shiwei=1;gewei=0;P0=tabledat%10;Delay(5);gewei=1;void Init_Com(void)/功能:串口初始化,波特率9600,方式1TMOD=0 x20;PCON=0 x00;SCON=0 x50;TH1=0 xFd;TL1=0 xFd;TR1=1;,http:/,52,续前页:void main()/实现接收数据并把接收到的数据原样

25、发送回去/Init_Com();/串口初始化while(1)if(RI)/扫描判断是否接收到数据,dat=SBUF;/接收数据SBUF 赋与datRI=0;/RI 清零(必须用软件清零)SBUF=dat;/再原样把数据发送回去While(!TI);TI=0;LED();/显示接收到的数据,http:/,53,例6:在PC机用串口调试助手发送一个字符X,单片机收到字符后返回给PC机“I get X”,串口波特率设为9600bps,设单片机的外部晶振为11.0592Mhz。,http:/,54,#includeunsigned char flag,a,i;uchar code table=I ge

26、t;/uchar code table=I,g,e,t,;void main()init();while(1)if(flag=1)ES=0;for(i=0;i6;i+)SBUF=tablei;while(!TI);TI=0;SBUF=a;while(!TI);TI=0;ES=1;flag=0;,void init()TMOD=0 x20;TH1=0 xfd;TL1=0 xfd;TR1=1;REN=1;SM0=0;SM1=1;ES=1;EA=1;,void ser()interrupt 4RI=0;a=SBUF;flag=1;,http:/,55,重点内容:1、定时/计数器的使用(比如使用定时器产生不同频率的方波)2、中断的使用。会使用定时中断、外部中断、串口中断,初始化中断以及中断函数的编写3、串口的初始化及数据收发4、AD的使用(ADC0809)5、独立按键及矩阵键盘的扫描。,http:/,56,结束 谢谢!,http:/,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号