从零开始入门学习51单片机教程.ppt
《从零开始入门学习51单片机教程.ppt》由会员分享,可在线阅读,更多相关《从零开始入门学习51单片机教程.ppt(257页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、从零开始入门学习51单片机教程 Four short words sum up what has lifted most successful Four short words sum up what has lifted most successful individuals above the crowd: a little bit more. individuals above the crowd: a little bit more. -author -author -date-date单片机有什么用应该学什么样的单片机学习单片机需什么基础如何学好单片机1.学前准备,单片机学习开发环境
2、的建立第一课第一课 初识单片机初识单片机单片机有什么用单片机有什么用?工业控制系统工业控制系统数据采集系统数据采集系统智能化仪器仪表智能化仪器仪表通讯设备通讯设备. .应该学什么样的单片机应该学什么样的单片机?v在我们这个课程中,我们将选用在我们这个课程中,我们将选用5151系列单片机作为讲解。系列单片机作为讲解。v5151单片机同时也是学习,单片机同时也是学习,ARM、DSP、FPGA等,高等,高端应用的基础知识。端应用的基础知识。学习单片机要什么基础学习单片机要什么基础?1.有信心,有恒心;有信心,有恒心;2.只要撑握最基本的数电模电知识;只要撑握最基本的数电模电知识;3.对各种器件的认识
3、大家都是从对各种器件的认识大家都是从0开始;开始;4.单片机编程,只要会简单的单片机编程,只要会简单的C语言基础知识。语言基础知识。如何学好单片机如何学好单片机1.要领:理论与实践并重,实践先行;2.学习总是从模仿开始;3.举一反三;学前准备学前准备1电脑一台2单片机C语言书一本 3. 开发板一块51单片机C语言程序设计教程本视频配套书籍:王云 编著课程内容安排课程内容安排v基础篇基础篇基于单片机最小系统,介绍单片机的基础知识;及单片机基于单片机最小系统,介绍单片机的基础知识;及单片机C语言基础知识语言基础知识。v实战篇实战篇以以YL-51YL-51开发板开发板为平台,逐个讲解开发板上各个模块
4、的使用,把各器件模块讲为平台,逐个讲解开发板上各个模块的使用,把各器件模块讲解清楚。通过实践深化理解数字电路的概念、解清楚。通过实践深化理解数字电路的概念、C语言的基本应用以及语言的基本应用以及C语言如语言如何同实际电路发生联系。何同实际电路发生联系。v提高篇提高篇讲解单片机应用的扩展知识,及编程技巧。讲授单片机项目开发的流程及方讲解单片机应用的扩展知识,及编程技巧。讲授单片机项目开发的流程及方法。法。课后作业课后作业安装以下两个软件:安装以下两个软件:1 1、STC-ISPSTC-ISP下载软件下载软件2 2、KEILKEIL编程软件编程软件第二课第二课 点亮一个发光二极管点亮一个发光二极管
5、v什么是单片机什么是单片机? ?v如何选择单片机如何选择单片机? ?v单片机能做什么?单片机能做什么?v单片机单片机 指以指以8051为核心的单片机,统称为为核心的单片机,统称为MCS51单片机。单片机。 是在一片集成电路芯片上集成微处理器、存储器、是在一片集成电路芯片上集成微处理器、存储器、I/O接接口电路,从而构成了口电路,从而构成了单芯片微型计算机,简称单片机。单芯片微型计算机,简称单片机。vMCS51单片机单片机如如8031,8751,8032,8052,8752等该系列其它单片机都等该系列其它单片机都是在是在8051的基础上进行功能的增、减、改变而来的。的基础上进行功能的增、减、改变
6、而来的。1.1 1.1 什么是单片机什么是单片机? ?8051是美国是美国INTEL公司,生产的一系列单片机中最早最典型公司,生产的一系列单片机中最早最典型的产品的产品。1.2 1.2 近年来推出近年来推出MCS51MCS51的主要产品有:的主要产品有: ATMELATMEL公司的公司的8989C51C51、89C5289C52系列;系列; PhilipsPhilips公司的公司的80C5180C51、80C5280C52系列;系列; 华邦公司的华邦公司的W78C51W78C51、W77C51W77C51高速低价高速低价系列;系列; LGLG公司的公司的GMS90/97GMS90/97低压高速
7、低压高速系列;系列; 宏晶公司的宏晶公司的STCSTC89C5189C51、STCSTC89C5289C52系列。系列。 1.3 80C511.3 80C51的引脚封装的引脚封装总线型总线型非总线型非总线型2.单片机内部资源三大指标单片机内部资源三大指标v 1、FLASH (程序存储空间(程序存储空间ROM)v 2、RAM(数据存储器)(数据存储器)v 3、SFR(特殊功能寄存器)(特殊功能寄存器)单片机内集成了一些常用的单片机内集成了一些常用的I/O接口电路,如并行的接口电路,如并行的I/OI/O端口、串行口、端口、串行口、定时器定时器/计数器、中断控制器等,这些计数器、中断控制器等,这些I
8、/O接口单元电路,统称为特殊接口单元电路,统称为特殊功能寄存器功能寄存器(SFR)。单片机的选择v STC89C52: 8K FLASH,512字节RAM,32个I/O口, 3个定时器,1个UART,8个中断源。v SST89E516: 64K FLASH,1024字节RAM,32个I/O口, 3个定时器,1个UART,10个中断源。支持与KEIL连线进行在线仿真。单片机最小系统单片机最小系统v特点:用最少的元件组成的单片机工作系统。特点:用最少的元件组成的单片机工作系统。v由四大硬件组成:单片机、电源电路、晶振电由四大硬件组成:单片机、电源电路、晶振电路、复位电路。路、复位电路。31脚是内部
9、程序存储器和外部程序存储器选择端。为高电平时,访问内部程序存储器;为低电平时,则访问外部程序存储器。点亮一个LED发光二极管v发光二极管:通常红色贴片LED:正向压降1.6-2.4V ,电流2-20mA。2-5mA亮度有明显变化,5mA以上亮度基本没变化。RV/I一般应用取I35mA,则R?。vLED与单片机,成为一个最小的控制单元,实现控制发光二极管的亮灭。v特殊功能寄存器声明特殊功能寄存器声明 语法:语法: sfr sfr_name=int_constant 例:例:sfr P0 = 0 x80; sfr SCON = 0X98;v特殊功能位声明特殊功能位声明 例:例:sbit CY =P
10、SW7; sbit LED=P10;Main 函数格式:void main()特点:无返回值,无参。任何一个C程序有且仅有一个main函数,它是整个程序开始执行的入口。例:void main() 总程序从这里开始执行; 其他语句; 三、建立独立的KEIL工程: 1.点亮第一个发光管 2.点亮最后一个发光管 3.点亮一、三、五、七二、理解单片机单片机最小系统的组成。一、了解发光二极管参数及限流电阻计算方法。作业作业 4.点亮二、四、五、六第三课 C51基础知识及流水灯设计v 电平特性电平特性v 单片机的数制单片机的数制v C51C51的特点的特点v C51C51基础知识基础知识C51简介简介关于
11、电平特性关于电平特性1、数字电路中只有两种电平 (本课程中)定义单片机为TTL电平 高电平:+5V 低电平:0V2、RS232电平:计算机串口 高电平:-12V 低电平:+12V 所以计算机串口与单片机进行通信时,需加电平转 换芯片MAX232。单片机的数制单片机的数制1 1、单片机内部的数制:二进制、单片机内部的数制:二进制2 2、单片机编程常用的数制:十六进制、单片机编程常用的数制:十六进制二进制二进制数字电路中的两种电平特性决定了它 0 0 6110 1 1 7111 2 10 8 1000 3 11 91001 4 100 101010 5 101 111011十六进制数十六进制数v
12、是二进制的简短表示形式。 十进制中的0-15在十六进制数中分别表示为0、 1、2、3、 4、5、6、7、8、9、A、B、C、 D、E、Fv熟练掌握二进制与十六进制之间的转换。 规律:一般把四个二进制数放在一起转换成一 个十六进制数,转换时先把二进制数转换成十 进制数,再把十进制数转换成十六进制数。如:0001B11HB表示为二进制,H为十六进制1001B99H1010B10 AH1001 10101549AH各种进制的对应关系二进制数的逻辑运算1.与运算 与运算是实现“必须有,否则就没有”这种逻辑关系的一种运算。运算符为“ ”其运算规则如下: 00=0; 01=10=0; 11=12.或运算或
13、运算是实现“只要其中之一有,就有”这种逻辑关系的一种运算,其运算符为“ + ”“或”运算规则如下:0+0=0; 0+1=1+0=1; 1+1=13.是“非”运算 “非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作“ A ”其运算规则如下:1=0;0=14“异或”运算“异或”运算是实现“必须不同,否则就没有”这种逻辑的一种运算。运算符为“ ”。其运算规则是:0 0=0;0 1=1 0=1;1 1=0C51的特点C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提
14、供了有力的保障。使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。因此,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。C-51的优点:1、对单片机的指令系统不要求了解,仅要求对8051的 存贮器结构有初步了解。2、寄存器分配,不同存贮器的寻址及数据类型等细节可由编译器管理。3、程序有规范的结构,可分成不同的函数,这种方式可使程序结构化。4、提供的库包含许多标准子程序,具有较强的数据处理能力。5、由于具有方便的模块化编程技术,使已编好程序可容 易地移植。C-51
15、的基本数据类型类型类型符号符号关键字关键字数的表示范围数的表示范围所占位数所占位数整型整型字符型字符型实型实型有有无无(signed) int16-3276832767(signed) short16-3276832767(signed) long32-2147483648214748364716unsigned int0655353204294967295unsigned long intunsigned short int16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127无无unsigned char8
16、0255+ - * / ( 加 减 乘 除) = (位右移 位左移) & | (按位与 按位或) (按位异或 按位取反) C-51的运算符:(与C语言基本相同) C-51的基本语句与标准C语言基本相同: if 选择语言 switch/case 多分支选择语言 while 循环语言 do-while 循环语言 for 循环语言常用的延时方法 一.非精确延时方法1.for(i=0;i100;i+); 2.i=100;while(i-);二.精确延时方法 1.利用库函数_nop_();(需要include)2.利用定时器进行定时(后边的课程进行介绍)流水灯实验v 8个发光二极管,分别对应单片机I/O
17、口的P1.0到P1.7,8个单片机IO口组成一个字节,在程序编写过程中,可以直接用P1来进行操作。v C语言的8位二进制数代表了8个I/O口v 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.根据原理图,独立完成流水灯反方向流动,和全部点亮到一个个熄灭。 作业作业第四课 数码管结构及静态显示原理v 数码管的结构和显示原理v 数码管静态显示v 数组
18、的定义及调用v 子程序调用、带参数子程序设计 数码管,根据内部结构,可分为共阴极数码管和共阳极数码管。七段发光管加上一个小数点,共计8段。因此我们对它编码时,刚好是用一个字节。abcdegGNDfdpGNDabcefgddpabcdefgdpdpgfedcba5V(a)(b)共阴极共阳极abcdegGNDfdpGNDabcefgddpabcdefgdpdpgfedcba5V(a)(b)共阴极共阳极显显示示段符号段符号十六进制代码十六进制代码dp gfedcba共阴极共阴极0123456789AbCdEF无无00000000000000000001111101111011101000111011
19、111011010100010101111110101101101101111001101111111110100011111001111001000101101111110101100 x3f0 x060 x5b0 x4f0 x660 x6d0 x7d0 x070 x7f0 x6f0 x770 x7c0 x390 x5e0 x790 x710 x00共阴数码管真值表数码管的显示方法(2)动态显示。(1)静态显示。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和
20、控制。缺点是占用I/O口多,增加了电路的复杂性。(1)静态显示。(2)动态显示。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 数组二.数组定义:
21、类型说明符 数组名 表达式;三.数组赋值: int a5=A,B,C,D,E int a =A,B,C,D,E1.a0=A; a1=B; a2=C; a3=D; a4=E;一.数组需满足三个条件:1. 元素具有相同的数据类型2. 用不同的下标来区分数组中的元素3. 在存储器中是被连续存放的函数定义的一般形式1.无参函数的定义形式类型标识符 函数名()声明部分 语句2.有参函数的定义形式类型标识符 函数名(形式参数列表)声明部分 语句v 中断概念中断概念v 单片机中断的应用单片机中断的应用v 单片机的定时器应用单片机的定时器应用第五课第五课 中断与定时器中断与定时器单片机的中断系统一、中断的概念
22、 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断产生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A中断的地方继续处理事件A(中断返回),这一过程称为中断。MCS-51单片机的中断系统结构执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回引起CPU中断的根源叫做中断源。中断源向CPU的请求,叫做中断请求。CUP暂时中断原来的事件A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。随着计算机技术的应用
23、,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:v 分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;v 实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;v 可靠性高。CPU具有处理设备故障及掉电等突发性事件能力。从而使系统的可靠性提高。8051中断系统的结构 8051的中断系统有5个中断源,2个优先级,可实现二级中断嵌套。8051中断系统的结构图中断系统的结构图v当中断源满足条件产生中断请求时,中断请求标记志位会置当中断源满足条件产生中断请求时,中断请求标记志位会置1。向。向CPU申请中断。申请中断。vCPU响应
24、中断时,响应中断时,TCON的中断请求标记位由硬件自动清除的中断请求标记位由硬件自动清除; SCON则须为软件清零。则须为软件清零。中断源与标记位关系中断源与标记位关系8051中断系统的结构图中断系统的结构图IT0外部中断0(INT0)触发方式选择位,由软件设置。1、低电平触发方式,INT0(P3.2)引脚上低电平可引起中断。2、下降沿触发方式,INT0(P3.2)引脚上电平由高变低负跳变可引起中断。中断允许控制位在中断允许控制位在IE特殊功能寄存器上的分布特殊功能寄存器上的分布中断优先级控制位在中断优先级控制位在IP特殊功能寄存器上的分布特殊功能寄存器上的分布v在在8051单片机中有两个定时
25、器单片机中有两个定时器/计数器计数器,分别称为分别称为定时器定时器/计数器计数器0和和定时器定时器/计数器计数器1。(在本课程中在本课程中)将采用:将采用:T/C0:表示定时器表示定时器/计数器计数器0T/C1:表示定时器表示定时器/计数器计数器1T0:表示定时器表示定时器0T1:表示定时器表示定时器1C0:表示计数器表示计数器0C1:表示计数器表示计数器1v如果是对内部振荡源如果是对内部振荡源12分频的脉冲信号进行计数(即对每个机器分频的脉冲信号进行计数(即对每个机器周期计数),它是周期计数),它是定时器(定时器(T0,T1)。v如果是对单片机引脚如果是对单片机引脚T0(P3.4)或)或T1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 从零开始 入门 学习 51 单片机 教程
限制150内