任务1:点亮你的LED-初识单片机_第1页
任务1:点亮你的LED-初识单片机_第2页
任务1:点亮你的LED-初识单片机_第3页
任务1:点亮你的LED-初识单片机_第4页
任务1:点亮你的LED-初识单片机_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、任务1: 点亮你的LED-初识单片机如何实现软件设计硬件电路设计功能要求引出问题预备知识 电平特性 2进制与16进制的表示及转换 二进制数的逻辑运算 8051单片机介绍 C51基础知识关于电平特性数字电路中只有两种电平:高和低(本课程中)定义单片机为TTL电平 高 +5V 低 0VRS232电平:计算机的串口 高 -12V 低+12V 所以计算机与单片机之间通讯时需要加电平转换芯片max232(实验板上左下角)。二进制数字电路中的两种电平特性决定了它0 0 6 1101 171112 10810003 11910014 1001010105 10111 1011十六进制十进制中的0-15分别表

2、示为十六进制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F熟练掌握二进制与十六进制之间的转换。 规律:一般把四个二进制数放在一起转换成一个十六进制数,转换时先把二进制数转换成十进制数,再把十进制数转换成十六进制数。如:0001B - 1 - 1H B表示为二进制,H为十六进制 1001B - 9 - 9H 1010B - 10 - AH 0010 1100 - 44 - 2CH 各种进位制的对应关系 十进制二进制十六进制十进制二进制十六进制000910019111101010A2102111011B3113121100C41004131101D51015141110E6110

3、6151111F71117161000010810008 二进制数的逻辑运算 1. “与”运算 “与”运算是实现“有0必0”这种逻辑关系的一种运算。 运算符为“ ”, 其运算规则如下:00=0, 01=10=0, 11=1 2. “或”运算 “或”运算是实现“有1必1”这种逻辑关系的一种运算, 其运算符为“+”。 “或”运算规则如下:0+0=0, 0+1=1+0=1, 1+1=1 3. “非”运算 “非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作 。 其运算规则如下: A 4. “异或”运算 “异或”运算是实现“相同为0,相异为1 ”这种逻辑的一种运算, 运算符为“”。其运

4、算规则是: 设计一个单片机最小控制系统 设计一个彩灯点亮的单片机控制系统,即在单片机的P2端口上接8个发光二极管,使其点亮。功能要求系统方案设计硬件方案确定总设计电路原理图(SCH)硬件电路设计系统方案设计 图1.1 LED彩灯闪烁控制系统组成方框图 单 片 机LED彩灯电路复位电路时钟电路电源电路硬件方案确定电源选择单片机复位电路硬件方案时钟电路设计接口电路设计 常用单片机系列目前单片机产品有60多个系列, 1000多种型号, 流行体系结构有30多个系列, 门类齐全, 能满足各种应用需求。 单片机的类型众多的单片机可以从不同角度进行分类。 按单片机数据总线的位数, 可将单片机分为4位、 8位

5、、 16位、 32位。单片机还可以从编程方式上分为OTPROM型、 Flash型、 ISP型、 IAP型及JTAG接口型; 从制造工艺技术上可分为普通MOS型、 CMOS型、 HMOS型、 CHMOS型和HCMOS型; 从功耗上可分为普通型和低功耗型; 从性价比上可分为普通型和经济型等。硬件方案确定 单片机的选择目前流行的51内核的8位单片机目前, 在国内市场上流行的单片机不下十几种, 占据主导地位的仍是51内核及其兼容单片机。 这些单片机和MCS 51单片机的指令完全兼容, 资料和开发设备比较齐全, 价格也比较便宜。 另外, 从学习的角度来看, 有了51单片机的基础后, 再学习其他单片机时则

