51单片机基础入门学习教程ppt课件.ppt

上传人:牧羊曲112 文档编号:1955245 上传时间:2022-12-28 格式:PPT 页数:256 大小:6.92MB
返回 下载 相关 举报
51单片机基础入门学习教程ppt课件.ppt_第1页
第1页 / 共256页
51单片机基础入门学习教程ppt课件.ppt_第2页
第2页 / 共256页
51单片机基础入门学习教程ppt课件.ppt_第3页
第3页 / 共256页
51单片机基础入门学习教程ppt课件.ppt_第4页
第4页 / 共256页
51单片机基础入门学习教程ppt课件.ppt_第5页
第5页 / 共256页
点击查看更多>>
资源描述

《51单片机基础入门学习教程ppt课件.ppt》由会员分享,可在线阅读,更多相关《51单片机基础入门学习教程ppt课件.ppt(256页珍藏版)》请在三一办公上搜索。

1、云龙51单片机教程 作者:王云,单片机有什么用应该学什么样的单片机学习单片机需什么基础如何学好单片机学前准备,单片机学习开发环境的建立,第一课 初识单片机,单片机有什么用?,工业控制系统数据采集系统智能化仪器仪表通讯设备. .,应该学什么样的单片机?,在我们这个课程中,我们将选用51系列单片机作为讲解。,51单片机同时也是学习,ARM、DSP、FPGA等,高端应用的基础知识。,学习单片机要什么基础?1.有信心,有恒心;2.只要撑握最基本的数电模电知识;3.对各种器件的认识大家都是从0开始;4.单片机编程,只要会简单的C语言基础知识。,如何学好单片机1.要领:理论与实践并重,实践先行;2.学习总

2、是从模仿开始;3.举一反三;,学前准备,1电脑一台,2单片机C语言书一本,3. 开发板一块,51单片机C语言程序设计教程,本视频配套书籍:,王云 编著,课程内容安排,基础篇,基于单片机最小系统,介绍单片机的基础知识;及单片机C语言基础知识。,实战篇,以YL-51开发板为平台,逐个讲解开发板上各个模块的使用,把各器件模块讲解清楚。通过实践深化理解数字电路的概念、C语言的基本应用以及C语言如何同实际电路发生联系。,提高篇,讲解单片机应用的扩展知识,及编程技巧。讲授单片机项目开发的流程及方法。,课后作业安装以下两个软件:1、STC-ISP下载软件2、KEIL编程软件,第二课 点亮一个发光二极管,什么

3、是单片机?,如何选择单片机?,单片机能做什么?,单片机,指以8051为核心的单片机,统称为MCS51单片机。,是在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,简称单片机。,MCS51单片机,如8031,8751,8032,8052,8752等该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的。,1.1 什么是单片机?,8051是美国INTEL公司,生产的一系列单片机中最早最典型的产品。,1.2 近年来推出MCS51的主要产品有:,ATMEL公司的89C51、89C52系列; Philips公司的80C51、80C52系列; 华邦公司的W7

4、8C51、W77C51高速低价系列; LG公司的GMS90/97低压高速系列; 宏晶公司的STC89C51、STC89C52系列。,1.3 80C51的引脚封装,总线型,非总线型,2.单片机内部资源三大指标1、FLASH (程序存储空间ROM)2、RAM(数据存储器)3、SFR(特殊功能寄存器),单片机内集成了一些常用的I/O接口电路,如并行的I/O端口、串行口、定时器/计数器、中断控制器等,这些I/O接口单元电路,统称为特殊功能寄存器(SFR)。,单片机的选择STC89C52: 8K FLASH,512字节RAM,32个I/O口, 3个定时器,1个UART,8个中断源。SST89E516:

5、64K FLASH,1024字节RAM,32个I/O口, 3个定时器,1个UART,10个中断源。支持与KEIL连线进行在线仿真。,单片机最小系统,特点:用最少的元件组成的单片机工作系统。,由四大硬件组成:单片机、电源电路、晶振电路、复位电路。,31脚是内部程序存储器和外部程序存储器选择端。为高电平时,访问内部程序存储器;为低电平时,则访问外部程序存储器。,点亮一个LED发光二极管,发光二极管:通常红色贴片LED:正向压降1.6-2.4V ,电流2-20mA。2-5mA亮度有明显变化,5mA以上亮度基本没变化。RV/I一般应用取I35mA,则R?。LED与单片机,成为一个最小的控制单元,实现控

