单片机控制技术_第1页
单片机控制技术_第2页
单片机控制技术_第3页
单片机控制技术_第4页
单片机控制技术_第5页
已阅读5页,还剩427页未读 继续免费阅读

下载本文档

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

文档简介

初识单片机51单片机实训课程单片机在哪里?单片机在这里!电冰箱与单片机单片机在哪里?电磁炉与单片机单片机在这里!2015年7月26日单片机在哪里?MP3与单片机单片机在这里!单片机在哪里?更多单片机单片机在哪里?2015年7月26日单片机在哪里?系统框架单片机有什么用?工业控制系统数据采集系统智能化仪器仪表通讯设备......单片机有什么用?单片机应用之-武汉市机器人比赛单片机有什么用?单片机应用之-武汉市仪表技能展示应该学什么样的单片机?在我们这个课程中,我们将选用51系列单片机作为讲解。51单片机同时也是学习,ARM、DSP、FPGA等,高端应用的基础知识。学习单片机要学哪些方面的知识?1.有信心,有恒心;2.对各种器件的认识大家都是从0开始;3.只要撑握最基本的数电模电知识;4.单片机编程,只要会简单的C语言基础知识。5.单片机硬件知识(单片机内部结构、LED等、按键等)6.KEIL软件界面(编程、编译程序)7.下载程序的应用(将程序从电脑中下到单片机芯片中)如何学好单片机1.要领:理论与实践并重,实践先行;2.学习总是从模仿开始;3.举一反三;学前准备1.笔记本电脑一台2.谭浩强的C语言书一本(求是科技)郭天祥的单片机C51版校本单片机实训教材3.开发箱一套课程内容安排基础篇基于单片机最小系统,介绍单片机的基础知识;及单片机C语言基础知识。实战篇以YL-51开发板为平台,逐个讲解开发板上各个模块的使用,把各器件模块讲解清楚。通过实践深化理解数字电路的概念、C语言的基本应用以及C语言如何同实际电路发生联系。提高篇讲解单片机应用的扩展知识,及编程技巧。讲授单片机项目开发的流程及方法。课后作业安装以下软件:1、USBASP下载软件2、KEIL编程软件3、STC-ISP下载软件4、PROTUES仿真软件51单片机实训课程

单片机与微机

重点

难点1、微型计算机硬件结构——常见的微机外形

台式微机立式微机便携式微机

微机的硬件组成显示器主机键盘鼠标

运算器控制器CPU存储器输入接口电路输入设备输出设备输出接口电路硬件系统微机的内部结构

CPU输入设备输出设备软件系统+微型计算机系统硬件系统微型计算机系统

硬件系统——构成微机的实体和装置软件系统——微机系统所使用的各种程序的总称软件系统与硬件系统共同构成实用的微机系统,两者是相辅相成、缺一不可的。

微型计算机系统单片微型计算机是指集成在一个芯片上的微型计算机,简称单片机。

单片机实质上就是一个芯片.是采用超大规模集成路技术将中央处理器(CPU),随机存储器(RAM),只读存储器(ROM)、定时/计数器和多种接口电路集成到一块芯片构成的微型计算机。

输入输出接口芯片CPU芯片存储器芯片定时计数器芯片A/D、D/A芯片单板机

印刷电路板单片机芯片内部结构

★集成度高★可靠性高★扩展性好★控制功能强★性价比高单片机芯片特点

◆军事技术通常在这些电子系统的集中显示系统、动力监测控制系统、自动驾驭系统、通讯系统以及运行监视器(黑匣子)都会用到单片机技术。单片机的应用

◆人工智能工业机器人的控制系统由中央控制器、感觉系统、行走系统、擒拿系统等节点构成的单机或多机网络系统。而其中的每一个小系统(如数据采集、远程监控系统)都是由单片机进行控制的。单片机的应用

