ImageVerifierCode 换一换
格式:PPT , 页数:654 ,大小:11.44MB ,
文档编号:3224463      下载积分:35 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3224463.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(配套课件-单片机C语言应用技术.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

配套课件-单片机C语言应用技术.ppt

1、模块模块1 1 单片机硬件系统单片机硬件系统 任务任务1 点亮最简单的单片机系统点亮最简单的单片机系统 习题习题1任务任务1 点亮最简单的单片机系统点亮最简单的单片机系统1.任务目的任务目的通过利用单片机来控制LED发光二极管闪烁的电路制作,了解单片机和单片机最小系统,掌握简单单片机应用系统的硬件电路搭建方法,了解单片机应用系统开发流程。2.任务要求任务要求能够独立完成实现LED发光二极管闪烁控制的简单单片机应用系统硬件电路的制作,能尝试把给定程序下载到单片机中去,观察实现效果。3.硬件电路硬件电路一个最简单的单片机系统的开发通常需要经过电路设计、单片机器件选择和程序编写三个步骤。对于单片机系

2、统,最简单的功能就是控制输出电平的高低。本任务中将单片机系统接上一个发光二极管,用二极管的亮灭表示设计的单片机系统是否正常工作。单片机控制LED发光二极管闪烁系统的硬件电路如图1.1所示,包括单片机、时钟电路、复位电路、电源电路以及一个发光二极管的输出显示电路。其中:单片机选用89C51芯片;复位电路由按键S1和10 k电阻R1以及10 F电解电容C3组成;时钟电路由一个12 MHz晶振和两个22 F瓷片电容C1、C2组成;89C51的VCC引脚和引脚接+5 V电源,VSS引脚接地,构成电源电路;单片机并行口P2口的P2.0引脚与发光二极管连接构成输出显示电路。图1.1 LED发光二极管闪烁控

3、制单片机系统电路 4.程序设计程序设计#include /包含51单片机的寄存器符号定义头文件reg51.hsbit P2_0=P20;/定义P2.0口位名称void main()/主函数unsigned int i,j;while(1)P2_0=!P2_0;/对口线P2.0取反,控制对应小灯的亮灭 for(i=0;i1000;i+)for(j=0;j1000;j+);/双重循环,实现延时约1 s 小知识小知识#include 为文件包含。文件包含是指一个源文件可以将另外一个源文件的全部内部包含进来,即将另外的文件包含到本文件之中。文件包含命令的一般格式为#include 或#include“

4、文件名”文件包含命令#include的功能是用指定文件的全部内容替换该预处理行。文件包含命令#include通常放在C语言程序的开头,被包含的文件一般是一些公用的宏定义和外部变量说明。5.任务小结任务小结通过发光二极管闪烁控制系统的制作与调试,对单片机、单片机最小系统和单片机应用系统有直观认识,对单片机应用系统的开发过程有初步了解。单片机应用系统的开发过程:设计硬件电路图、制作电路板、程序设计、软件调试、程序下载、软硬件联调、产品测试。1.1 计算机中的数制计算机中的数制 1.1.1 数制的基本概念数制的基本概念按进位规则进行计数的方法称为进位计数制,简称数制。常用数制有十进制、二进制、十六进

5、制等。基数、数位、位权是表示进位计数制的三个基本要素。一种数制中采用字符的个数为该数制的基数。例如:十进制的基数为10,所用字符为09;二进制的基数为2,所用字符为0、1;十六进制的基数为16,所用字符为09、A、B、C、D、E、F。字符在一个数中所处的位置是数位。位权是指一种数制不同数位上的字符所代表的数值大小,为该数制的基数的幂。例如:十进制第i位的位权为10i;二进制第i位的位权为2i。字符所处的位置不同,位权也不同。字符与相应位权的乘积称为加权系数。1.十进制十进制十进制数所使用的字符为0、1、2、3、4、5、6、7、8、9,数中各位的位权为以10为底的幂。每一个数制的数都可以按位权展

6、开法来表示,为各位加权系数之和。对于十进制数,如:(278)10=2102+7101+81002.二进制二进制二进制数所使用的字符为0、1,数中各位的位权为以2为底的幂。例如:(10111)2=124+023+122+121+1203.十六进制十六进制十六进制数所使用的字符为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,数中各位的位权为以16为底的幂。例如:(B5)16=11161+5160不同数制的数除了可以按照上面的用()n表示n进制来区分以外,还可以在数码后面加D(表示十进制数)、B(表示二进制数)、H(表示十六进制数)来区分。例如:195D=(195)1011101B

7、=(11101)2F9H=(F9)16。1.1.2 不同数制数之间的相互转换不同数制数之间的相互转换1.十进制数与二进制数之间的转换十进制数与二进制数之间的转换(1)十进制数转换为二进制数。这里只讲整数部分,因为在应用中绝大多数情况下只用到了整数部分的计算。方法:除以2,取余数。例1 把十进制数47转换为二进制数。解解 则 47D=101111B小提示小提示在将十进制整数转换为二进制数的过程中,除2运算一定要做到商为0,取数时要将所得余数从下往上取。(2)二进制数转换为十进制数。方法:按照位权展开再相加即可。例2 把二进制数11011010B转换为十进制数。解 11011010B=(127+1

8、26+025+124+123+022+121+020)D=218D2.二进制数与十六进制数之间的转换二进制数与十六进制数之间的转换(1)二进制数转换为十六进制数。方法:4位二进制数码构成1位十六进制数,不足四位时,用零补齐。例3 1001010B=4AH(2)十六进制数转换为二进制数。方法:1位十六进制数变成4位二进制数。例4 F9H=11111001B小提示小提示一般在十六进制数的后面加上后缀H,表示该数为十六进制数,如F9H,4AH等。在C语言编程时,要在十六进制数前面加上前缀0X,表示该数为十六进制数,如0XF9,0X4A。注意,这里的字母不区分大小写。1.2 单单片片机机简简介介1.2

9、.1 单片机的基本概念单片机的基本概念1.什么是单片机什么是单片机单片机是在一块硅片上集成了中央处理器(CPU)、存储器以及各种输入/输出接口的芯片,如图1.2所示。这样一块芯片具有计算机的属性,因而被称为单片微型计算机,简称单片机。由于它的结构和指令功能是按照工业控制要求设计的,故又称为微控制器。通俗地说,单片机就是一块集成芯片,只是它具有一些特殊的功能,这些功能的实现要靠使用者自己编程来完成。单片机具有结构简单、体积小、价格低、控制功能强、可靠性高等优点。图1.2 单片机结构2.单片机能做什么单片机能做什么单片机是一种可通过编程控制的微控制器。单片机芯片自身不能单独应用于某个项目或产品上,

10、必须靠外围数字器件或模拟器件的配合才可发挥自身的强大功能。在学习单片机时,不能仅仅学习单片机芯片本身,还要逐步学习相关外围芯片知识及外围电路设计和调试技术。单片机属于控制类的数字集成芯片,目前已在很多领域广泛应用。例如:(1)消费类电子产品。如洗衣机、电冰箱、空调、电视机、微波炉、IC卡、汽车电子设备等。(2)智能仪器仪表。如数字示波器、数字信号源、数字万用表、数字流量计等。(3)工业自动化。如各种工业测控系统、数据采集系统、自适应控制系统等。(4)通信方面。如手机、调制解调器、电信局的程控交换机等。(5)军工领域。如飞机、军舰、坦克、导弹、智能武器等。以上应用中的电子器件内部都用到了单片机,

11、而且大多数电器内部的主控芯片就是单片机。可以说,凡是与控制或简单计算有关的电子设备都可以用单片机来实现。3.单片机应用系统组成单片机应用系统组成单片机应用系统由软件系统和硬件系统两部分组成,如图1.3所示,二者相互依赖,缺一不可。硬件系统是应用系统的基础,单片机硬件系统是以单片机芯片为核心,配以相关的外围设备及接口电路构成的;软件在硬件系统的基础之上,对其资源进行合理调配和使用,控制其按照一定的要求完成各种运算或动作,从而实现应用所要求完成的任务。图1.3 单片机应用系统组成1.2.2 51单片机单片机目前市面上以MCS-51系列8位单片机的使用最为广泛,本书以8051为例进行讲解。1.常用常

12、用51单片机芯片单片机芯片“8051”源自Intel公司的MCS-51系列芯片,但目前所采用的8051并不限于Intel公司所生产的芯片,而是指以51为内核扩展出的单片机,并且以其他厂商所发行的兼容芯片为主。表1.1所示为不同国家的芯片厂商生产的以51为内核的51单片机产品。由于厂商及芯片型号太多,不能一一列举,以上所提到的都是51内核扩展出来的单片机,只要学会其中一种芯片的操作,其他的单片机就可以轻松使用。表表1.1 51单片机芯片厂商产品单片机芯片厂商产品 2.单片机标号信息单片机标号信息图1.4所示为一芯片实物图,芯片上的标号为STC89C51RC40C-PDIP。本小节以此为例来说明单

13、片机芯片上的标号信息。STC前缀,表示芯片为STC公司生产的产品。其他前缀还有AT、i等。8表示该芯片为8051内核芯片。9表示内部含Flash E2PROM存储器。另外,80C51中的“0”表示内部含有Mask ROM(掩膜ROM);87C51中的“7”表示内部含有EPROM存储器(紫外线可擦除ROM)。图1.4 单片机STC89C51RC40C-PDIP实物 C表示该芯片为CMOS产品。另外,89LV52和89LE58中的“LV”和“LE”都表示该芯片为低电压产品(通常为3.3 V电压供电);89S52中的“S”表示该芯片含有具备串行下载功能的Flash存储器,即具有ISP可在线编程功能。

14、5固定不变。1表示该芯片内部程序存储器空间的大小,1为4KB、2为8KB、3为12KB,即该数乘以4KB就是该芯片内部的程序存储器存储空间的大小。程序存储器空间的大小决定了一个芯片所能装入执行代码的多少。小提示小提示一般来说,程序存储器空间越大,芯片价格也就越高。所以,在选择芯片时要根据自己硬件设备实现功能所需代码的大小来选择价格合适的芯片。RCSTC单片机内部数据存储器(RAM随机存储器),为512 B。40表示芯片外部晶振频率最高可接入40 MHz。对AT单片机,该数值一般为24,表示外部晶振频率最高为24 MHz。C产品级别,表示芯片使用温度范围。C表示商业级,温度范围为0+70。PDI

15、P产品封装型号,PDIP表示双列直插式。其他厂商单片机产品的标号信息大同小异,若有不清楚的地方,可自行上网查询。3.STC公司公司51系列单片机选型系列单片机选型STC公司51系列单片机选型表如表1.2所示。表表1.2 STC公司公司51系列单片机选型表系列单片机选型表 1.3 MCS-51单片机的内部结构单片机的内部结构 8051是MCS-51系列的8位单片机芯片。8位指的是单片机内部数据总线或寄存器一次处理数据的位数,目前大多数应用中采用的单片机以8位为主。8051单片机发展至今,虽有很多厂家各自开发了不同的兼容芯片,但只是程序存储器结构有些不同,其基本结构没有太大变化。这里以标准8051

16、为例介绍其基本内部结构和存储器结构。1.3.1 8051单片机的基本内部结构单片机的基本内部结构标准8051单片机的基本内部结构如图1.5所示。图1.5 标准8051单片机的基本内部结构简化框图 1.中央处理器中央处理器(CPU)CPU是单片机芯片中最复杂、最核心的智能部件,用于完成运算和控制功能。它分为运算器和控制器两部分。运算器主要实现算术运算以及控制程序计数器PC、8位累加器ACC、寄存器B、程序状态字寄存器PSW等,能完成字节和位的运算。字节运算以可进行8位算术运算和逻辑运算的ALU单元为核心;位运算以可进行位运算的布尔处理机为核心。控制器是单片机的神经中枢,包括程序计数器PC、指令寄

17、存器IR、指令译码器ID等部件,主要实现程序译码以及完成输入/输出逻辑等。8051的CPU为8位的CPU,且内含一个1位CPU,不仅可处理字节数据,还可以进行位变量的处理。2.存储器存储器(1)只读程序存储器ROM。8051内部有4KB的只读程序存储器ROM,用来存放程序或程序运行过程中不会改变的原始数据。(2)数据存储器RAM。8051内部有256B的数据存储器RAM,其中高128B离散地分布着21个特殊功能寄存器,低128 B供用户暂存中间数据。通常所说的内部数据存储器就是指低128 B。3.I/O口口8051内部有4个8位并行I/O端口(P0、P1、P2、P3),可以实现数据的并行输入/

18、输出。4.中断系统中断系统8051共有5个中断源,其中两个用于外部中断,两个用于定时/计数器中断,一个用于串行口中断。全部中断分为高级和低级两个优先级别。5.定时定时/计数器计数器8051内部有两个16位的定时/计数器T0和T1。6.串行接口串行接口8051内部含有1个全双工串行接口,以实现单片机和其他设备之间的串行数据传送。7.时钟振荡电路时钟振荡电路8051内部有时钟电路,但石英晶体和微调电容需外接。时钟电路可为单片机产生时钟脉冲序列。1.3.2 8051单片机的存储器结构单片机的存储器结构8051在物理结构上有四个存储空间:片内程序存储器和片外程序存储器以及片内数据存储器和片外数据存储器

19、。但从用户角度上来看,8051有三个存储空间:片内外统一编址的64KB程序存储器地址空间、256B的片内数据存储器地址空间(其中高128B离散地分布着21个特殊功能寄存器,低128B供用户暂存中间数据)、最大扩展片外数据存储器64KB。1.程序存储器程序存储器单片机的工作是按照事先编制好的程序一条条按一定顺序执行的,程序存储器(ROM)就是用来存放程序的。8051单片机程序存储器的结构如图1.6所示。其内部4KB的ROM,片外可以扩展,实行片内外统一编址,组成64KB的程序存储器区,采用16位程序计数器PC作为地址指针,其地址范围为0000HFFFFH。图1.6 8051单片机程序存储器的结构

20、单片机运行时,CPU将自动从程序存储器读取所要执行的指令码。8051可以选择使用内部程序存储器或外部程序存储器,用来控制片内ROM和片外ROM寻址。如图1.6(a)所示,当=1时,CPU将使用内部程序存储器,即前4KB地址(0000H0FFFH地址范围);若程序超过4KB(即在1000HFFFFH地址范围),则CPU会自动从外部程序存储器里读取超过部分的程序代码。如图1.6(b)所示,当=0时,CPU将自动从外部程序存储器读取所要执行的指令码,此时内部程序存储器形同虚设。小提示小提示对初学者而言,内部的4 KB程序存储器已经绰绰有余,无需外接外部程序存储器。EAEAEA对于8051系列单片机而

21、言,程序存储器的某些地址单元被保留,用于特定的程序入口地址,定义如表1.3所示。其中一组特殊地址单元是0000H0002H单元,单片机系统复位后,PC=0000H,单片机从0000H单元开始执行;另一组特殊地址单元是0003H002AH,这40个单元各有用途,被分为5部分,作为单片机5个中断源的中断服务程序入口地址区。用户程序是不能占用这些地址单元的。表表1.3 系统保留地址系统保留地址 小提示小提示在单片机C语言程序设计中,用户可以不必知道其真实地址,只需了解程序存储器的结构即可。如中断入口地址在具体编程时会用相应中断序号与之相对应(具体内容将在模块4中详述),而不是直接用这些地址,编译程序

22、就会在编译过程中按照规定自行安排程序的存放地址。2.片内数据存储器片内数据存储器8051单片机的片内数据存储器(RAM)为256 B,其结构如图1.7所示。这256 B单元的地址空间分为两部分,低128 B(00H7FH)空间供用户使用,是真正的通用型RAM区;而高128 B(80HFFH)空间是专门为特殊功能寄存器(SFR)保留的。1)低128 B的RAM低128B的RAM按照用途从低地址到高地址划分为工作寄存器组区、可位寻址区和缓冲区。(1)工作寄存器组区。00H1FH的32个地址为工作寄存器组区,共分为4组,分别为寄存器组0:00H07H;寄存器组1:08H0FH;寄存器组2:10H17