6、制发光二极管的亮灭。,特殊功能寄存器声明 语法: sfr sfr_name=int_constant 例:sfr P0 = 0 x80; sfr SCON = 0X98;,特殊功能位声明 例:sbit CY =PSW7; sbit LED=P10;,Main 函数格式:void main()特点:无返回值,无参。任何一个C程序有且仅有一个main函数,它是整个程序开始执行的入口。例:void main() 总程序从这里开始执行; 其他语句; ,三、建立独立的KEIL工程: 1.点亮第一个发光管 2.点亮最后一个发光管 3.点亮一、三、五、七,二、理解单片机单片机最小系统的组成。,一、了解发光二

7、极管参数及限流电阻计算方法。,作业,4.点亮二、四、五、六,第三课 C51基础知识及流水灯设计,电平特性单片机的数制C51的特点C51基础知识,C51简介,关于电平特性,1、数字电路中只有两种电平 (本课程中)定义单片机为TTL电平 高电平:+5V 低电平:0V,2、RS232电平:计算机串口 高电平:-12V 低电平:+12V 所以计算机串口与单片机进行通信时,需加电平转 换芯片MAX232。,单片机的数制,1、单片机内部的数制:二进制2、单片机编程常用的数制:十六进制,二进制数字电路中的两种电平特性决定了它 0 0 6110 1 1 7111 2 10 8 1000 3 11 91001

8、4 100 101010 5 101 111011,十六进制数,是二进制的简短表示形式。 十进制中的0-15在十六进制数中分别表示为0、 1、2、3、 4、5、6、7、8、9、A、B、C、 D、E、F,熟练掌握二进制与十六进制之间的转换。 规律:一般把四个二进制数放在一起转换成一 个十六进制数,转换时先把二进制数转换成十 进制数,再把十进制数转换成十六进制数。,如:0001B11HB表示为二进制,H为十六进制1001B99H1010B10 AH1001 10101549AH,各种进制的对应关系,二进制数的逻辑运算1.与运算 与运算是实现“必须有,否则就没有”这种逻辑关系的一种运算。运算符为“

9、”其运算规则如下: 00=0; 01=10=0; 11=1,2.或运算或运算是实现“只要其中之一有,就有”这种逻辑关系的一种运算,其运算符为“ + ”“或”运算规则如下:0+0=0; 0+1=1+0=1; 1+1=1,3.是“非”运算 “非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作“ A ”其运算规则如下:1=0;0=1,4“异或”运算“异或”运算是实现“必须不同,否则就没有”这种逻辑的一种运算。运算符为“”。其运算规则是:00=0;01=10=1;11=0,C51的特点,C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语

10、言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。因此,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。,C-51的优点:1、对单片机的指令系统不要求了解,仅要求对8051的 存贮器结构有初步了解。2、寄存器分配,不同存贮器的寻址及数据类型等细节可由编译器管理。3、程序有规范的结构,可分成不同的函数,这种方式可使程序结构化。4、提供的库包含许多标准子程序,具有较强的数据处理能力

11、。5、由于具有方便的模块化编程技术,使已编好程序可容 易地移植。,C-51的基本数据类型,类型,符号,关键字,数的表示范围,所占位数,整型,字符型,实型,有,无,(signed) int,16,-3276832767,(signed) short,16,-3276832767,(signed) long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,32,3.4e-383.4e38,有,double,64,

12、1.7e-3081.7e308,有,char,8,-128127,无,unsigned char,8,0255,+ - * / ( 加 减 乘 除) = (位右移 位左移) & | (按位与 按位或) (按位异或 按位取反),C-51的运算符:(与C语言基本相同),C-51的基本语句,与标准C语言基本相同: if 选择语言 switch/case 多分支选择语言 while 循环语言 do-while 循环语言 for 循环语言,常用的延时方法 一.非精确延时方法1.for(i=0;i)2.利用定时器进行定时(后边的课程进行介绍),流水灯实验8个发光二极管,分别对应单片机I/O口的P1.0到P

