汽车单片机技术 课件 项目 1 汽车转向灯的控制(IO输出)_第1页
汽车单片机技术 课件 项目 1 汽车转向灯的控制(IO输出)_第2页
汽车单片机技术 课件 项目 1 汽车转向灯的控制(IO输出)_第3页
汽车单片机技术 课件 项目 1 汽车转向灯的控制(IO输出)_第4页
汽车单片机技术 课件 项目 1 汽车转向灯的控制(IO输出)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

认识单片机本次课主要内容:1.基本任务(1)单片机是什么?(2)单片机的应用有哪些?2.进阶任务(3)单片机有哪些不同类型和型号?(1)会用Keiluvision4新建一个工程。(2)会用Proteus画最简单的仿真图。认识单片机单片机实质上是一个芯片,单片机芯片上主要集成了如下部件:中央处理器CPU;数据存储器RAM;程序存储器ROM;定时器/计数器;中断系统;输入/输出接口电路。第一阶段(1974-1976年)为单片机初级阶段由于受工艺及集成度的限制,单片机采用双片形式,且功能比较简单。第二阶段(1976-1978年)为低性能单片机阶段单片机采用单芯片形式,是“小而全”。第三阶段(1978-1982年)为高性能单片机阶段是单片机普及阶段,如:MCS-51系列单片机第四阶段(1982年以后)为16位单片机阶段是16位CPU,如:MCS-96系列单片机单片机的发展

由于单片机芯片上集成了CPU、存储器、输入/输出部件和时钟电路等。因此它具有如下特点。体积小、重量轻,价格低、功能强,电源单一、功耗低,可靠性高、抗干扰能力强;使用方便灵活、通用性强;目前大多数单片机采用哈佛(Harvard)结构体系;突出控制功能的指令系统;较低的处理速度和较小的存储容量。单片机的特点单片机的应用单片机主要应用在以下几个方面:家用电器智能卡智能仪器仪表网络与通信工业控制单片机的分类单片机可分为通用型单片机和专用型单片机两大类。通用型单片机是把可开发资源全部提供给使用者的微控制器。我们通常所说的单片机,即指通用型单片机。专用型单片机则是为过程控制、参数检测、信号处理等方面的特殊需要而设计的单片机。按片内不同程序存储器的配置来分片内带ROM、片内带EPROM型、片内无ROM按片内不同容量的存储器配置来分51子系列型(是基本型)、52子系列型(是增强型)按芯片的半导体制造工艺上的不同来分HMOS工艺型、CHMOS工艺型(用“C”表示)按所能适应的环境温度范围,可划分为三个等级:0℃~70℃民用级、-40℃~+85℃工业级、-65℃~+125℃军用级。MCS-51系列单片机MCS-51是美国Intel公司的8位单片机系列,也是我国目前应用最为广泛的一种单片机系列。8051/80C51是整个MCS-51系列单片机的核心。51系列单片机源于Intel公司的MCS-51系列,在Intel公司将MCS-51系列单片机实行技术开放政策之后,许多公司都以MCS-51中的基础结构8051为基核推出了许多各具特色、具有优异性能的单片机,如Philips、Atmel等。这样,把这些厂家以8051为基核推出的各种型号的兼容型单片机统称为51系列单片机。AT89系列单片机在MCS-51系列的基础上,Atmel公司开发的AT89系列单片机,具有较低廉的价格和独特的程序存储器(快闪存储器)。Flash程序存储器可以用电擦除方式瞬间擦除、改写,写入单片机内的程序还可以进行加密。时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器单片机的硬件结构中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。MCS-51的CPU能处理8位二进制数或代码。内部数据存储器(内部RAM)芯片中共有256个RAM单元前128单元,作为供用户使用的寄存器和用于存放可读写的数据;后128单元被专用寄存器占用。通常所说的内部数据存储器就是指前128单元,简称内部RAM。内部程序存储器(内部ROM)芯片中共有4KB个ROM单元。用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。定时/计数器两个16位的定时/计数器。实现定时或计数功能,并以其定时或计数结果对计算机进行控制。并行I/O口4个8位的I/O口(P0、P1、P2、P3)实现数据的并行输入/输出串行口一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。中断控制系统5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。KeilC51是德国Keil软件公司开发的基于8051内核的微控制器软件开发平台。KeilC51是51系列单片机C语言软件开发系统,是目前开发8051内核单片机的主流工具。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。KeilC51具有集成开发环境,可以完成从工程建立和管理、编译、连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。