23、H;寄存器组3:18H1FH。图1.7 8051片内数据存储器结构 每个寄存器组都包含R0R7这样8个寄存器,而任意时刻只能使用其中一个寄存器组。寄存器组的切换由程序状态字寄存器(PSW)中的RS1和RS0来决定,具体内容将在特殊功能寄存器中详述。用户通过软件编程修改PSW中的RS1和RS0两位的状态,就可以任意选择一个工作寄存器工作,这使得8051单片机具有快速现场保护功能,对于提高程序的效率和响应中断的速度是很有利的。若程序不需要4个工作寄存器组,那么剩下的工作寄存器组所对应的单元也可以作为一般的数据缓冲区使用。小提示小提示在单片机C语言程序设计中,一般不会直接使用工作寄存器R0R7。但在

24、C语言与汇编语言的混合编程中,工作寄存器组是汇编子程序和C语言函数之间重要的参数传递工具。(2)可位寻址区。20H2FH的16个字节存储区为可位寻址区,每个字节有8位,共有128位,每一位都有一个对应的位地址。8051单片机访问存储器通常以字节为单位,可位寻址是指可以指定访问某一个位。位寻址区主要为执行位操作指令时提供位地址定义,其位地址定义如表1.4所示。(3)缓冲区。30H7FH的80个字节地址为缓冲区,可以提供一般数据访问和用做堆栈区。由于CPU复位后,堆栈指针SP指向07H位置,故为了确保数据安全与程序执行的正确,最好把堆栈指针改至本区。表表1.4 位寻址区的位地址定义位寻址区的位地址