13、1.7,8个单片机IO口组成一个字节,在程序编写过程中,可以直接用P1来进行操作。C语言的8位二进制数代表了8个I/O口P1=0XFE;它是二进制11111110的简短表示形式,它分别表示P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 1 1 1 1 1 1 1 0,1.了解单片机C语言都有哪方面的内容。2.掌握延时语句的用法及运行时间计算。3.用3个LED小灯做一个交通灯的程序。4.根据原理图,独立完成流水灯反方向流动,和全部点亮到一个个熄灭。,作业,第四课 数码管结构及静态显示原理,数码管的结构和显示原理数码管静态显示数组的定义及调用子程序调用、带参数子程序

14、设计,数码管,根据内部结构,可分为共阴极数码管和共阳极数码管。七段发光管加上一个小数点,共计8段。因此我们对它编码时,刚好是用一个字节。,共阴极,共阳极,共阴极,共阳极,共阴数码管真值表,数码管的显示方法,(2)动态显示。,(1)静态显示。,静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是占用I/O口多,增加了电路的复杂性。,(1)静态显示。,(2)动态显示。,动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来

15、,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。,数组,二.数组定义:类型说明符 数组名 表达式;三.数组赋值:int a5=A,B,C,D,E int a =A,B,C,D,Ea0=A; a1=B; a2=C; a3=D; a4=E;,

16、一.数组需满足三个条件:1. 元素具有相同的数据类型2. 用不同的下标来区分数组中的元素3. 在存储器中是被连续存放的,函数定义的一般形式,1.无参函数的定义形式类型标识符 函数名()声明部分 语句2.有参函数的定义形式类型标识符 函数名(形式参数列表)声明部分 语句,中断概念单片机中断的应用单片机的定时器应用,第五课 中断与定时器,单片机的中断系统,一、中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断产生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A中断的地方继续处理事件A(中断返回),这一

17、过程称为中断。,MCS-51单片机的中断系统结构,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,引起CPU中断的根源叫做中断源。中断源向CPU的请求,叫做中断请求。CUP暂时中断原来的事件A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。,随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:,分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;实时响应。CPU能够及时处理应用系统的随机事件,系统

18、的实时性大大增强;可靠性高。CPU具有处理设备故障及掉电等突发性事件能力。从而使系统的可靠性提高。,8051中断系统的结构 8051的中断系统有5个中断源,2个优先级,可实现二级中断嵌套。,8051中断系统的结构图,当中断源满足条件产生中断请求时,中断请求标记志位会置1。向CPU申请中断。CPU响应中断时,TCON的中断请求标记位由硬件自动清除; SCON则须为软件清零。,中断源与标记位关系,8051中断系统的结构图,IT0外部中断0(INT0)触发方式选择位,由软件设置。1、低电平触发方式,INT0(P3.2)引脚上低电平可引起中断。2、下降沿触发方式,INT0(P3.2)引脚上电平由高变低

19、负跳变可引起中断。,中断允许控制位在IE特殊功能寄存器上的分布,中断优先级控制位在IP特殊功能寄存器上的分布,在8051单片机中有两个定时器/计数器,分别称为定时器/计数器0和定时器/计数器1。(在本课程中)将采用:T/C0:表示定时器/计数器0T/C1:表示定时器/计数器1T0:表示定时器0T1:表示定时器1C0:表示计数器0C1:表示计数器1如果是对内部振荡源12分频的脉冲信号进行计数(即对每个机器周期计数),它是定时器(T0,T1)。如果是对单片机引脚T0(P3.4)或T1(P3.5)输入的外部脉冲信号进行计数,则它是计数器(C0,C1)。,定时器/计数器的概念,定时/计数器(T/C)的