6、非常容易。 1. MCS 51系列单片机MCS 51系列单片机是Intel公司生产的功能比较强、 价格比较低, 较早应用的单片机, 目前仍被广泛应用。2. ATMEL公司的89系列单片机美国ATMEL公司的89系列单片机是以8051核构成的, 它和8051系列单片机是兼容的系列。MCS-51系列单片机配置一览表系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntel51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15Intel52子系列803280C32805280C52(

7、8K字节)875287C52(8K字节)256字节3x164x8位16ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20条引脚DIP封装)1282151589C51(4K)/89C52(8K)(40条引脚DIP封装)128/2562/33215/6单片机的基本概念-单片机硬件结构时钟电路CPUROMRAMT0 T1中断系统串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定时计数器结构框图中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。内

8、部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/计数器,实现定时或计数功能。并行I/O口:4个8位的I/O口P0、P1、P2、P3。串行口:一个全双工串行口。中断控制系统:5个中断源(外中断2个,定时/计数中断2 个,串行中断1个)时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ8051单片机的基本组成中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/

9、计数器,实现定时或计数功能。并行I/O口:4个8位的I/O口P0、P1、P2、P3。串行口:一个全双工串行口。中断控制系统:5个中断源(外中断2个,定时/计数中断2 个,串行中断1个)时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ硬件方案确定 单片机的选择单片机内部资源的三大指标: 1.FLASH (程序存储空间) 2.RAM(内存) 3.SFR(特殊功能寄存器)单片机的选择STC89C52: 8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源。 P89V51RD+: 64KFLASH、1024字节RAM、32个IO口、3个定时器、1个UART

10、、8个中断源、1个SPI、PWM、并且支持与KEIL连机进行在线仿真。单片机最小系统三要素:电源电路、复位电路、晶振电路。特点:单片机可以运行程序,是单片机控制系统的核心。硬件方案确定 电源选择依据 AT89S52单片机的主要电源特性:电压操作范围为:4.05.5V电源确定 选择+5V的电源硬件方案确定 时钟电路(1)单片机的连接引脚XTAL1、XTAL2 ;连接方法内部时钟方式 外部时钟方式 内部机器频率F=fosc/12C1和C2的一般取值2030pF陶瓷电容硬件方案确定 复位电路(1)复位电路设计单片机的连接引脚RST ;连接电路硬件方案确定 复位电路(2)1、复位后内部寄存器状态 PC

11、=0000H、SP=07H、P0P3=0FFH、其他均为00H。 2、电路参数选择依据 RST引脚出现的高电平持续两个机器周期以上的时间RC电路的充电时间为:=R*C电路参数 R、C器件值得选择R*C 2*TCN (TCN为机器周期)点亮一个LED发光二极管发光二极管(LED):通常红色贴片LED:电压1.6V2.4V,电流2到20mA,在2到5mA亮度有所变化,5mA以上亮度基本无变化。(5-2)/r= 2ma (5-2)/R = 20ma 150 - 1.5K单片机(MCU),最小控制单元。首先,我们用单片机来控制一个灯的亮灭。硬件方案确定 LED彩灯接口电路设计拉电流 高电平输出时,一般

12、是对负载提供电流,其提供电流的数值叫“拉电流”; (5V-2V)/10mA=300电阻的选择 灌电流 低电平输出时,一般是要吸收负载的电流,其吸收电流的数值叫“灌电流”; 硬件方案确定 系统电路图单片机系统的PROTUES交互式仿真实时显示系统输出结果 实时显示元器件 引脚电平软件设计为什么要使用C语言?编程实现:4772+4071=?汇编语言:(12A4H+0FE7H=?)MOV A,#0A4H; 被加数低8位AADD A,#0E7H; 加数低8位E7H与之相加,A=8BH,CY=1MOV 40H,A; A(40H),存低8位结果MOV A,#12H; 被加数高8位AADDCADD A,#0

13、FH; 加数高8位+A+CY,A=22HMOV 41H,A; 存高8位运算结果C语言:unsigned int ans = 4772+4071;易于编写、调试、理解C语言VS汇编语言比较项目C语言汇编语言可读性高低硬件涉及度低高可移植性高低复杂算法容易难开发效率高低运行效率低高学习难度低高第一个程序/*ex101.c-点亮LED. */ /注释#include /预处理命令(头文件包含) void main( ) /程序入口(主函数) /函数体开始 P2=0 x00; /功能语句 /函数体结束注释 /* */或/ C程序中的“/* */”或/称为注释,是程序编写者给程序阅读者留下的一些说明(注