25、定义 2)高128 B的RAM高128 B的RAM中离散地分布着21个SFR,如表1.5所示。每一个SFR都有字节地址,并定义了符号名。也有一部分SFR不仅具有字节地址,还具有位地址,表中带“*”的SFR表示该SFR具有位地址,是可以进行位寻址的。在这128B中,尽管还有许多空闲地址,但用户不能使用。小提示特殊功能寄存器就是8051内部的装置,若用汇编语言编写程序,大家就必须确切地掌控这些寄存器。本书以C语言编写程序,它就不是那么重要了,其位地址的声明放在KEIL C 所提供的“reg51.h”头文件中,使用时只要把它包含到程序中即可,而不必记忆这些位置。表表1.5 8051特殊功能寄存器一览

26、表特殊功能寄存器一览表特殊功能寄存器专用于控制、管理单片机内算术逻辑部件、并行I/O口锁存器、中断系统、定时/计数器、串行口等功能模块的工作。因而,这21个特殊功能寄存器分为五个部分:与CPU控制运算有关的有ACC、B、SP、PSW、DPTR;与I/O端口控制有关的有P0P3;与中断控制有关的有IE、IP;与定时/计数器控制有关的有TCON、TMOD、TH0、TL0、TH1、TL1;与串行口控制有关的有SCON、PCON、SBUF。后面四个部分的特殊功能寄存器将在后续相关章节中陆续介绍。下面对几个常用的特殊功能寄存器进行简单介绍。(1)程序状态字寄存器PSW。程序状态字寄存器是一个8位寄存器,