20、结构图,一、定时/计数器的结构 :1、由两个加1计数寄存器(由高8位和低8位两个寄存器组成,共16位),分别对应 T/C0和T/C1.2、TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能。3、TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。,加1计数寄存器输入的计数脉冲有两个来源:1、一个是由系统的时钟振荡器输出脉冲经12分频后送来;2、一个是从单片机引脚T0(P3.4)或T1(P3.5)输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零;且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许

21、时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。,二、控制寄存器TCON TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:,TF1(TCON.7):T/C1溢出中断请求标志位。T/C1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T/C1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或 清0,同硬件置1或清0的效果一样。TR1(TCON.6):T/C

22、1运行控制位。TR1置1时,T/C1开始工作;TR1置0时,T/C1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。TF0(TCON.5):T/C0溢出中断请求标志位,其功能与TF1类同。TR0(TCON.4):T/C0运行控制位,其功能与TR1类同。,三、工作方式寄存器TMOD,工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T/C0,高四位用于T/C1。其格式如下:,GATE:门控位。GATE0时,只要使TCON中的TR0或TR1为1,就可以启动定时/计数器(T/C)工作。(其中:TR0对应T/C0;TR1对应T/C1)GATA1时,要满足两个

23、条件,才能启动定时/计数器(T/C)工作:使TR0或TR1为1。同时外部中断引脚INT0/1也为高电平时。(INT0对应T/C0;INT1对应T/C1) :定时/计数模式选择位。 0为定时模式; =1为计数模式。,M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。,方式1:常用的16位定时器/定数器。(本节课主要讲:方式1定时器模式)方式2:主要用在串口波特率发生器。(在串口通信里再作详细讲解)方式0和方式3:几乎不用。,四、方式1 (定时器0模式)方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器 。,16位定时器0装初值的计算公式

24、:假设要计的个数是n,TH0=(65536-n)/256TL0=(65536-n)%256,8051的基本时序周期,振荡周期:为单片机提供振荡源的周期(是指振荡源的两个相邻同方向峰值之间的时间)机器周期:1个机器周期等于12个振荡周期若:fosc=12M,则8051的各周期参数如下:振荡周期=1/12 us;机器周期=1us;,初始化程序应完成如下工作:1、对TMOD赋值,以确定T0和T1的工作方式。2、计算初值,并将其写入TH0、TL0或TH1、TL1。3、使TR0或TR1置位,启动定时/计数器定时或计数。4、中断方式时,则对IE赋值,开放中断。,定时/计数器应用举例,作业,1、利用定时/计

25、数器T1从P1.0输出周期为1s的方波,让 发光二极管以1HZ闪烁,设晶振频率为12MHz。试设 计程序。2、利用定时/计数器T0产生定时时钟,由P1口控制8个发光 二极管。编一个程序,使8个指示灯依次一个一个闪动, 闪动频率为10次/秒(8个灯依次亮一遍为一个周期)。3、用定时器以间隔500MS在6位数码管上依次显示0、1、 2、3.C、D、E、F,重复。,第六课 数码管动态显示及定时器应用,三、工作方式寄存器TMOD,工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T/C0,高四位用于T/C1。其格式如下:,GATE:门控位。GATE0时,只要使TCON中的TR0或TR1为

26、1,就可以启动定时/计数器(T/C)工作。(其中:TR0对应T/C0;TR1对应T/C1)GATA1时,要满足两个条件,才能启动定时/计数器(T/C)工作:使TR0或TR1为1。同时外部中断引脚INT0/1也为高电平时。(INT0对应T/C0;INT1对应T/C1) :定时/计数模式选择位。 0为定时模式; =1为计数模式。,M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。,方式1:常用的16位定时器/定数器。(本节课主要讲:方式1定时器模式)方式2:主要用在串口波特率发生器。(在串口通信里再作详细讲解)方式0和方式3:几乎不用。,动态显示的特点是将所有数码管的段选线

27、并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描,即是通过分时轮流送出字形码和相应的位选,使各个数码管轮流受控显示。在轮流显示过程中,每1位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。,动态显示,1、利用动态扫描方法在六位数码管上显示出稳定654321。2、用动态扫描方法和定时器0在数