认识KEILC51用KEILuvision4新建一个工程建立第一个C程序项目建立工程文件建立源文件加载源文件设置工程的配置参数进行编译和连接进入调试模式全速运行程序PROTEUS简介PROTEUS是英国LabcenterElectronics公司开发的多功能EDA软件。PROTEUS不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。它实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。用PROTEUS画仿真图新建设计文件保存设计文件选取元器件放置元器件

编辑元器件放置终端连线属性设置电气规则检测

点亮一个LED本次课主要内容点亮一个LED;会用Keilμvision4新建一个工程;能编写点亮一个LED的程序段;会用Proteus画<单片机控制一个LED>的仿真图;能进行仿真调试和实物调试。点亮一个发光二极管使用AT89S52单片机,P1.0引脚接发光二极管(LED)的阴极,通过C语言程序控制,从P1.0引脚输出低电平,使发光二极管点亮。PROTEUS设计点亮一个LED的电路图新建设计文件保存设计文件选取元器件放置元器件

编辑元器件放置终端连线属性设置电气规则检测

#include<AT89X52.H>//包含AT89X52.H头文件sbitLED=P1^0;//定义LED是P1.0引脚对应的变量名voidmain(void){LED=0;//P1.0=0,LED点亮while(1);}点亮一个LED程序编写进阶任务:修改程序,点亮LED1,3,5,7,并修改proteus仿真图,完成仿真调试,同时,完成实物板调试。LED闪烁控制本次课主要内容<开关控制LED点亮>程序编写,proteus仿真,实物板调试;<LED闪烁>编程,仿真调试,实物调试;Keil调试的使用;进阶任务:让LED按照0.5s或1s的频率闪烁.单片机最小系统只是单片机能满足工作的最低要求,它不能对外完成控制任务,实现人机对话。

单片机最小系统应用—开关控制LED点亮电路设计程序设计

LED闪烁-编程思路1使用while来实现While(表达式)

{语句(内部也可为空)}特点:先判断表达式,后执行语句。原则:若表达式不是0,即为真,那么执行语句。否则,跳出while语句。LED闪烁-编程思路2分析软件实现思路:点亮发光二极管延时(延时子程序)关闭发光二极管延时重复上述动作(循环)电路设计和前面一样#include<AT89X52.h>sbitLED=P1^0;voidDelay(){unsignedchari,j;for(i=0;i<255;i++)for(j=0;j<255;j++);}voidmain(){while(1){LED=0;Delay();LED=1;Delay();}}for(表达式1;表达式2;表达式3)

{语句(内部可为空)}执行过程:1.求解一次表达式1.2.求解表达式2,若其值为真(非0即为真),则执行for中语句。然后执行第3步。否则结束for语句,直接跳出,不再执行第3步。3.求解表达式3.4.跳到第2步重复执行。带参数延时函数的编写思考把Delay()延时函数放在main函数后面如何处理?以Delay()延时函数为例,不带参数的子程序与带参数的子程序分别应该怎么写?提示:在程序开头加入说明行(即子程序头加分号),既定义在前,使用再后。LED循环点亮控制前期回顾:1.LED以1s的频率闪烁,用while来控制时间怎么编写程序?用延时函数来控制时间怎么编写程序?2.能自己编写一个延时1s的子程序供以后使用(延时子程序用for来实现,请不带参数)。3.能自己编写一个延时500ms的子程序供以后使用(延时子程序用for来实现,请带参数)。4.延时函数放在main函数之前和之后都可以吗?5.LED以1s或0.5s闪烁,你还有其他编程方法吗?本节课重点:1.直接调用C51库函数,编写LED循环点亮的程序。2.使用左移运算符<<,编写LED循环点亮的程序。3.能让每个LED灯循环点亮500ms。左移运算符<<它用来将一个数的各二进位按指定的数值全部左移n位。<<是将高位左移,溢出舍弃,低位以0补充。举例:a=0xA5;//0xA5,转换成二进制数为:10100101b=a<<3;//b的值等于a向左移动3位,b现在值是00101000即0x28使用左移运算符<<,编写LED循环点亮程序关于C51库函数“_crol_”的说明:1.#include<intrins.h>需要包含这个头文件,才能调用该函数2._crol_是循环左移函数unsignedchar_crol_(unsignedcharc,unsignedcharb);函数有返回值c循环往左移动b位举例,a=0xA5;//0xA5,转换成二进制数为:10100101b=_crol_(a,3);//b的值等于a循环向左移动3位,b现在值是0x2D#include<AT89X52.H>#include<intrins.h>unsignedchartemp;//定义一个全局变量voiddelay(unsignedintz){ unsignedinti; uns

温馨提示

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

评论

0/150

提交评论