单片机的应用◆工业控制单片机的应用为传统的仪器仪表行业的产品“更新换代”提供了非常理想的条件。目前各种变送器、电器测量仪表普遍采用单片机系统代替原来的测量系统,使测量系统的各种功能如存储、数据处理、查找、判断、联网和语音等功能得以实现。◆消费类电子产品电讯方面单片机的应用

1974-1976单片机发展阶段仙童公司F8+3851Mostek38701977-1978单片机成长阶段

IntelMCS-48系列1979-1982单片机成熟阶段IntelMCS-51系列:-51子系列:8031/8051/8751-52子系列:8032/8052/8752低功耗型80C31高性能型80C252廉价型89C2051/10511983-单片机高速发展阶段8位高性能以及16位单片机IntelMCS-96系列8098/8096、80C198/80C196,DSP32位单片机ARM单片机的发展阶段

单片机的发展趋势要是计算机能放进我的口袋里多好啊!计算机能比现在的运算速度快10000倍吗?

单片机的发展趋势

单片机与微机的区别与联系

总结作业

51单片机实训课程

51单片机基础知识

重点

难点

单片机应用的最基本形式。基本结构就是将CPU和计算机外围功能单元如存储器、I/O接口、定时器/计数器、中断系统集成在一个芯片上构成的。它是一个集成电路,故不能单独实现任何控制功能。什么叫单片机

51系列单片机源于Intel公司的MCS—51系列,在Intel公司将MCS—51系列单片机实行技术开放政策之后,许多公司如Philips、Dallas、Siemens、Atmel、华邦、LG等都以MCS—51中的基础结构8051为基核推出了许多各具特色、具有优异性能的单片机。这些统称为51系列单片机。51系列单片机系列有哪些

美国微芯片公司:PIC16C××系列、PIC17C××系列、PIC1400系列;美国英特尔公司的MCS-48和MCS-51系列,美国摩托罗拉公司的MC68HC05系列和MC68HC11系列,美国Atmel公司的AT系列,日本电气公司的μPD78××系列,美国莫斯特克公司和仙童公司合作生产的F8(3870)系列等。

世界单片机芯片的主要生产厂商

运算器控制器CPU存储器输入接口电路输入设备输出设备输出接口电路硬件系统单片机系统软件系统+单片机系统组成

硬件系统——构成单片机的实体和装置

就是围绕单片机芯片为中心组建一个能完成特定应用功能的硬件电路组合实体。并让它能在程序的控制下实现预定的功能,这个硬件电路实体就是单片机的硬件系统。

软件系统——单片机所使用的各种程序的总称

软件是相对于硬件而言的,它是指由单片机硬件执行,用来完成一定任务的所有程序及数据,即为运行、管理和维护单片机所编制的程序的总和。单片机系统组成

通过系统扩展、在外部并行总线上扩展相应的计算机外围功能单元所构成的系统。单片机系统扩展的外部功能单元属于CPU的外围器件,因此称为单片机系统。单片机系统可以根据系统需要完成相应的基本控制功能。

单片机系统

型号程序存储器R/E数据存器寻址范围寻址范围并行口串行口中断源定时器计数器晶振指令周期其他8051AH8751H8031AH4KR4KE——12812812864K64K64K64K64K64K4×84×84×8UARTUARTUART5552×162×162×162—122—122—12111HMOS—Ⅱ工艺HMOS—Ⅰ工艺HMOS—Ⅱ工艺8052AH8752H8032AH8KR8KE——25625625664K64K64K64K64K64K4×84×84×8UARTUARTUART6663×163×163×162—122—122—12111HMOS—Ⅱ工艺HMOS—Ⅰ工艺HMOS—Ⅱ工艺83C45187C45180C4514KR4KE——12812812864K64K64K64K64K64K7×87×87×8UARTUARTUART5552×162×162×162—122—122—12111CHMOS工艺有选通方式双向口83C51GA87C51GA80C51GA4KR4KE——12812812864K64K64K64K64K64K4×84×84×8UARTUARTUART7772×162×162×162—122—122—12111CHMOS工艺8×8A/D有16位监视定时器83C25187C25180C2518KR8KE——25625625664K64K64K64K64K64K4×84×84×8UARTUARTUART7773×163×163×162—122—122—12111CHMOS工艺有高速输出、脉冲调制、16位监视定时器80C528KR25664K64K4×8UART63×162—121CHMOS工艺51系列单片机内部资源