28、码管的前三位显示出秒表,精确到1%秒,即后两位显示1%秒,一直循环下去。3、 利用动态扫描和定时器0在数码管上显示出从543210开始以1%秒的速度往下递减直至543111并保持显示此数,与此同时利用定时器0以500MS速度进行流水灯从上至下移动,同时蜂鸣器发声,当数码管上数减到停止时,实验板上流水灯全部闪烁4次,数码管全熄灭。单片机进入休眠状态。,课后练习,第七课 键盘的应用,以下为键盘输入信息的主要过程如下:1、CPU判断是否有按键按下。2、确定按下的是哪一个按键。3、把此按键代表的信息翻译成CPU所能识别的代码,如ASCII或其他特征码。以上第2,3步由专用硬件编码器完成的,称为编码键盘

29、。如果由软件完成的,称为非编码键盘。在单片机组成的各种系统中,用的最多的是非编码键盘;当然也可以使用编码键盘。,键盘的分类,非编码键盘又分为:独立键盘和行列式键盘(矩阵键盘),欢迎进入云龙电子科技大讲堂,S5,独立键盘的检测过程:先给按键对应的I/O口置1;再来读这个I/0是否等于1;若是1,说明按键没有按下, 若是0,说明按键已按下。,独立键盘的检测,按键在闭合和断开时,触点会存在抖动现象:,按键抖动时间由按键的机械特性决定:一般为5ms10ms。,欢迎进入云龙电子科技大讲堂,矩阵键盘检测原理:查询是否有键按下。键的抖动处理。查询按下键所在行和列位置,并对行号和列号译码,得到键值。,1、数码

30、管前三位显示一个跑表,从000到999之间以1%秒速度运行,当按下一个独立键盘时跑表停止,松开手后跑表继续运行。(用定时器设计表)。2、在上题的基础上,用另外三个独立键盘实现按下第一个时计时停止,按下第二个时计时开始,按下第三个是计数值清零从头开始。3、按下16个矩阵键盘依次在数码管上显示1-16的平方。如按下第一个显示1,第二个显示4.,作业,第八课 D/A转换器与单片机接口,D/A转换器及其与单片机接口,常用电阻分压/分流来实现D/A转换,让模拟量的输出变化与数字量的输入变化成线性关系 。,一.D/A转换器的基本原理及分类,2.分为权电阻解码网络与T型解码网络两种构建方法,其中又以T型解码

31、网络最为常用。,D/A转换器及其与单片机接口,二.型电阻网络D/A转换器 :,第个2R支路的电流均为上一个支路的1/2:I7=(Vref/2R)I6=(Vref/2R)/2I5=(Vref/2R)/4I4=(Vref/2R)/8I3=(Vref/2R)/16I2=(Vref/2R)/32I1=(Vref/2R)/64I0=(Vref/2R)/128,三、D/A转换器的主要性能指标,1、分辨率分辨率是指输入数字量的最低有效位(LSB)发生变化时,所对应的输出模拟量(电压或电流)的变化量。它反映了输出模拟量的最小变化值。分辨率与输入数字量的位数有确定的关系,可以表示成 FS / 。FS表示满量程输

32、入值,n为二进制位数。对于5V的满量程,采用位的DAC时,分辨率为5V/25619.5mV;当采用12位的DAC时,分辨率则为5V/40961.22mV。显然,位数越多分辨率就越高。,2、线性度线性度(也称非线性误差)是实际转换特性曲线与理想直线特性之间的最大偏差。常以相对于满量程的百分数表示。如是指实际输出值与理论值之差在满刻度的以内。,3、绝对精度和相对精度绝对精度(简称精度)是指在整个刻度范围内,任一输入数码所对应的模拟量实际输出值与理论值之间的最大误差。绝对精度是由DAC的增益误差(当输入数码为全1时,实际输出值与理想输出值之差)、零点误差(数码输入为全时,DAC的非零输出值)、非线性