27、用来存放运算结果的一些特征,如有无进位、借位等。每位的具体含义:CY:进位标志位,表示运算是否有进位(或借位)。如果运算结果在最高位有进位(加法)或者有借位(减法),则该位为1,否则为0。AC:辅助进位标志位,又称半进位标志,表示两个8位数运算的低四位是否有半进位,即低四位相加(或相减)是否有进位(或借位),如有该位为1,否则为0。F0:由用户使用的一个状态标志位,可用软件来使它置1或清0,也可由软件来测试它,以控制程序的流向。RS1、RS0:工作寄存器组选择控制位。在汇编语言中,这两位用来选择4组工作寄存器区中哪一组为当前工作寄存器组,其对应关系如表1.6所示。表表1.6 工作寄存器组选择工

28、作寄存器组选择 OV:溢出标志位,表示带符号数的运算结果是否有溢出。如有溢出,则该位为1,否则为0。P:奇偶标志位,表示累加器ACC中1的个数奇偶性。如果ACC中有奇数个1,则该位为1,否则为0。(2)累加器ACC。ACC累加器提供CPU主要操作的位置,是CPU中最繁忙、使用频率最高的特殊功能寄存器,CPU中的数据传送大多数都要通过它来完成。(3)堆栈指针SP。堆栈指针SP为8位专用寄存器。在CPU响应中断或调用子程序时,程序断口16位PC便会自动压入堆栈中;在中断程序或子程序结束时,原PC值会自动弹出堆栈,使程序从原断口处继续顺序执行下去。堆栈除用于保护断口地址外,有时还需要保护其他一些重要

