单片机技术应用项目化教程(C语言版)(第2版) 课件 任务2.1_第1页
单片机技术应用项目化教程(C语言版)(第2版) 课件 任务2.1_第2页
单片机技术应用项目化教程(C语言版)(第2版) 课件 任务2.1_第3页
单片机技术应用项目化教程(C语言版)(第2版) 课件 任务2.1_第4页
单片机技术应用项目化教程(C语言版)(第2版) 课件 任务2.1_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

项目2霓虹灯控制系统任务2.1LED指示灯明确任务

在日常生活中,经常看到有些电器上带有LED指示灯有节奏的闪动,通过LED灯可以指示电器工作状态。制作一个单片机控制的LED指示灯,实现最简单的亮灭功能。要完成任务,必须知道LED与单片机接口驱动方式,怎么让单片机动起来。任务:设计制作一个LED灯的闪烁控制。一单片机最小系统概念思考:1、人类要活着必须具备什么条件?

2、个人电脑要想能工作必须具备什么条件?人活着躯体

活的血液

跳动的心脏

运行的大脑个人电脑CPU

显示、键盘

电源

存储设备主板知识链接

单片机最小系统,指利用单片机内部资源和最小的外部扩展构成一个真正可用的单片机最小配置系统。思考:那么单片机要能工作必须具备什么最基本的条件呢?回顾:AT89S51单片机引脚(1)电源引脚Vcc(40)、GND(20)(2)并行口

P0.0—P0.7(39-32)P1.0—P1.7(1-8)P2.0—P2.7(21-28)P3.0—P3.7(10-17)(3)时钟电路引脚XTAL1(19)、XTAL2(18);(4)控制信号引脚RST(9)、ALE(30)、PSEN(29)、EA(3l)。1、51单片机(AT89S51)电源采用直流5V电源,范围4-5.5V连接引脚40脚VCC(+5V)、20脚GND通常采用电源芯片7805来实现2时钟电路时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进行的。

在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如30PF。

采用内部振荡器

外部振荡信号可以直接接入XTAL1或XTAL2端。通常XTAL1脚接地,XTAL2脚接片外振荡信号,需接一个5.1K的上拉电阻。

时钟电路选择:因为单片机系统基本都是独立工作系统,大多数情况下选择内部振荡器模式。采用外部振荡器3复位电路思考:当个人电脑或手机,出现死机或是程序跑飞不能正常工作的时候,我们一般都怎么处理?处理之后电脑或手机会怎么工作?复位电路作用:在复位时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。单片机复位要求:单片机在启动或重新运行时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位电路有:上电复位和手动按钮复位。上电复位手动按钮复位

系统复位后PC=0000H,单片机的CPU执行第一条取自程序存储器的0000H开始的单元。大多数SFR都为0。SP和P0—P3除外。不影响RAM。寄存器初始状态值寄存器初始状态值PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0--P30FFHSCON00HIPXXX00000BPCON0XX00000BIE0XX00000BSBUF不定4存储系统配置EA/VPP(31脚)为内外程序存储器选择控制引脚当EA为低电位时,单片机从外部程序存储器取指令;当EA接高电平时,单片机从内部程序存储器取指令。

对于8051/8751系列单片机内部有程序存储器(4KB),一般EA引脚接高电平;对于8031单片机,因为其内部无程序存储器,EA引脚必须接地,以便选择外部程序存储器。注意:EA引脚必须接到高低平或是低电平,绝不能悬空。51系列单片机最小系统图二端口结构AT89S51单片机有4个8位并行I/O端口,称为P0、P1、P2和P3口,每个端口都各有8条I/O口线,每条I/O口线都能独立用作输入或输出。P0口既可作地址/数据总线使用,也可作通用I/O口使用。通用I/O口时P0口作输出口使用时,必须外接上拉电阻,才有高电平输出P0口作输入口读引脚时,应先向锁存器写1,使T2截止。P1口仅作通用I/O口。输出端接有上拉电阻。当作输入口时,必须先向锁存器写“1”,使场效应管T截止。P2口可以做普通IO口和地址线高8位输出。

普通IO口用时,当作输入口时,必须先向锁存器写“1”;地址线高8位用时,只做输出传输地址。P3口可以做普通IO口和第二功能口。

普通IO口用时,当作输入口时,必须先向锁存器写“1”;第二功能口分为串口、中断、计数、读写控制功能。引脚第二功能功能说明P3.0RXD串行口输入P3.1TXD串行口输出P3.2

/INT0外部中断0输入P3.3

/INTI外部中断1输入P3.4T0定时器/计数器0计数输入P3.5T1定时器/计数器1计数输入P3.6

/WR片外RAM写选通信号(输出)P3.7

/RD片外RAM读选通信号(输出)I/O端口P0:作普通I/O口用,需要硬件要加上拉电阻,软件读取时需要先写“1”操作;地址低8位与数据线分时使用。P1:硬件上直接应用,软件上同P0口。P2:普通I/O应用同P0口;地址高8位输出口。P3:普通I/O应用同P0、P1口;第二功能。三发光二极管工作原理

单片机端口输出电流较弱直接驱动LED,发光太暗。所以一般都采用低电平驱动方式,即单片机端口输出0时,LED灯亮,输出1时LED灯灭。单片机不提供能量,提高带负载能力。限流电阻选择510Ω左右。

四、软件设计与编程实现

1、一个LED灯亮2、一个LED灯灭3、一个LED闪烁#include<at89x51.h> //包含头文件sbitLED=P1^0; //定义LED灯控制脚voidmain(void) //主函数{LED=0;//引脚腿低电位有效,小灯亮。}sbit位变量名=特殊功能寄存器名^位的位置;LED=1;

//引脚腿高电位,小灯灭。voidmain(void) //主函数{LED=0;//小灯亮。

LED=1;//小灯灭。}两个问题:①循环亮灭②延时停顿C51常用循环语句三种循环语句while语句、do-while语句和for语句。

(1)while语句格式如下:

while(表达式) 循环体语句;执行过程:在执行while时,先对表达式进行判断,若其值为真(非0),则执行循环体内语句;否则跳过循环体,转而执行该结构后面的语句。在进入循环体之后,每执行完一次循环体语句后,都对判断表达式进行一次计算和判断。当发现判断表达式的值为0时,立即退出循环。特点是先判断条件,后执行循环体。voidmain(void){

while(1)

{LED=0; //小灯亮

LED=1; //小灯灭

}}格式:for(初始化表达式;判断表达式;修正表达式) 循环体语句;执行过程:①首先执行表达式1,整个循序只执行一次。②执行表达式2,若表达式2的值为真,则执行循环体中语句,然后执行表达式3的操作,如果表达式2为假,退出for循环。③执行表达式3后,转到执行第②步。(2)for语句

在一个循环的循环体内又包含另外一个完整的循环称为循环嵌套。循环嵌套可以多层,但是每一层在逻辑上必须是完整的。各层循环变量不能相同,不能交叉,只能从内层循环到外层循环。

unsignedchari;//定义局部变量for(i=0;i<200;i++);unsignedchari,j;//定义局部变量for(i=0;i<200;

温馨提示

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

评论

0/150

提交评论