33、误差和噪声等引起的。绝对精度(即最大误差)应小于1个LSB。,相对精度与绝对精度表示同一含义,用最大误差相对于满刻度的百分比表示。,4、建立时间建立时间是将一个数字量转换为稳定模拟信号所需的时间。是描述D/A转换速率的一个动态指标。电流输出型DAC的建立时间短。电压输出型DAC的建立时间主要决定于运算放大器的响应时间。根据建立时间的长短,可以将DAC分成超高速(1S)、高速(101S)、中速(10010S)、低速(100S)几档。,应注意,精度和分辨率具有一定的联系,但概念不同。DAC的位数多时,分辨率会提高,对应于影响精度的量化误差会减小。但其它误差(如温度漂移、线性不良等)的影响仍会使DA

34、C的精度变差。,DAC0832芯片及其与单片机接口,DAC0832是使用非常普遍的位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片机接口相连。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换。DAC0832主要特性:,分辨率位;电流建立时间S;数据输入可采用双缓冲、单缓冲或直通方式;输出电流线性度可在满量程下调节;逻辑电平输入与TTL电平兼容;单一电源供电(5V15V);低功耗,20m。,DAC0832内部结构及引脚,CS,DAC0832利用WR1 、 WR2 、ILE、XFER 控制信号可

35、以构成三种不同的工作方式。,DAC0832工作方式,、单缓冲工作方式 两个寄存器之一始终处于直通,即WR1=0或WR2=0,另一个寄存器处于受控状态。,2、双缓冲工作方式 两个寄存器均处于受控状态。这种工作方式适合于多模拟信号同时输出的应用场合。,3、直通工作方式当DAC0832芯片的片选信号、写信号、及传送控制信号的引脚全部接地,允许输入锁存信号ILE引脚接5V时,DAC0832芯片就处于直通工作方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。,第九课 A/D转换器与单片机接口,A/D,将连续变化的模拟信号转换为数字信号。,双积分型A/D转换器。逐次逼近比较型AD/转换器。并行

36、A/D转换器。,根据A/D电路的工作原理可分为以下几大型:,逐次逼近式ADC的转换原理,A/D转换器的主要技术指标,1、分辨率ADC的分辨率是指使输出数字量变化一个最小量时模拟信号的变化量。常用二进制的位数表示。例如8位ADC的分辨率就是8位,或者说分辨率为满刻度FS的1/ 28 。一个5V满刻度的8位ADC能分辨输入电压变化最小值是5V1/28 =19.53mV。,2、量化误差ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性

37、曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。,3、偏移误差偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。,、满刻度误差满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。,5、线性度线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。,6、绝对精度在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而

38、言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。,7、转换速率ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。,第十课 1602液晶的显示原理及应用,1、1602液晶硬件原理。2、1602液晶操作时序。3、如何在1602液晶上显示一个字符A。4、如何在1602液晶上显示一串字符。,第十一课 串口通信,1、80C51的串行口结构和工作原理2、单片机串行口编程应用举例,通信基础知识,计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系

39、统中信息的交换多采用串行通信方式。,并行通信通常是将数据字节的各位用多条数据线同时进行传送 。,并行通信特点:控制简单、传输速度快;但传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。,串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。,串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。,一、串行通信的传输方向1、单工单工是指数据传输仅能沿一个方向,不能实现反向传输。2、半双工半双工是指数据传输可以沿两个方向,但需要分时进行。3、全双工全双工是指数据可以同时进行双向传输。,单工 半双工 全双工,串行通信的分类

40、分为两大类:异步通信与同步通信,1、异步通信 异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。,异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。,异步通信的数据格式 :,异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加23位用于起止位,各帧之间还有间隔,因此传输效率不高。,2、同步通信同步通信时要建立发送方

41、时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现。,外同步 自同步,串行通信接口标准 一、RS-232C接口 RS-232C是EIA(美国电子工业协会)1969年修订RS-232C标准。RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。1、机械特性RS-232C接口规定使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。(阳头),公头,母头,2、功能特性,80C51串行口,SBUF为两个物理

42、上独立的接收、发送缓冲器,它们有相同的名字和地址空间,共用地址99H ,但不会产生冲突;因为接收器只能被CPU读出数据 ;发送缓冲器只能被CPU写入数据,不会产生重叠错误。,80C51串行口的结构,SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志:,80C51串行口的控制寄存器,SM0和SM1为工作方式选择位,可选择四种工作方式:,SM2,多机通信控制位,主要用于方式2和方式3。1.当SM2=1时,只有接收到第9位数据(RB8)为1,RI才会置1,(此时RB8具有控制RI激活的功能;进而在中断服务中将数据从SBUF读走)。2.当SM2=0时,收到字符R1