29、信息。堆栈在存取信息时必须按照“后进先出”或“先进后出”的原则。(4)数据指针DPTR。数据指针DPTR是16位专用寄存器,它也可拆成高字节DPH和低字节DPL两个独立的8位寄存器,主要用于存放16位地址。(5)程序计数器PC。PC并不是特殊功能寄存器,为便于理解其他知识,在此一并进行介绍。PC是一个16位计数器,用于存放下一条将要执行的指令的地址,寻址范围为64 KB。在读取指令时,程序计数器PC将其保存的内容作为所取指令的地址输出给程序存储器,然后程序存储器按此地址将指令送出,同时程序计数器PC自身自动加1,指向下一条将要取出的指令的地址。小提示小提示使用汇编语言编程时,累加器ACC和PS

30、W寄存器很有用;利用C语言编程时,编译器会自动控制该寄存器,很少人为操作它们。本书中使用C语言编程,大家只需简单了解即可。3.片外数据存储器片外数据存储器8051单片机中的数据存储器除内部数据存储器外,还可以最多扩展外部数据存储器64 KB(0000HFFFFH),这两部分数据存储器可以并存。小知识小知识变量的不同存储器类型对应不同存储器空间:Code:可有多达64KB的程序存储器区,地址范围为:0000HFFFFH。data:直接寻址区,内部RAM的低128字节,地址范围为00H7FH。bdata:位寻址区,内部RAM的低128字节,地址范围为20H2FH。idata:间接寻址区,包括整个内

31、部RAM区,地址范围为00HFFH。xdata:指定多达64 KB的外部RAM直接寻址区,地址范围为0000H0FFFFH。pdata:能访问1页(256 B)的外部RAM。小提示小提示在单片机C语言程序设计时,用户无须考虑程序和数据的存放地址,编译器在编译程序时会按照规定自行安排程序的存放地址,因此大家只需了解存储器的结构即可。1.4 8051单片机的信号引脚及最小系统单片机的信号引脚及最小系统1.4.1 信号引脚及功能信号引脚及功能8051单片机芯片采用双列直插式封装方式,共有40个引脚,受集成电路芯片引脚数目的限制,许多引脚具有双功能。其引脚排列如图1.8所示。各引脚的功能如表1.7所示