14、释),以帮助阅读者理解程序。编译器不对注释进行编译,只将它们当作空白看待。/* */:对C程序的任何一部分作为注释,从/*开始后,一直到*/为止中间的任何内容都为注释/:语句注释,只对本行有效库函数与头文件包含命令include库函数:系统提供的标准函数,程序可直接使用, 使用库函数必须将其有关说明信息写入程序。为了用户方便,系统定义库函数时,把一类相关库函数的说明信息,分别写在一些文件中。本例中使用了51单片机I/O口 ,其有关说明信息写在文件reg51.h中。所以在程序的开始加入了#include “头文件包含”(命令include):指一个文件将另一个文件的内容全部包含进来。头文件一般在

15、C:KELLC51INC下,INC文件夹里面有不少头文件,并且里面还有很多以公司分类的文件夹,里面也都是相关产品的头文件。在单片机中用C语言编程时,往往第一行就是头文件或者其它的自定义头文件。#include的预处理命令C-51的包含的头文件通常有:reg51.h reg52.h math.h intrins.h ctype.h stdio.h stdlib.h absacc.h常用有:reg51.h reg52.h (定义特殊功能寄存器和位寄存器); math.h (定义常用数学运算); main函数任何C程序都必须有且只能有一个主函数main(),它是程序的入口,也是程序的出口。其中,ma

16、in是函数名,()内可以包含一些参数; 的内容称为函数体,其包含若干条C程序语句;不同语句之间用分号分隔;一般情况下,每个程序都由一至多个函数组成;表示main函数没有返回值函数名函数体语句void main( ) P1=0 x00; 演示ex101语句 P2=0 x00;C语言的主函数体由一些语句组成。每个语句由一个分号结束。如本例中,主函数的一个语句:P2=0 x00;说明:P2是单片机的I/ O口,该语句功能是将LED点亮(共阳极);C基本语句 C语言的语句可分为以下四类: 表达式语句 空语句 复合语句 流程控制语句表达式语句就是一个表达式加上一个分号。其一般形式如下: 表达式;执行表达

17、式语句就是计算表达式的值 如:a+; x=1; 2. 空语句用一个分号表示,其一般形式为: ;程序执行空语句时需要占用一条指令的执行时间,但是什么也不做。在C51程序中常常把空语句作为循环体,用于消耗CPU时间等待事件发生的场合。 复合语句用一对花括号 将多条语句组合在一起,在语法上相当于一条语句。组合在一起形成具有一定功能的模块。1、一般形式: 内部数据说明; 语句1; 语句n; 注意:(1)在复合语句中说明的变量,是局部变量, 仅在复合语句中有效。(2)复合语句的 之后,不能有分号。(3)复合语句之间用“”分隔,内部各语句以;结束。(4) 复合语句允许嵌套。即中或嵌套。复合语句(程序块)

18、示例【例3.3】main( ) int x=1; int x=2; int x=3; printf(“x=%d”, x); printf(“x=%d”, x); printf(“x=%d”, x);C语言程序结构小结:一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函数main(),程序的执行总是从主函数开始,调用其他函数后返回主函数main(),不管函数的排列顺序如何,最后在主函数中结束整个程序。C语言程序中可以有预处理命令,预处理命令通常放在源程序的最前面。C语言程序使用“;”作为语句的结束符,一条语句可以多行书写,也可以一行书写多条语句。C语言程序设计基本结构:/*xxxx.c 文件说明. */#include /预处理命令 void main( ) /程序入口(主函数) /函数体开始 ; /功能语句 /函数体结束认识C语言结构化语言丰富的数据类型便于维护管理与汇编语言相比,C语言的优点如下:不要求编程者详细了解单片机的指令系统,但需了解单片机的存储器结构;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;结构清晰,程序可读

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论