43、就置1,使收到的数据进入SBUF,(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。,TB8,在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。在方式0和方式1中,该位未用,默认为0。RB8,在方式2或方式3中,是接收到数据的第九位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。,TI,发送中断标志位。在方式0时,当串行发送第8位数据结束时,或在

44、其它方式,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。RI,接收中断标志位。在方式0时,当串行接收第8位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使RI置1,向CPU发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请。,PCON中只有一位SMOD与串行口工作有关 :,SMOD(PCON.7) 波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。,80C51串行口的工作方式,一、方式0 方式0时,串行口为同步移位寄

45、存器的输入输出方式。主要用于扩展并行输入或输出口。数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接收均为8位数据,低位在先,高位在后。波特率固定为fosc/12。 1、方式0输出,2、方式0输入,方式0接收和发送电路,二、方式1 方式1是10位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚,传送一帧数据的格式如图所示。其中1位起始位,8位数据位,1位停止位。,1、方式1输出,2、方式1输入,用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存

46、器,并开始接收这一帧信息的其余位。接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的停止位为1)时,将接收到的9位数据的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。,三、方式2和方式3 方式2或方式3时为11位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚 。,方式2和方式3时起始位1位,数据9位(含1位附加的第9位,发送时为SCON中的TB8,接收时为RB8),停止位1位,一帧数据为11位。方式2的波特率固定为晶振频率的1/64或1/32,方式3的

47、波特率由定时器T1的溢出率决定。,1、方式2和方式3输出,发送开始时,先把起始位0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到TXD引脚。每一个移位脉冲都使输出移位寄存器的各位右移一位,并由TXD引脚输出。 第一次移位时,停止位“1”移入输出移位寄存器的第9位上 ,以后每次移位,左边都移入0。当停止位移至输出位时,左边其余位全为0,检测电路检测到这一条件时,使控制电路进行最后一次移位,并置TI=1,向CPU请求中断。,2、方式2和方式3输入,接收时,数据从右边移入输入移位寄存器,在起始位0移到最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的第9位数据为1)时,

48、接收到的数据装入接收缓冲器SBUF和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如果条件不满足,则数据丢失,且不置位RI,继续搜索RXD引脚的负跳变。,四、波特率的计算 串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。方式0的波特率 = fosc/12方式2的波特率 =( /64) fosc 方式1的波特率 =( /32)(T1溢出率)方式3的波特率 =( /32)(T1溢出率),当定时器1作波特率发生器使用时,通常选用可自动装入初值模式(方式2),在方式2中,TL1作为计数用,而自动装入的初值放在TH1中,假设计数初值为

49、x,则每过“256-x”个机器周期,定时器T1就会产生一次溢出。这时溢出率取决于TH1中的计数值。,T1溢出率=溢出周期的倒数;溢出周期=(256-TH1)12/Fosc;(其中:12/Fosc表示一个机器周期),因此方式1和方式3:波特率:Baud=(2 Fsoc)/32 12(256-TH1),我们一般不太关注波特率的计算,而是关心选用的波特率(传输速度)去反算定时器1(自动重装模式)的初值(TH1),所以将上面的公式导一下,得到TH1的公式:TH1=256-(Fsoc2 )/(1232Baud),在单片机的应用中,常用的晶振频率为:12MHz和11.0592MHz。所以,选用的波特率也相

50、对固定。常用的串行口波特率以及各参数的关系如表所示。,串行口工作之前,应对其编程进行初始化设置,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:,确定T1的工作方式(编程TMOD寄存器);计算T1的初值,装载TH1、TL1;启动T1(编程TCON中的TR1位);确定串行口控制(编程SCON寄存器);串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。,1 .以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态显示出来,波特率自定。 2 .按下矩阵键盘第一行时以1200bps发送,1,2,3,4,第二行时以2400bps发送5,6,7,8,第

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号