单片机应用系统硬件单片机+接口电路及外设等软件单片机应用系统由硬件和软件组成硬件是应用系统的基础软件是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可单片机应用系统

一个单片机应用系统从提出任务到正式投入运行的过程称之为单片机开发,开发过程所使用的工具就成为开发工具。(1)计算机(KEIL软件)(2)示波器(3)万用表及逻辑笔(4)编程器及仿真器单片机常用开发工具

伟福lab2000p(QF_51C)型实验板仿真器w6000/T编程器superpor/L+数字万用表达盛单片机试验箱单片机常用开发工具

总结

作业

51单片机实训课程

51单片机内部结构

重点

难点

我们看到51单片机的外表是长这样的,完全就像一个黑匣子,你看不到它里面的任何结构,那我们打开它来看看,究竟里面是什么样的呢?今天让我们来揭开庐山真面目吧。51系列单片机外形

51系列单片机内部结构组成

所属模块符号名称功能运算器ALU算术逻辑单元可以进行8位的数据的加、减、乘、除算术运算,与、或、异或逻辑运算,还有位运算ACC累加器一个操作数一般来自于累加器,运算结果存到ACC中TEMP暂存器暂存中间运算结果B寄存器一个操作数一般来自于寄存器BPSW程序状态字寄存器用于反映微处理器执行指令后的状态控制器PC程序计数器提供将要执行的指令所在的存储单元地址IR指令寄存器微处理器根据PC提供的地址从内存中取出指令,存入其中ID指令译码器将指令转换为机器可识别的机器码51系列单片机内部结构功能

所属模块符号名称功能存储器ROM程序存储器存储系统程序或一些常数表格和存放用户控制程序RAM数据存储器存放数据信息,也可以使用作为进行在线修改的存储设备存储系统程序和用户信息总线AB地址总线负责传输数据的存储位置或I/O接口中的寄存器的一组信号线DB数据总线负责传输数据,数据在CPU与存储器和CPU与I/O接口之间的传输室双向的,故数据总线为双向总线CB控制总线在传输与交换数据时起到管理控制作用的一组信号线成为控制总线I/O端口I/OI/O端口8051单片机有4个8位并行输入/输出的端口P0、P1、P2和P3,每个端口有8条I/O线,可以并行传输数据,也可以单独使用其中的一根I/O线51系列单片机内部结构功能

总结

作业

51单片机实训课程

51单片机的引脚

重点

难点

51系列单片机引脚外形我们看到51单片机的外表是长这样的,就是一个黑黑的长方形,然后两侧是一些像蜈蚣一样的引脚,那这些引脚究竟是干嘛用的呢?下面让我们一起来看看。

STC89C52单片机引脚物理排列图

STC89C52单片机引脚物理排列特点

STC89C52单片机引脚功能分区排列

STC89C52单片机引脚功能分区