32、。1.电源引脚电源引脚电源引脚用于接入单片机的工作电源。8051单片机中,VCC(40脚):接5V10%电源;VSS(20脚):接地。2.时钟引脚时钟引脚时钟引脚XTAL1(19脚)、XTAL2(18脚)既可以利用内部时钟振荡电路,也可以外接振荡电路来给单片机提供时钟控制信号。图1.8 8051单片机引脚 表表1.7 8051单片机引脚功能单片机引脚功能 3.复位信号引脚复位信号引脚RST/VPD(9脚脚)RST:复位信号引脚。对于8051来说,在单片机运行时,只要在此引脚加上超过两个机器周期的高电平,将使单片机复位。此引脚具有复用功能。VPD:备用电源引脚。在掉电期间,可在此引脚上接备用电源

33、,以保持内部RAM中的数据不丢失。4.控制引脚控制引脚控制引脚包括、ALE、,用来给单片机提供控制信号,有的引脚具有复用功能。PSENEA(1)(29脚)。:访问外部程序存储器的读选通信号。接外部程序存储器时,作读指令信号输出端,当8051要读取外部程序存储器时,此引脚就会输出一个低电平信号。在访问外部数据存储器或片内程序存储器时,不会产生有效信号。(2)ALE/(30脚)。ALE:地址锁存控制信号。当系统外部扩展存储器电路时,ALE端输出脉冲的下降沿用于锁存16位地址的低8位,以实现低8位地址和数据的隔离。简单地讲,系统扩展时,若ALE=1,则P0被当作地址总线;若ALE=0,则P0被当作数

34、据总线。:单片机在编程期间作为编程脉冲输入端。单片机内部有程序存储器,其作用是用来存放用户需要执行的程序,写好的程序可以通过编程脉冲输入写进程序存储器中。PSENPSENPROGPROG小提示小提示现在很多单片机都不需要编程脉冲引脚往程序存储器中写程序了,如STC单片机,可以直接通过串口来往程序存储器中写程序;现在的单片机内部都带有丰富的RAM,所以也不需要扩展存储器,因此ALE/引脚的用处不大。(3)/VPP(31脚)。:访问外部程序存储器的控制信号。=0时,系统使用外部程序存储器;=1时,系统使用内部程序存储器。VPP:编程电源输入端。在编程期间,在此引脚加入编程电源。小提示小提示现在使用

35、的单片机内部有足够大的ROM,对初学者而言,所写程序不会太复杂,大多只使用内部程序存储器就足够,这时可将直接接到VCC,而第29、30脚就可当它们不存在。PROGEAEAEAEA5.I/O口引脚口引脚8051有四个I/O口,包括P0口、P1口、P2口、P3口(其结构及应用将在模块3中详细叙述)。每个I/O口都对应8个引脚,P0口:P0.0P0.7(39脚32脚);P1口:P1.0P1.7(1脚8脚);P2口:P2.0P2.7(21脚28脚);P3口:P3.0P3.7(10脚17脚),用来连接单片机和外部设备,实现数据的输入/输出。由于工艺及标准化等原因,芯片的引脚数目是有限的。为了满足实际需要

36、,部分I/O口信号引脚(如P3口线)被赋予双重功能,除了作输入/输出口线使用之外,还具有第二功能。P3口的第二功能信号都是单片机的重要控制信号,在实际使用时,如有需要一般先选用第二功能,剩下的才做输入/输出使用。1.4.2 单片机最小系统单片机最小系统单片机最小系统电路是指单片机工作不可或缺的最基本连接电路。单片机最小系统电路框图如图1.9所示,主要包括四部分:单片机芯片、电源电路、时钟振荡电路、复位电路。1.电源电路电源电路没有不需要电源的电路,8051单片机电源是将第40脚接+5V电源,第20脚接地即可。2.时钟振荡电路时钟振荡电路单片机在执行指令时,必须按照一定的时钟节拍工作,那么控制单

37、片机的机器周期、为单片机提供时钟节拍信号的时钟电路就必不可少。芯片生产厂家一般都规定了芯片的晶振频率范围,用户可以自行选择相应的外部晶振。图1.9 单片机最小系统电路框图 1)时钟电路连接方式单片机提供两种振荡电路连接方式:一种是内部时钟方式,另一种是外部时钟方式。(1)内部时钟方式。虽然8051单片机内部有时钟振荡电路,但要形成时钟,必须外接元件,如图1.10所示,外接无源晶振以及电容C1、C2构成并联谐振电路,为内部时钟方式。此时,通过XTAL1、XTAL2外接作为反馈元件的晶体与电容组成的并联谐振回路构成一个自激振荡器,必须和单片机内部时钟电路连接才能输出振荡脉冲。振荡器的频率主要取决于

