《单片机应用技术项目教程(C语言版)(第三版)完教学课件完整版电子教案.ppt》由会员分享,可在线阅读,更多相关《单片机应用技术项目教程(C语言版)(第三版)完教学课件完整版电子教案.ppt(455页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机单片机应用技术应用技术项目项目项目项目11控制一个控制一个控制一个控制一个LEDLED项目项目1控制一个控制一个LED单片机单片机应用技术应用技术项目项目1控制一个控制一个LED促成目标促成目标n n知道知道AT89S52AT89S52单片机单片机结构和引脚功能结构和引脚功能;n n会会AT89S52AT89S52单片机单片机最最小系统电路设计;小系统电路设计;n n知道知道C C语言基本构成语言基本构成和基本语句;和基本语句;n n会利用单片机会利用单片机I/OI/O口口实现点亮一个实现点亮一个LEDLED和和控制控制LEDLED闪烁。闪烁。终极目标终极目标n n能完成单片机最小能完成
2、单片机最小系统和输出电路设系统和输出电路设计与制作计与制作;n n能应用能应用C C语言程序语言程序完成单片机输入输完成单片机输入输出控制,实现对出控制,实现对LEDLED控制的设计、控制的设计、运行及调试。运行及调试。教学目标教学目标项目项目1控制一个控制一个LED单片机单片机应用技术应用技术任务任务1控制一个控制一个LED的第一个的第一个Proteus仿真电路仿真电路n任务描述任务描述AT89S52单片机单片机P1.0引引脚接发光二极管脚接发光二极管LED的的阴极;阴极;通过通过C语言程序控制,语言程序控制,从从P1.0引脚上输出低电引脚上输出低电平,使发光二极管平,使发光二极管LED点亮
3、。点亮。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术认识认识PROTEUSnProteus 8.6 Professional是英国Labcenter Electronics公司开发的多功能EDA软件。nPROTEUS不仅是模拟电路、数字电路、模数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。nPROTEUS实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术单片机控制一个单片机控制一个LED电路分析电路
4、分析n按照任务描述,点亮一个LED电路是由AT89S52单片机最小系统最小系统和1个LED电路构成。nAT89S52单片机是美国ATMEL公司生产的低电压、高性能8位单片机,具有丰富的内部资源,使用AT89S52单片机无须外部存储器。nAT89S52单片机的P1.0引脚接LED的阴极,LED的阳极通过220限流电阻后连接到5V电源上,限流电阻在这里起到了限流的作用,使通过LED的电流被限制在十几个毫安左右。n根据二极管单向导电性,当单片机的P1.0引脚输出低电平时,由于P1.0引脚接LED的阴极,使得LED点亮。当单片机的P1.0引脚输出高电平时,使得LED熄灭。简而言之,LED加正向电压点亮
5、,反之熄灭。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术任务实施任务实施1.新建Proteus工程n在设计原理图之前,必须新建一个Proteus工程。由于本书没有涉及PCB绘制内容,在这里新建一个带有原理图和无PCB的Proteus工程。2.设置图纸n设置图纸尺寸、设置网格。3.添加元器件n添加AT89C52、CRYSTAL(晶振)、CAP(电容)、CAP-ELEC(电解电容)、RES(电阻)、LED-RED等元器件。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术任务实施任务实施4.绘制电路图放置元器件调整元器件位置放置终端连线属性设置电气规则检测项目项目1控制一
6、个控制一个LED单片机单片机应用技术应用技术认识单片机认识单片机n单片机实质上是一个芯片,单片机实质上是一个芯片,单片机单片机芯片上主要芯片上主要集成了集成了如下如下部件部件:1.中央处理器中央处理器CPU;2.数据存储器数据存储器RAM;3.程序存储器程序存储器ROM;4.定时器定时器/计数器计数器;5.中断系统;中断系统;6.输入输入/输出接口电路输出接口电路。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术单片机的发展单片机的发展1.第一阶段(第一阶段(1974-1976年)为单片机初级阶段年)为单片机初级阶段n由于受工艺及集成度的限制,单片机采用双片形式,由于受工艺及集成度
7、的限制,单片机采用双片形式,且功能比较简单。且功能比较简单。2.第二阶段(第二阶段(1976-1978年)为低性能单片机阶段年)为低性能单片机阶段n单片机采用单芯片形式,是单片机采用单芯片形式,是“小而全小而全”。3.第三阶段(第三阶段(1978-1982年)为高性能单片机阶段年)为高性能单片机阶段n是单片机普及阶段,如:是单片机普及阶段,如:MCS-51系列单片机系列单片机4.第四阶段(第四阶段(1982年以后)为年以后)为16位单片机阶段位单片机阶段n是是16位位CPU,如:如:MCS-96系列单片机系列单片机项目项目1控制一个控制一个LED单片机单片机应用技术应用技术单片机的特点单片机的
8、特点n由于单片机芯片上集成了由于单片机芯片上集成了CPU、存储器、输入、存储器、输入/输输出部件和时钟电路等。因此它具有如下特点。出部件和时钟电路等。因此它具有如下特点。1.体积小、重量轻,价格低、功能强,电源单一、功耗体积小、重量轻,价格低、功能强,电源单一、功耗低,可靠性高、抗干扰能力强;低,可靠性高、抗干扰能力强;2.使用方便灵活、通用性强;使用方便灵活、通用性强;3.目前大多数单片机采用哈佛(目前大多数单片机采用哈佛(Harvard)结构体系;)结构体系;4.突出控制功能的指令系统;突出控制功能的指令系统;5.较低的处理速度和较小的存储容量。较低的处理速度和较小的存储容量。项目项目1控
9、制一个控制一个LED单片机单片机应用技术应用技术单片机的应用单片机的应用n单片机主要应用在以下几个方面:单片机主要应用在以下几个方面:n家用电器家用电器n智能卡智能卡n智能仪器仪表智能仪器仪表n网络与通信网络与通信n工业控制工业控制项目项目1控制一个控制一个LED单片机单片机应用技术应用技术单片机的分类单片机的分类n单片机可分为通用型单片机和专用型单片机两大单片机可分为通用型单片机和专用型单片机两大类。类。1.1.通用型单片机通用型单片机是把可开发资源全部提供给使用者的微是把可开发资源全部提供给使用者的微控制器。控制器。n这就是我们通常所说的单片机,即指通用型单片机这就是我们通常所说的单片机,
10、即指通用型单片机2.2.专用型单片机专用型单片机则是为过程控制、参数检测、信号处理则是为过程控制、参数检测、信号处理等方面的特殊需要而设计的单片机。等方面的特殊需要而设计的单片机。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术51系列单片机系列单片机n5151系列单片机有系列单片机有5151子系列型和子系列型和5252子系列型子系列型n5151子系列是基本型产品子系列是基本型产品n片内带有片内带有4KBROM/EPROM4KBROM/EPROM(80318031、80C3180C31除外)、除外)、128BRAM128BRAM、2 2个个1616位定时器位定时器/计数器、计数器、
11、5 5个中断源等。个中断源等。n5252子系列则是增强型产品子系列则是增强型产品n片内带有片内带有8KBROM/EPROM8KBROM/EPROM(80328032、80C3280C32除外)、除外)、256BRAM256BRAM、3 3个个1616位定时器位定时器/计数器、计数器、6 6个中断源等。个中断源等。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术51系列系列单片机一览表单片机一览表项目项目1控制一个控制一个LED单片机单片机应用技术应用技术AT89系列单片机系列单片机n在在MCS-51MCS-51系列的基础上,系列的基础上,AtmelAtmel公司开发的公司开发的AT
12、89AT89系列单片机,具有较系列单片机,具有较低廉的价格和独特的程序存储器(快闪存储器)。低廉的价格和独特的程序存储器(快闪存储器)。nFlash程序存储器可以用电擦除方式瞬间擦除、改写程序存储器可以用电擦除方式瞬间擦除、改写,写入单片机内的程写入单片机内的程序还可以进行加密。序还可以进行加密。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术AT89S52单片机结构单片机结构1.一个一个8位位CPU;2.一个片内振荡器及时钟电路;一个片内振荡器及时钟电路;3.8K字节可重复擦写的字节可重复擦写的Flash闪速存储器闪速存储器4.三级加密程序存储器;三级加密程序存储器;5.2568
13、字节内部字节内部RAM;6.3个个16位定时器位定时器/计数器;计数器;7.32条可编程的条可编程的I/O线(四个线(四个8位并行位并行I/O端口);端口);8.一个可编程全双工串行口;一个可编程全双工串行口;9.具有具有6个中断源、两个优先级嵌套中断结构。个中断源、两个优先级嵌套中断结构。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术AT89S52引脚功能引脚功能1.电源线:电源线:VCC(+5V)、VSS(地地)2.振荡电路:振荡电路:XTAL1、XTAL23.复位引脚:复位引脚:RST4.并行口:并行口:P0、P1、P2、P35.EA:访问程序存储控制信号:访问程序存储控制
14、信号6.PSEN:外部:外部ROM读选通信号读选通信号7.ALE:地址锁存控制信号:地址锁存控制信号8.P3口线的第二功能口线的第二功能项目项目1控制一个控制一个LED单片机单片机应用技术应用技术AT89S52引脚功能引脚功能n电源引脚电源引脚(2根根)nVCC(40脚脚):电源端,接:电源端,接+5V电源。电源。nVSS(20脚脚):接地端。:接地端。n时钟引脚时钟引脚(2根根)nXTAL1(19脚脚):接外部晶振和微调电容的一端。:接外部晶振和微调电容的一端。nXTAL2(18脚脚):接外部晶振和微调电容的另一端。:接外部晶振和微调电容的另一端。项目项目1控制一个控制一个LED单片机单片机
15、应用技术应用技术STC89C52引脚功能引脚功能n控制引脚控制引脚(4根根)1.RST/VPD(9脚脚):复位信号:复位信号n当输入的复位信号延续两个机器周期以上的高电平时即为有效,用当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。以完成单片机的复位初始化操作。2.ALE/PROG(30脚脚):地址锁存控制信号:地址锁存控制信号n系统扩展时,系统扩展时,ALE用于控制把用于控制把P0口输出的低口输出的低8位地址锁存起来,以位地址锁存起来,以实现低位地址和数据的隔离。实现低位地址和数据的隔离。3.EA/VPP(31脚脚):访问程序存储控制信号:访问程序存储
16、控制信号n当信号为低电平时,对当信号为低电平时,对ROM的读操作限定在外部程序存储器;的读操作限定在外部程序存储器;n当信号为高电平时,对当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并的读操作是从内部程序存储器开始,并可延至外部程序存储器。可延至外部程序存储器。4.PSEN(29脚脚):片外:片外ROM读选通信号端读选通信号端n读片外读片外ROM时,时,PSEN为低电平为低电平有效有效,实现对片外,实现对片外ROM的读操作。的读操作。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术AT89S52引脚功能引脚功能nP0口(引脚口(引脚32-39)普通)普通I/O口口nP
17、1口(引脚口(引脚1-8)普通普通I/O口口nP2口(引脚口(引脚21-28)普通)普通I/O口口nP3口(引脚口(引脚10-17)普通)普通I/O口,或作为其他第二口,或作为其他第二功能口功能口项目项目1控制一个控制一个LED单片机单片机应用技术应用技术P3口各引脚与第二功能表口各引脚与第二功能表引脚 第二功能 功能说明 P3.0RXD串行口输入P3.1TXD串行口输出P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T0定时器/计数器0计数输入P3.5T1定时器/计数器1计数输入P3.6WR片外RAM写选通信号(输出)P3.7RD片外RAM读选通信号(输出)项目项目1控制
18、一个控制一个LED单片机单片机应用技术应用技术任务任务2用用KeilC51设计第一个程序控制一个设计第一个程序控制一个LEDn任务描述任务描述使用使用KeilC51,设计一,设计一个个C语言程序,控制语言程序,控制AT89S52单片机单片机P1.0引引脚输出一个低电平,使脚输出一个低电平,使LED点亮点亮。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术认识认识KEILC51nKeil C51 是德国Keil软件公司开发的基于8051 内核的微控制器软件开发平台。nKeil C51 是51系列单片机C语言软件开发系统,是目前开发8051 内核单片机的主流工具。nKeil C51软件
19、提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。nKeil C51 具有集成开发环境,可以完成从工程建立和管理、编译、连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术单片机控制一个单片机控制一个LED实现实现分析分析nP1.0引脚接发光二极管(LED)的阴极,P1.0引脚输出低电平时,发光二极管点亮。问题:为什么P1.0引脚输出低电平,发光二极管点亮?n通过程序控制,使P1.0引脚输出低电平,使发光二极管点亮。问题:程序怎么使P1口的引脚输出低电平?在下面我们可以找到答案。项目项目1控制一个控制一个LED
20、单片机单片机应用技术应用技术单片机控制一个单片机控制一个LED实现实现分析分析n在图1-1中,AT89S52单片机的P1.0引脚接LED的阴极,LED的阳极通过220限流电阻后连接到5V电源上。n当单片机的P1.0引脚输出低电平时,LED点亮。sbit LED=P10;/定义LED为P1.0引脚LED=0;/P1.0引脚输出低电平,LED点亮n当单片机的P1.0引脚输出高电平时,LED熄灭。sbit LED=P10;/定义LED为P1.0引脚LED=1;/P1.0引脚输出高电平,LED熄灭项目项目1控制一个控制一个LED单片机单片机应用技术应用技术任务实施任务实施1.建立第一个Keil C51
21、工程项目n新建工程并保存在“任务2 控制一个LED”的文件夹中;n在CPU类型中,单击左侧列表框中“Atmel”项前面的“+”号,展开该层,单击选中列表中的“AT89S52”;n不添加启动文件。2.建立“点亮一个LED”源文件n“点亮一个LED.c”与工程文件放在同一文件夹中。3.添加源文件到工程项目文件中n将“点亮一个LED.c”添加到工程项目中项目项目1控制一个控制一个LED单片机单片机应用技术应用技术任务实施任务实施n“点亮一个LED”源文件#include /包含AT89X52.H头文件sbit LED=P10;/定义LED为P1.0引脚void main(void)LED=0;/P1
22、.0引脚输出低电平点亮LED while(1);项目项目1控制一个控制一个LED单片机单片机应用技术应用技术任务实施任务实施4.工程配置与编译n在“Target(目标)”标签页的晶振频率栏中,建议初学者修改成12MHz,因为12MHz方便计算指令时间;n在“Output”标签页中,选中“Greate HEX File(生成HEX文件)”选择框,使编译器输出单片机需要的HEX文件;n其余采用默认配置。5.用Proteus仿真运行调试n加载“控制一个LED.hex”目标代码文件n仿真运行调试项目项目1控制一个控制一个LED单片机单片机应用技术应用技术单片机最小系统单片机最小系统n单片机最小系统只是
23、单片机能满足工作的最低要求,单片机最小系统只是单片机能满足工作的最低要求,它不能对外完成控制任务,不能实现人机对话。它不能对外完成控制任务,不能实现人机对话。n要进行人工对话还要一些输入、输出部件,作控制时还要进行人工对话还要一些输入、输出部件,作控制时还要有执行部件。要有执行部件。n常见的输入部件有开关、按钮、键盘等,输出部件有指常见的输入部件有开关、按钮、键盘等,输出部件有指示灯示灯LED、数码管等,执行部件有继电器、电磁阀等。、数码管等,执行部件有继电器、电磁阀等。n一般来说,单片机最小系统主要包括单片机、晶振一般来说,单片机最小系统主要包括单片机、晶振电路、复位电路和电源电路、复位电路
24、和电源4个部分。个部分。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术时钟电路时钟电路n时时钟钟电电路路为为单单片片机机产产生生时时钟钟脉冲序列。脉冲序列。n系系统统允允许许的的晶晶振振频频率率一一般般为为6MHz和和12MHz,电电容容C1和和C2取取30pF左右。左右。n晶晶体体振振荡荡频频率率高高,则则系系统统的的时时钟钟频频率率也也高高,单单片片机机运运行行速度也就快。速度也就快。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术时序的概念时序的概念n单单片片机机内内的的各各种种操操作作都都是是在在一一系系列列脉脉冲冲控控制制下下进进行行的的,而而各脉冲在时间上
25、是有先后顺序的,这种顺序就称为时序。各脉冲在时间上是有先后顺序的,这种顺序就称为时序。n单单片片机机的的时时序序定定时时单单位位从从小小到到大大依依次次为为:振振荡荡周周期期、时时钟钟周期(状态周期)、机器周期和指令周期。周期(状态周期)、机器周期和指令周期。n振荡周期振荡周期是指晶体振荡器直接产生的振荡信号的周期,是振荡频是指晶体振荡器直接产生的振荡信号的周期,是振荡频率率fosc的倒数,用的倒数,用P表示。表示。n状态周期状态周期(或或状态状态S)是振荡周期的两倍,它分为是振荡周期的两倍,它分为P1P1节拍和节拍和P2P2节拍。节拍。n1 1个个机器周期机器周期是由是由6 6个个状态状态构
26、成。构成。n执行一条指令所需的时间称为执行一条指令所需的时间称为指令周期指令周期。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术各种周期的相互关系各种周期的相互关系项目项目1控制一个控制一个LED单片机单片机应用技术应用技术复位电路复位电路n单片机复位引脚单片机复位引脚RST出现出现2个机器周期以上的高电平个机器周期以上的高电平时,时,单片机就执行复位操作。单片机就执行复位操作。n常见复位操作有上电自动复位和按键手动复位两种方式常见复位操作有上电自动复位和按键手动复位两种方式。n上电自动复位上电自动复位是通过外部复位电路的电容充电来实现的。是通过外部复位电路的电容充电来实现的。n
27、按键手动复位按键手动复位是通过复位端经电阻与电源是通过复位端经电阻与电源VCC接通而实现的,它接通而实现的,它兼备上电复位功能。兼备上电复位功能。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术复位功能复位功能n复位是单片机的初始化操作。复位是单片机的初始化操作。n是把是把PC初始化为初始化为0000H,使,使CPU从从0000H单元开始执单元开始执行程序;行程序;n同时还对其他一些寄存器有影响,但内部同时还对其他一些寄存器有影响,但内部RAM的数据的数据是不变的。是不变的。n除了进入系统的正常初始化之外,当由于程序运除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统
28、处于死锁状态时,为摆行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。脱困境,也需要按复位键重新启动。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术C语言程序的构成语言程序的构成n一个语言程序,是由一个一个语言程序,是由一个main()main()函数(又称主函数(又称主函数)和若干个其它函数结合而成的,或仅由一函数)和若干个其它函数结合而成的,或仅由一个个main()main()函数构成。函数构成。n函数是语言程序的基本单位。函数是语言程序的基本单位。n最简单的程序只有一个最简单的程序只有一个main函数函数。nC C语言程序总是从语言程序总是从main
29、()main()函数开始执行。函数开始执行。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术函数函数的构成的构成n任何函数都是由函数说明和函数体两部分组成任何函数都是由函数说明和函数体两部分组成函数函数一般结构如下:一般结构如下:函数类型函数类型 函数名(函数参数表)函数名(函数参数表)/*/*函数说明部分函数说明部分*/*/声明语句部分声明语句部分 执行语句部分执行语句部分 /*/*函数体部分函数体部分*/*/n函数函数体,即函数首部下面的大括号体,即函数首部下面的大括号“”内的部份。内的部份。函数体一般函数体一般包括:包括:n声明部份:定义所用到的变量,如声明部份:定义所用到的
30、变量,如voidDelay()中的中的unsignedchari,j;。n执行部份:由若干个语句组成。执行部份:由若干个语句组成。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术标识符标识符nC语言规定标识符只能由语言规定标识符只能由字母、数字和下划线字母、数字和下划线三种字符组成,三种字符组成,且第一个字符必须为字母或下划线。且第一个字符必须为字母或下划线。n变量名、常数名、数组名、函数名、文件名与类型名等统变量名、常数名、数组名、函数名、文件名与类型名等统称为标识符。称为标识符。n标识符分为预定义标识符和用户标识符。标识符分为预定义标识符和用户标识符。n说明:说明:nC语言中大
31、写字母与小写字母被认为是两个不同的字符。语言中大写字母与小写字母被认为是两个不同的字符。n标识符在命名时应当简单,含义清晰,这样有助于阅读理解程序。标识符在命名时应当简单,含义清晰,这样有助于阅读理解程序。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术关键字关键字n关键字则是编程语言保留的特殊标识符关键字则是编程语言保留的特殊标识符n它们具有固定名称和含义,在程序编写中它们具有固定名称和含义,在程序编写中不允许标识不允许标识符与关键字相同符与关键字相同。n在在KeilC中的关键字除了有中的关键字除了有ANSIC标准的标准的32个关键字个关键字外,还根据外,还根据51单片机的特点单
32、片机的特点扩展了相关的关键字扩展了相关的关键字。n在在KeilC的文本编辑器中编写的文本编辑器中编写C程序,系统把保留程序,系统把保留字以不同颜色显示,缺省颜色为字以不同颜色显示,缺省颜色为天蓝色天蓝色。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术C语言基本语句语言基本语句nC语言的程序是由一个或多个函数组成的,而函数又是由语言的程序是由一个或多个函数组成的,而函数又是由若干个语句组成的。若干个语句组成的。n语句是由一些基本字符和定义符按照语句是由一些基本字符和定义符按照C语言的语法规定组语言的语法规定组成的,每个语句以成的,每个语句以分号分号“;”结束,分号是结束,分号是C语
33、句的必要组语句的必要组成部份。成部份。nC语言的语句可分为以下语言的语句可分为以下5种类型:种类型:1.表达式语句表达式语句2.函数调用语句函数调用语句3.控制语句控制语句4.复合语句复合语句5.空语句空语句项目项目1控制一个控制一个LED单片机单片机应用技术应用技术表达式语句表达式语句n表达式语句表达式语句是由是由一个表达式一个表达式加加一个分号一个分号构成一个语句,其构成一个语句,其作用是计算表达式的值或改变变量的值。作用是计算表达式的值或改变变量的值。n它的一般形式是:它的一般形式是:表达式表达式;n即在表达式末尾加上分号,就变成了表达式语句。最典型的表达即在表达式末尾加上分号,就变成了
34、表达式语句。最典型的表达式语句是:在赋值表达式后加一个分号构成赋值语句。例如:式语句是:在赋值表达式后加一个分号构成赋值语句。例如:1.a=3是一个赋值表达式是一个赋值表达式2.a=3;是一个赋值语句是一个赋值语句项目项目1控制一个控制一个LED单片机单片机应用技术应用技术函数调用语句函数调用语句n由由一个函数一个函数调用调用加一个分号加一个分号构成函数调用语句,构成函数调用语句,其作用是完成特定的功能。它的一般形式是:其作用是完成特定的功能。它的一般形式是:函数名函数名(参数列表参数列表);n例如:例如:mDelay(100);/调用延时函数,参数是调用延时函数,参数是100 项目项目1控制
35、一个控制一个LED单片机单片机应用技术应用技术控制语句控制语句n控制语句用于完成一定的控制功能,以实现程序的各种结控制语句用于完成一定的控制功能,以实现程序的各种结构方式。构方式。nC语言有语言有9种控制语句,可分为以下三类。种控制语句,可分为以下三类。1.条件判断语句条件判断语句nif语句、语句、switch语句。语句。2.循环语句循环语句nfor语句、语句、while语句、语句、do-while语句。语句。3.转向语句转向语句nbreak语句、语句、continue语句、语句、goto语句、语句、return语句。语句。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术复合语句复
36、合语句n复合语句是用一对大括号将若干条语句括起来的,复合语句是用一对大括号将若干条语句括起来的,也称为分程序,在语法上相当于一条语句。也称为分程序,在语法上相当于一条语句。n例如例如1.main()2.3.t=x;4.x=y;5.y=t;/复合语句复合语句6.项目项目1控制一个控制一个LED单片机单片机应用技术应用技术空语句空语句n只有一个分号的语句称为空语句只有一个分号的语句称为空语句n它的一般形式是:它的一般形式是:;n空语句是什么操作也不执行,常用于作为循环语句中空语句是什么操作也不执行,常用于作为循环语句中的循环体,表示循环体什么也不做。的循环体,表示循环体什么也不做。项目项目1控制一
37、个控制一个LED单片机单片机应用技术应用技术注释注释n注释内容可以单独写在一行上,也可以写在一个语句之后注释内容可以单独写在一行上,也可以写在一个语句之后n可以用可以用/*.*/的形式为的形式为C程序的任何一部份作注释;程序的任何一部份作注释;nKeilC也支持也支持C+风格的注释,就是用风格的注释,就是用“/”引号后面的引号后面的是是注释注释n例如例如P1_0=!P1_0;/取反取反P1.0n这种风格的注释,只对本行有效,书写比较方便,所以在只需要这种风格的注释,只对本行有效,书写比较方便,所以在只需要一行注释的时候,我们往往采用这种格式。一行注释的时候,我们往往采用这种格式。项目项目1控制
38、一个控制一个LED单片机单片机应用技术应用技术技能训练技能训练1-1开关控制开关控制LED点亮点亮n单片机最小系统只是单片机能满足工作的最低要求,它不能对外完成单片机最小系统只是单片机能满足工作的最低要求,它不能对外完成控制任务,实现人机对话。控制任务,实现人机对话。n开关控制开关控制LED点亮点亮n电路设计电路设计n程序设计程序设计项目项目1控制一个控制一个LED单片机单片机应用技术应用技术开关控制开关控制LED点亮程序点亮程序#include/包含包含AT89X52.H头文件头文件sbitSW=P30;/定义定义SW是是P3.0位对应的引用符号位对应的引用符号sbitLED=P10;/定义
39、定义LED是是P1.0位对应的引用符号位对应的引用符号voidmain(void)while(1)if(SW=0)LED=0;/开关闭合开关闭合SW=0:P1.0=0,LED点亮点亮elsekLED=1;/开关断开开关断开SW=1:P1.0=1,LED熄灭熄灭lm项目项目1控制一个控制一个LED单片机单片机应用技术应用技术任务任务3LED闪烁闪烁控制控制n任务描述任务描述nP1.0引脚接引脚接LED的阴极,通过程序控制,使的阴极,通过程序控制,使P1.0引脚引脚交替输出高电平和低电平,使交替输出高电平和低电平,使LED闪烁。闪烁。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术任务
40、任务3LED闪烁闪烁控制控制n任务分析任务分析n软件实现思路:软件实现思路:1.点亮发光二极管点亮发光二极管2.延时(延时子程序)延时(延时子程序)3.关闭发光二极管关闭发光二极管4.延时延时5.重复上述动作(循环)重复上述动作(循环)n电路设计和前面一样电路设计和前面一样项目项目1控制一个控制一个LED单片机单片机应用技术应用技术任务实施任务实施1.建立第一个Keil C51工程项目n新建工程并保存在“任务2 控制一个LED”的文件夹中。2.建立“LED闪烁控”源文件n“LED闪烁控.c”与工程文件放在同一文件夹中。3.添加源文件到工程项目文件中n将“LED闪烁控.c”添加到工程项目中4.“
41、LED闪烁控制”工程配置与编译5.LED闪烁控制Proteus仿真运行调试项目项目1控制一个控制一个LED单片机单片机应用技术应用技术LED闪烁控制程序设计闪烁控制程序设计1.#include/包含包含AT89X52.H头文件头文件2.sbitLED=P10;/定义定义LED是是P1.0位的引用符号位的引用符号3.voidDelay()/延时函数延时函数4.5.unsignedchari,j;6.for(i=0;i255;i+)7.for(j=0;j255;j+);8.9.voidmain()10.11.while(1)12.13.LED=0;/P1.0=0,LED点亮点亮14.Delay()
42、;/延时延时15.LED=1;/P1.0=1,LED熄灭熄灭16.Delay();/延时延时17.18.项目一项目一发光二极管发光二极管LED控制控制单片机单片机应用技术应用技术【技能训练【技能训练1-2】LED闪烁控制电路焊接制作闪烁控制电路焊接制作nLED闪烁控制电路元件清单闪烁控制电路元件清单,如下表所示。,如下表所示。元件名称元件名称参数参数数量数量单片机STC89C521晶振11.0592M1瓷片电容30pF2电解电容10F1IC插座DIP401按键 1电阻10K1电阻2201LED 1项目项目1控制一个控制一个LED单片机单片机应用技术应用技术程序的程序的3种基本结构种基本结构n程
43、序程序n由计算机语言组成的语句序列。由计算机语言组成的语句序列。n程序的三种基本结构程序的三种基本结构n顺序结构、选择结构、循环结构。顺序结构、选择结构、循环结构。n结构化程序设计思想结构化程序设计思想n任何程序都可以用顺序结构、选择结构、循环结构这任何程序都可以用顺序结构、选择结构、循环结构这3类结构来表类结构来表示。由这示。由这3类基本结构组成的程序称为结构化程序。类基本结构组成的程序称为结构化程序。n下面我们用图示的方式来表达下面我们用图示的方式来表达3种结构形态。种结构形态。项目项目1控制一个控制一个LED单片机单片机应用技术应用技术程序的程序的3种基本结构种基本结构v3种基本结构的传
44、统流程图AaB(a)顺序结构bPAB(b)选择结构ab成立不成立PA成立A成立P不成立(c)当型循环(c)直到循环项目项目1控制一个控制一个LED单片机单片机应用技术应用技术1.1.ProteusProteus能在计算机上完成从原理图与电路设计、电路分析与仿真、能在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证。单片机代码级调试与仿真、系统测试与功能验证。2.2.Keil C51Keil C51是单片机软件开发系统。可以完成工程建立和管理、编译、是单片机软件开发系统。可以完成工程建立和管理、编译、连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流
45、程连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。3.3.STC89C52STC89C52单片机单片机最小系统就是一个最小系统就是一个基本的、可以工作的单片机系统,基本的、可以工作的单片机系统,主要包括单片机、电源、晶振电路和复位电路。主要包括单片机、电源、晶振电路和复位电路。4.4.单片机内的各种操作都是在一系列脉冲控制下进行的。单片机内的各种操作都是在一系列脉冲控制下进行的。n n各脉冲在时间上是有先后顺序的,这种顺序就称为时序。各脉冲在时间上是有先后顺序的,这种顺序就称为时序。n n定时单位有:振荡周期定时单位有:振荡周期foscfosc、状态周期、机器周期、指令周期。、状态周
46、期、机器周期、指令周期。1 1个机器周期个机器周期=6=6个状态周期个状态周期=12=12个振荡周期个振荡周期foscfosc关键知识点小结关键知识点小结项目项目1控制一个控制一个LED单片机单片机应用技术应用技术1.1.Keil C51Keil C51和和PROTEUSPROTEUS软件的主要功能?软件的主要功能?2.2.单片机的组成、主要特点、主要应用领域?单片机的组成、主要特点、主要应用领域?3.3.如果只使用片外如果只使用片外ROMROM,引脚应该如何接?为什么?引脚应该如何接?为什么?4.4.单片机最小系统由哪几部分组成?完成单片机最小系统由哪几部分组成?完成单片机最小系统电路。单片
47、机最小系统电路。5.5.在工作模块在工作模块2 2 中,如果把中,如果把LEDLED闪烁程序的延时函数闪烁程序的延时函数Delay()Delay()写在写在main()main()后面,程序应该如何修改?后面,程序应该如何修改?6.6.试一试,把试一试,把LEDLED的阳极接在的阳极接在P1.0P1.0引脚上,完成引脚上,完成LEDLED点亮电路和点亮电路和C C语言语言程序设计。程序设计。7.7.试一试,完成用开关控制试一试,完成用开关控制LEDLED闪烁快和慢两种效果的电路和闪烁快和慢两种效果的电路和C C语言程语言程序设计。序设计。问题与讨论结问题与讨论结单片机单片机应用技术应用技术单片
48、机单片机应用技术应用技术项目项目项目项目33单片机显示控制单片机显示控制单片机显示控制单片机显示控制单片机单片机应用技术应用技术项目项目3单片机显示控制单片机显示控制促成目标促成目标n n知道数码管结构、知道数码管结构、显示原理和方式;显示原理和方式;n n知道知道C C语言的语句结语言的语句结构、数组及函数的构、数组及函数的相关知识相关知识;n n会数码管动态显示会数码管动态显示和静态显示和静态显示的电路的电路和程序设计。和程序设计。终极目标终极目标n n能完成单片机的数能完成单片机的数码管动态显示和静码管动态显示和静态显示电路设计与态显示电路设计与制作制作;n n能完成数码管动态能完成数码
49、管动态显示和静态显示的显示和静态显示的C C语言程序设计、语言程序设计、运行与调试。运行与调试。教学目标教学目标单片机单片机应用技术应用技术任务任务7LED数码管静态显示设计数码管静态显示设计n任务描述任务描述n利用AT89S52单片机设计一个099计数器。要求使用一个手动计数按钮,实现099的计数,并且通过2个共阴数码管显示计数结果,数码管显示采用静态显示方式。单片机单片机应用技术应用技术任务分析任务分析nLED数码管静态显示电路分析数码管静态显示电路分析nLED数码管显示采用静态显示方式,各位数码管是相互独立的。2个LED数码管是采用共阴LED数码管,这2个共阴LED数码管的公共端必须接地
50、,这样他们才能显示出来;显示计数值十位数的LED数码管接在P0口,显示计数值个位数的LED数码管接在P2口;在任务6中,是使用开关控制跑马灯的,本任务的按键是计数按键,按键接在P1口的P1.0引脚,按键电路同开关电路一样。单片机单片机应用技术应用技术任务分析任务分析nLED数码管静态显示程序分析数码管静态显示程序分析n可以通过字型编码表查找到共阴LED数码管的“0”“9”十个字符的字型编码,然后通过P0口和P2口输出十位和个位数的字型编码。n按着数字09 的顺序,把每个数字的字型码按顺序排好,建立的表格。unsigned char code table=0 x3f,0 x06,0 x5b,0