序号引脚符号功能32-39P0.7-P0.0P0口为双向8位三态I/O口,当作为I/O口时,外接上拉电阻再连接外部I/O设备。它是地址总线低8位及数据总线分时复用口,可驱动8个TTL负载。一般作为扩展时地址/数据总线;1-8P1.0-P1.7P1口为8位准双向I/O口,可定义为输入线或输出线(作为输入时,口锁存器必须置1),可驱动4个TTL负载21-28P2.0-P2.7P2口为8位准双向I/O口,当作为I/O口时,可直接连接外部I/O设备。它是与地址总线高8位复用,可驱动4个TTL负载。9复位引脚RST/VPD当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位29片外ROM选通PSEN此输出为访问外部程序存贮器的读选通信号30地址锁存允许ALE/PROG当单片机访问外部存贮器时,ALE(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位31片内片外ROM选择EA/Vpp当EA=1时,单片机访问的是内部程序存贮器,当EA=0时,则不管是否有内部程序存贮器而只访问外部程序存贮器。STC89C52单片机引脚功能表格

序号引脚符号功能10-17P3.0RXD串行输入口P3.1TXD串行输出口P3.2INT0外部中断0P3.3INT1外部中断1P3.4T0定时器/计数器0外部输入端P3.5T1定时器/计数器1外部输入端P3.6WR外部数据存储器写脉冲P3.7RD外部数据存储器读脉冲18时钟引脚XTAL2接外部晶体的另一端19时钟引脚XTAL1接外部晶体的一个引脚20接地引脚GND接地40接电源引脚VCC接电源+5V9复位引脚RST/VPD当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位STC89C52单片机引脚功能表格

51单片机最小系统

总结

作业

51单片机实训课程

单片机程序编写及下载

重点

难点情景引入

单击桌面上KEIL图标,打开KEIL然后单击NewProject命令输入工程名,然后单击保存选择所使用单片机的制造厂家,这里选择ATMEL公司我们是用的是AT89S52单片机,右侧方框中是芯片的数据这是选择“是”意思是选择C语言,如果使用的是汇编,则选择“否”然后新建一个文件,会出来一个页面,我们可以在这个页面进行书写程序。书写完程序之后,点击保存按钮点击保存按钮以后,会弹出一个对话框,要为这个文件起一个名字,后缀名为.c,名字起了之后,就点击保存。最后打开左侧下拉菜单打开下来菜单以后,点击右键,导入刚才的文件导入以后,双击打开打开以后,就要设置一下,因为要烧写到单片机中,所以就需要将所编写的代码转换成机器码。点击OUTPUT选项点击HEX选项,并单击确定设置好了以后,要进行编译文件找到刚才的C文件,并导入下面的对话框显示错误信息,上图显示书写的程序没有错误,如果有错误则需要改正并从新编译

总结

作业

51单片机实训课程

电子电路知识

重点

难点情境引入电路的组成

用电器电源开关导线电路的三种状态通路:接通的电路。特征:电路中有电流而且用电器正常工作。开路:断开的电路。特征:电路中无电流,用电器不能工作。短路:电源两端或用电器两端直接用导线连接起来(电流不经过用电器)。

各类电阻实物图

电路的连接方式

固定电阻符号示意图

电阻作用:

电阻将会导致电子流通量的变化,电阻越小,电子流通量越大,反之亦然。各种发光二极管

各类二极管的电路符号图

二极管的结构与电路符号二极管的结构图

二极管的电路符号

单片机控制电路

总结

作业

51单片机实训课程

点亮一个发光二极管什么是单片机?如何选择单片机?单片机能做什么?单片机的工作过程?单片机指以8051为核心的单片机,统称为MCS51单片机。是在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,简称单片机。MCS51单片机如8031,8751,8032,8052,8752等该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的。1.1什么是单片机?8051是美国INTEL公司,生产的一系列单片机中最早最典型的产品。1.2近年来推出MCS51的主要产品有:

﹡ATMEL公司的89C51、89C52系列;

﹡Philips公司的80C51、80C52系列;

﹡华邦公司的W78C51、W77C51高速低价系列;

﹡LG公司的GMS90/97低压高速系列;

﹡宏晶公司的STC89C51、STC89C52系列。

1.380C51的引脚封装总线型非总线型2015年7月26日P3口线的第二功能VCCVSSXTAL2

XTAL1RSTP0.0

P0.1

P0.2P0.3P0.4P0.5P0.6P0.7P1.0

P1.1

P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0

P3.1

P3.2P3.3P3.4P3.5P3.6P3.72、振荡电路:XTAL1、XTAL23、复位引脚:RST7、并行口:P0、P1、P2、P36、ALE:地址锁存控制信号1、电源线:VCC(+5V)、VSS(地)EAPSEN4、EA:访问程序存储控制信号5、PSEN:外部ROM读选通信号RXD/

TXD/

INT0/INT1/

T0/

T1/

WR/

RD/1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318051875189C51MCS-51单片机信号引脚简介2015年7月26日表2-1P3口的第二功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2INT0外部中断0输入线P3.3INT1外部中断0输入线P3.4T0定时器/计数器0输入线P3.5T1定时器/计数器1输入线P3.6WR外部数据存储器写选通信号输出线P3.7RD外部数据存储器读选通信号输出线2.单片机内部资源三大指标1、FLASH(程序存储空间ROM)2、RAM(数据存储器)3、SFR(特殊功能寄存器)单片机内集成了一些常用的I/O接口电路,如并行的I/O端口、串行口、定时器/计数器、中断控制器等,这些I/O接口单元电路,统称为特殊功能寄存器(SFR)。2015年7月26日单片机的选择STC89C52:8KFLASH,512字节RAM,32个I/O口,

3个定时器,1个UART,8个中断源。SST89E516:64KFLASH,1024字节RAM,32个I/O口,3个定时器,1个UART,10个中断源。支持与KEIL连线进行在线仿真。单片机的最小系统问题:如何实现单片机与LED灯的连接与控制?2015年7月26日单片机最小系统特点:用最少的元件组成的单片机工作系统。由大五硬件组成:单片机、电源电路、晶振电路、复位电路、EA接高电平。31脚是内部程序存储器和外部程序存储器选择端。为高电平时,访问内部程序存储器;为低电平时,则访问外部程序存储器。单片机的工作过程?单片机的工作过程?系统框架什么是LED灯?

半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管能发出不同的光。发光二极管(LED,电路符号

)是一种最常用的指示器件,近几年因其成本下降和节能的特点大量使用在照明设备中。发光二极管有极性之分,当有足够的正向电流(正极流向负极的电流,约10mA~30mA)通过时便会发光。

点亮一个LED发光二极管发光二极管:通常红色贴片LED:正向压降1.6-2.4V,电流2-20mA。2-5mA亮度有明显变化,5mA以上亮度基本没变化。R≈V/I一般应用取I=3~5mA,则R=?。LED与单片机,成为一个最小的控制单元,实现控制发光二极管的亮灭。用电子电路点亮一个灯:特殊功能寄存器声明

语法:sfrsfr_name=int_constant

例:sfrP0=0x80;

sfrSCON=0X98;特殊功能位声明

例:sbitCY=PSW^7;

sbitLED=P1^0;Main函数

格式:voidmain()

特点:无返回值,无参。

任何一个C程序有且仅有一个main函数,它是整个程序开始执行的入口。

例:voidmain()

{

总程序从这里开始执行;

其他语句;

}三、建立独立的KEIL工程:

1.点亮第一个发光管

2.点亮最后一个发光管3.点亮一、三、五、七二、理解单片机单片机最小系统的组成。一、了解发光二极管参数及限流电阻计算方法。作业

4.点亮二、四、五、六51单片机实训课程

进制的转换方法

重点

难点情境引入

十进制数转换为二进制数

173D=10101101B转换过程

十进制数转换为二进制数

二进制数转换为十进制数

十进制数转换为十六进制数

十进制数转换为十六进制数

十六进制数转换为十进制数

二进制数转换为十六进制数

二进制数转换为十六进制数具体过程10101101

十六进制数转换为二进制数

二进制数转换为十六进制数具体过程10101101

总结

作业

51单片机实训课程

符号数的表示方法

重点

难点情境引入符号数的表示方法

符号数的表示方法机器数与真值的关系

原码的表示方法正数的原码表示方法负数的原码表示方法反码的表示方法正数的反码表示方法负数的反码表示方法补码的表示方法正数的补码表示方法负数的补码表示方法原、反、补码的作用BCD码BCD就是用4位二进制数来表示1位十进制数中的0~9这10个数码,下表就是常用的十进制转BCD码表。

十进制数BCD码十进制数BCD码00000501011000160110200107011130011810004010091001BCD码的作用什么叫ASCII码ASCII码的作用ASCII码的表示方法ASCII码的表示方法

总结

作业

51单片机实训课程

点亮一盏灯

重点

难点情境引入我们经常看到夜晚的城市霓虹闪烁、多姿多彩,是多么的光彩夺目!但是你知道是用什么来控制的吗?没错,就是用我们的单片机芯片来控制的,那么小小的单片机怎么可以实现那么多那么强大的功能的呢,是不是很好奇?千里之行始于足下,让我们开始程序控制的第一步吧!硬件要求点亮一盏灯点亮一个发光二极管电路图软件要求点亮一盏灯#include<reg52.h>#defineucharunsignedchar #defineuintunsignedint sbitLED1=P1^0; voidmain(void) {while(1) LED1=0; }

参考程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitLED1=P1^0;

//加载52系列单片机头文件//宏定义,将无符号字符型定义为uchar字符,这样的好处是可以少写很多字符//宏定义,将无符号整型定义为uint字符//将P1口的第1位(即最末尾)定义为LED1字符参考程序(加载、定义部分)voidmain(void) {while(1) LED1=0; }

//主函数入口//大循环,又称无限循环//点亮P1口的第1位所连的那个发光二极管参考程序(主程序部分)C语言基础知识

点亮一盏灯主函数#define宏定义

C语言注释的写法库函数特殊功能位声明

总结

作业

51单片机实训课程

单片机的输入输出口

重点

难点情境引入我们前面已经学过了单片机的内部结构,知道单片机芯片与外界沟通和交流的部件叫做I/O接口,那么I/O接口是如何具体地跟外部设备沟通和联系的呢?让我们今天来好好了解它们的内部结构和工作原理吧。单片机的输入输出口硬件要求单片机的输入输出口P0口某一位P0.x的内部结构电路原理图P0口结构组成锁存器输入缓冲器多路开关输出驱动部分P0口的功能P1口某一位的内部结构电路原理图P1口的功能P2口某一位的内部结构电路原理图P2口的功能P3口某一位的内部结构电路原理图P3口的功能P口结构的区别P口工作原理的区别C语言基础知识

单片机的输入输出口

P口控制外设举例

总结

作业

51单片机实训课程

控制一盏灯的闪烁

重点

难点情境引入控制一盏灯的闪烁硬件要求

控制一盏灯的闪烁电路原理图这里我们用到了P1口的第一位,也即是P1^0这一位连接一个LED灯。即P1^0连接LED1。连线连线软件要求

控制一盏灯的闪烁#include<reg52.h>voiddelay()sbitled1=P1^0

//52系列单片机头文件//声明子函数//定义单片机P1口的第一位参考程序(声明定义部分)#voidmain(){while(1){ led1=0; delay(); led1=1; delay();}}

//主函数入口//大循环//点亮第一个发光二极管//调用延时子函数//熄灭第一个发光二极管//调用延时子函数参考程序(主程序部分)voiddelay(){unsignedinti,j;for(i=0;i<1000;i++)for(j=0;j<115;j++);}

//声明延时子函数//定义变量i,j为无符号整型//延时约1s的时间for循环外循环1000遍//for循环内循环115遍参考程序(子程序部分)C语言基础知识

控制一盏灯的闪烁变量

数据类型位数所占的内存字节数值的范围char810~255signedchar81-128~+127unsignedchar810~255int162-32768~+32768signedint162-32768~+32768unsignedint1620~65535shortint162-32768~+32768signedshortint162-32768~+32768变量范围for语句for语句执行步骤for语句执行举例如:for(i=0;i<1000;i++);子函数的声明和调用子函数举例复习程序控制一盏灯闪烁#include<reg52.h>voiddelay()sbitled1=P1^0

//52系列单片机头文件//声明子函数//定义单片机P3口的第一位参考程序(声明定义部分)#voidmain(){while(1){ led1=0; delay(); led1=1; delay();}}

//主函数入口//大循环//点亮第一个发光二极管//调用延时子函数//熄灭第一个发光二极管//调用延时子函数参考程序(主程序部分)voiddelay(){unsignedinti,j;for(i=0;i<1000;i++)for(j=0;j<115;j++);}

//声明延时子函数//定义变量i,j为无符号整型//延时约1s的时间for循环外循环1000遍//for循环内循环115遍参考程序(子程序部分)

总结

作业

拓展:思考如何让多盏灯点亮和闪烁?

51单片机实训课程

单片机最小测试系统

重点

难点情境引入单片机最小测试系统硬件要求

单片机最小测试系统最小系统电路图最小系统时钟电路图外部时钟

内部时钟电路最小系统复位电路图上电复位电路

上电复位和开关电路连线软件要求

单片机最小测试系统#include<reg52.h>sbitLED1=P1^0;

//加载52系列单片机头文件//将P1口的第1位(即最末尾)定义为LED1字符参考程序(加载、定义部分)voidmain(void) {while(1) {LED1=0;} }

//主函数入口//大循环,又称无限循环//点亮P1口的第1位所连的那个发光二极管参考程序(主程序部分)C语言知识

单片机最小测试系统常量赋值运算符号解释举例+=加法赋值a+=b相当于a=(a+b)-=减法赋值a-=b相当于a=(a-b)*=乘法赋值a*=b相当于a=(a*b)/=除法赋值a/=b相当于a=(a/b)%=取模赋值a%=b相当于a=(a%b)<<=左移位赋值a<<=b相当于a=(a<<b)>>=右移位赋值>>=b相当于a=(a>>b)&=逻辑与赋值a&=b相当于a=(a&b)|=逻辑或赋值a|=b相当于a=(a|b)^=逻辑异或赋值a^=b相当于a=(a^b)~=逻辑非赋值--------复合赋值运算增量运算减量运算

总结

作业

51单片机实训课程

控制多盏灯的闪烁

重点

难点情境引入控制多盏灯的闪烁硬件要求

控制多盏灯闪烁电路原理图这里我们用到了P0口控制多盏灯,所以我们要用一组数据线去连接多个LED灯。

连线软件要求

控制奇数灯闪烁#include<reg52.h>#defineuintunsignedintvoiddelay(uintutime);

//52系列单片机头文件//宏定义//声明带参数延时子函数参考程序(声明定义部分)#voidmain(){while(1){ P0=0xaa; delay(1000); P0=0xff; delay(500); }}

//主函数入口//大循环//点亮奇数位的多个发光二极管//调用延时1000秒的带参数子函数//熄灭所有发光二极管//调用延时500秒的带参数子函数参考程序(主程序部分)voiddelay(uintutime){unsignedinti,j;for(i=0;i<utime;i++)for(j=0;j<115;j++);}

//声明延时子函数//定义变量i,j为无符号整型//延时utime变量长时间参考程序(子程序部分)C语言基础知识

控制多盏灯的闪烁voiddelay(uintutime){unsignedinti,j;for(i=0;i<utime;i++)for(j=0;j<115;j++);}

//声明延时子函数//定义变量i,j为无符号整型//延时utime变量长时间带参数子函数的编写voiddelay(uintutime)delay(uintutime);

//声明延时子函数//调用带参数延时子函数带参数的子函数的声明和调用复习程序控制多盏灯闪烁#include<reg52.h>#defineuintunsignedintvoiddelay(uintutime);

//52系列单片机头文件//宏定义//声明带参数延时子函数参考程序(声明定义部分)#voidmain(){while(1){ P0=0xaa; delay(1000); P0=0xff; delay(500); }}

//主函数入口//大循环//点亮奇数位的多个发光二极管//调用延时1000秒的带参数子函数//熄灭所有发光二极管//调用延时500秒的带参数子函数参考程序(主程序部分)voiddelay(uintutime){unsignedinti,j;for(i=0;i<utime;i++)for(j=0;j<115;j++);}

//声明延时子函数//定义变量i,j为无符号整型//延时utime变量长时间参考程序(子程序部分)

总结

作业

51单片机实训课程

流水灯

重点

难点情境引入流水灯控制硬件要求

流水灯控制电路原理图流水灯控制软件要求

流水灯控制一、位控制方式流水灯控制#include<reg52.h>#defineuintunsignedintvoiddelay(uintutime);sbitled1=P1^0;

//加载52系列单片机头文件//宏定义,将无符号整型定义为uint字符//声明带参数延时子函数//将P1口的第1位(即最末尾)定义为led1字符位控制流水灯参考程序(加载、声明、定义部分)sbitled2=P1^1;sbitled3=P1^2;sbitled4=P1^3;sbitled5=P1^4;sbitled6=P1^5;sbitled7=P1^6;sbitled8=P1^7;

//将P1口的第2位定义为led2字符//将P1口的第3位定义为led3字符//将P1口的第4位定义为led4字符//将P1口的第8位定义为led8字符位控制流水灯参考程序(定义部分)voidmain(){while(1){ led1=0; delay(500); led2=0; led1=1; delay(500);

//主函数入口//大循环//点亮第一个发光二极管//调用延时子函数//点亮第二个发光二极管//熄灭第一个发光二极管//调用延时子函数位控制流水灯参考程序(主程序部分) delay(500); led3=0; led2=1; delay(500); led4=0; led3=1; delay(500); led5=0; led4=1; delay(500);

//调用延时子函数//点亮第三个发光二极管//熄灭第二个发光二极管位控制流水灯参考程序(主程序部分) delay(500); led6=0; led5=1; delay(500); led7=0; led6=1; delay(500); led8=0; led7=1; delay(500); }}

//调用延时子函数//点亮第六个发光二极管//熄灭第五个发光二极管位控制流水灯参考程序(主程序部分)voiddelay(uintutime){uinti,j;for(i=0;i<utime;i++)for(j=0;j<115;j++);}

//声明延时子函数//定义变量i,j为无符号整型//延时约utime毫秒时间位控制流水灯参考程序(子程序部分)二、总线控制方式流水灯控制voidmain(){while(1){ P1=0xfe; delay(500); P1=0xfd; delay(500); P1=0xfb; delay(500); }}

//主函数入口//大循环//点亮第一个发光二极管//调用延时子函数//点亮第二个发光二极管//调用延时子函数//点亮第三个发光二极管//调用延时子函数总线控制流水灯参考程序(主程序部分) P1=0xf7; delay(500); P1=0xef; delay(500); P1=0xdf; delay(500); P1=0xbf; delay(500); P1=0x7f; delay(500);

//点亮第四个发光二极管//调用延时子函数//点亮第五个发光二极管//调用延时子函数//点亮第八个发光二极管//调用延时子函数总线控制流水灯参考程序(主程序部分)三、函数控制方式流水灯控制#include<reg52.h>#include<intrins.h>#defineuintunsignedintvoiddelay(uintutime);

//加载52系列单片机头文件//加载函数包含文件//宏定义,将无符号整型定义为uint字符//声明带参数延时子函数函数控制流水灯参考程序(加载、声明、定义部分)voidmain(){uinta,i; while(1){ a=0xfe; for(i=0;i<8;i++) }}

//主函数入口//定义无符号整型变量a、i//大循环//点亮第一个发光二极管//实现1到8只LED灯循环点亮函数控制流水灯参考程序(主

温馨提示

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

评论

0/150

提交评论