38、晶体的振荡频率。电容C1、C2可在5pF30pF之间选择,电容的大小对振荡频率有微小的影响,可起到频率微调作用。(2)外部时钟方式。当用户选择有源晶振时,可使用外部时钟方式,如图1.11所示。此时,有源晶振产生的振荡信号直接输入到XTAL2。小提示小提示89C51的额定时钟脉冲频率为024 MHz,89S51的额定时钟脉冲频率为033 MHz,在设计电路时,只要不超过最高频率即可。通常我们会挑选一个常用、容易买到的石英振荡晶体。图1.10 内部时钟方式 图1.11 外部时钟方式 2)CPU时序时钟脉冲是单片机的基本信号,不管采用内部的振荡电路,还是外部的时钟脉冲产生电路提供的时钟脉冲,这个时钟

39、将成为整个单片机系统工作的基础。单片机在执行指令时,通常将一条指令分解为若干个基本的操作,这些基本操作所对应的脉冲信号在时间上的先后次序称为单片机CPU的时序。要理解时序,首先要理解以下常用概念。(1)振荡周期:为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。(2)状态周期:两个振荡周期为一个状态周期,用S表示,它分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑操作,在P2节拍完成内部寄存器之间的传送操作。(3)机器周期:单片机执行一个基本规定操作所需要的时间。一个机器周期包含6个状态周期,用S1、S2、S6表示,共12个节拍,依次可表示为S1P1、S1P2、S2P1、S2P2、S6

40、P2,如图1.12所示。一个机器周期等于12个振荡脉冲周期。(4)指令周期:CPU从读取指令开始至该指令执行完毕所需要的时间(即执行一条指令所需要的时间)。不同的指令所需要的执行时间是不同的。指令周期一般由14个机器周期组成。例如:外接晶振为12 MHz时,单片机的4个时钟周期的值为振荡周期=1/12s;状态周期=1/6s;机器周期=1s;指令周期=14s。图1.12 单片机CPU的时序 3.复位电路复位电路通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。在时钟电路工作后,只要在单片机的RST引脚上加上超过两个机器周期以上的高电平就可以实现复位,这需要靠外部电路来实现。1)复位

41、方式复位分为上电复位、手动复位和混合复位三种方式。(1)上电复位。图1.13(a)所示电路采用上电复位方式。单片机接通电源时产生复位信号,因为在上电瞬间电容两端的电压不能突变,所以RST引脚出现高电平,从而使单片机复位,确定单片机的初始工作状态。由于该电路通过电阻接地,所以电容完成充电后,就通过电阻R1进行放电,调整电阻R1和电容C1的值可以改变充放电时间。适当设置它们的值,即可实现有效复位。上电复位的缺点是每次复位时都必须断开电源。图1.13 复位电路(2)手动复位。图1.13(b)所示电路采用手动复位方式。手动按键产生复位信号,当按键按下时RST引脚接高电平,从而使单片机复位。按键松开后,

42、单片机恢复正常状态。通常在单片机工作中出现了混乱或“死机”状态时,使用手动复位实现单片机的“重启”。(3)混合复位。图1.13(c)所示电路为混合复位方式。将上电复位和手动复位结合到一起便可构成混合复位,通常使用的复位方式就是这种。小提示小提示一般情况下,为了保证系统可靠复位,通常使RST引脚保持10 ms以上的高电平,在设计复位电路时,要合适地设置电阻电容参数。2)复位对于微型计算机而言,复位是一项很重要的归零调整操作,以实现功能复位。当系统复位时,CPU内部寄存器将回归初始状态,程序将从0000H处开始执行。各寄存器初始状态如表1.8所示。4.单片机的最小系统单片机的最小系统图1.14所示

43、电路为单片机的最小系统,其中时钟电路采用内部时钟电路方式,复位电路采用混合复位方式。表表1.8 单片机各寄存器初始状态表单片机各寄存器初始状态表 图1.14 单片机最小系统实例 1.4.3 单片机应用系统单片机应用系统实际的单片机应用系统只有最小系统是不够的。单片机应用系统的基本组成结构如图1.15所示,主要由单片机、晶振和复位电路、输入控制电路、输出显示电路以及外围功能器件等五部分组成。单片机、晶振和复位电路在前面已经介绍过,单片机应用系统中的其他三个部分的主要作用和器件如下。(1)输入控制。输入控制是指在一定要求下,采取何种形式的控制方法来实现单片机不同功能的转换,以及控制指令以何种方式传

44、送到单片机。常用的输入控制方法有独立按键、矩阵键盘、串行通信等方式。图1.15 单片机应用系统的基本组成结构(2)输出显示。输出显示是指单片机将需要显示的数据发送到LED、液晶等显示模块,并控制显示模块按照一定的格式显示的功能。此外,输出对象还有电机、传感器等特殊的功能器件。(3)外围功能器件。单片机只是控制器件,对应于一定的设计要求需加入特定功能的器件。常用的外围器件有A/D、D/A、门电路、特定功能的传感器等。阶段小结阶段小结本模块通过任务实现,简单介绍了单片机应用中涉及的几种数制及相互转换,单片机的基本概念,标准8051单片机的内部结构,单片机的引脚功能和单片机最小系统,从而对单片机的硬

45、件结构建立初步的认识。本模块重点内容:(1)十进制、二进制、十六进制及其相互转换;(2)有关单片机的基本概念;(3)8051单片机存储器结构;(4)8051单片机各引脚功能;(5)单片机最小系统组成;习习 题题 11.选择题选择题(1)在12MHz时钟脉冲的8051单片机系统中,机器周期有 。A.1 ms B.12 s C.1 s D.12 ms(2)在8051芯片里,引脚用来控制使用内部程序存储器(或是外部程序存储器)。A.XTAL1 B.C.D.ALE(3)在DIP40封装的8051芯片里,接地引脚与电源引脚的编号是 。A.1、21 B.11、31 C.20、40 D.19、39EAPSE

46、N(4)单片机中的程序计数器PC用来 。A.存放指令 B.存放正在执行的指令地址C.存放下一条指令地址 D.存放上一条指令地址(5)程序状态字寄存器PSW中的RS0和RS1用来 。A.选择工作寄存器 B.指示复位 C.选择定时器 D.选择工作方式(6)8051单片机的CPU是 位的。A.16 B.8 C.4 D.准162.简答题简答题(1)什么是单片机?(2)单片机主要用在哪些方面?(3)8051单片机有哪些特殊功能寄存器?(4)简述单片机内部PSW寄存器的作用。(5)8051单片机片内数据存储器低128字节划分为哪三个主要的部分?各部分的主要功能是什么?(6)试说明双列直插式8051单片机的

47、各引脚的名称与功能。(7)什么是机器周期?机器周期和晶振频率有何关系?(8)画出8051单片机时钟电路连接方式采用内部时钟方式时的电路。(9)8051单片机是如何进行复位的?常用的复位方法有几种?试画出电路予以说明。(10)单片机最小系统设计应包括哪些内容?试画出一个单片机最小系统电路图。模块模块2 2 单片机开发软件系统单片机开发软件系统 任务任务2 调试最简单的单片机系统点亮程序调试最简单的单片机系统点亮程序 习题习题2任务任务2 调试最简单的单片机系统点亮程序调试最简单的单片机系统点亮程序1.任务目的任务目的通过对任务1中点亮一个发光二极管程序的编译和调试,了解单片机开发软件系统的基本组

48、成、功能及使用方法。2任务要求任务要求建立单片机开发环境,把任务1中给出的源程序编译下载执行,并进行软硬件联调。3单片机开发系统单片机开发系统单片机开发系统包括计算机、单片机在线仿真器、开发工具软件、编程器等。4调试方法与步骤调试方法与步骤(1)启动KEIL C软件,编写(或打开编写好的)程序,并通过KEIL C软件调试,确保没有任何语法错误;(2)用KEIL C生成HEX文件;(3)将单片机应用系统与计算机连接;(4)用STC下载软件将KEIL C生成的HEX文件下载到应用系统中,进行软硬件联调。5任务小结任务小结本任务采用KEIL C作为编程软件,STC作为下载软件,实现程序的软硬件联调,

49、通过本任务的学习可掌握程序的编写和调试的方法。2.1 单片机系统开发软件单片机系统开发软件KEIL C51 学习单片机实在不是件易事,一来要购买高价格的编程器和仿真器,二来要学习编程语言,还有众多种类的单片机供选择,真是件让人头疼的事。在众多单片机中,51架构的芯片风行了很久,学习资料也相对较多,是初学者的较好选择之一。常用的51编程语言有两种,一种是汇编语言,一种是C语言。汇编语言的机器代码生成效率很高,但可读性差,复杂一点的程序就很难读懂。C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开

50、发周期来说,中大型的软件编写用C语言的开发周期通常要比汇编语言小很多。2.1.1 KEIL C51软件基本知识软件基本知识使用C语言肯定要用到C编译器,以便把写好的C程序编译为机器码,这样单片机才能执行编写好的程序。KEIL uVision2是众多单片机应用开发软件中的优秀软件之一,它支持众多不同公司的MCS-51架构的芯片,集编辑、编译、仿真等于一体,同时还支持PLM、汇编和C语言的程序设计。它的界面和常用的微软VC+的界面相似,界面友好,易学易用,在调试程序、软件仿真方面也有很强大的功能。因此,很多开发51应用的工程师或普通的单片机爱好者,都十分喜欢它。要使用KEIL 51软件,必需先安装

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|