配套课件-单片机原理及应用项目化教程_第1页
配套课件-单片机原理及应用项目化教程_第2页
配套课件-单片机原理及应用项目化教程_第3页
配套课件-单片机原理及应用项目化教程_第4页
配套课件-单片机原理及应用项目化教程_第5页
已阅读5页,还剩146页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

项目一单片机基础知识任务1单片机知识任务2计算机数制及其相互之间的转换任务3Proteus8Professional软件使用任务4Keil软件使用教学任务

任务1:单片机知识。

任务2:计算机数制及其相互之间的转换。

任务3:Proteus8Professional软件使用。

任务4:Keil软件使用。

教学目标

(1)掌握单片机的发展史、内部结构及单片机最小系统的构成。

(2)掌握各个进制间的相互转换。

(3)掌握Proteus8Professional软件的使用方法。

(4)掌握Keil软件的使用方法。

任务1单 片 机 知 识

任务要求:在本小节学习基础上简述单片机的基本结构,简要分析利用51单片机驱动LED电路的基本实现思路。学习目标:(1)掌握单片机的引脚结构。(2)掌握单片机最小系统及各模块功能。1.单片机的引脚结构单片机属于微型计算机的一种,它是把微处理器、存储器、输入/输出(Input/Output,I/O)接口、定时器/计数器、串行接口、中断系统等电路集成在一块集成电路芯片上形成的微型计算机,因而被称为单片微型计算机,简称为单片机。单片机顶部缺口左侧为第1个引脚,逆时针排列,右侧上端是第40个引脚。40个引脚的功能如下:(1)电源和晶振引脚。(2)控制引脚。(3) I/O口引脚:P0口(32~39引脚),内部没有上拉电阻,不能正常输出高低电平,因此使用时需外接上拉电阻,一般为10 kΩ。2.单片机的电平特性数字电路只有两种电平:高电平和低电平。单片机是数字集成芯片,输入/输出是晶体管-晶体管逻辑(Transistor-TransistorLogic,TTL)电平,高电平是 +5 V,低电平是0 V。因计算机串口是RS-232C电平(负逻辑电平),高电平是 -12 V,低电平是 +12 V,所以单片机与计算机相连时,需加电平转换芯片,一般常用的电平转换芯片是MAX232。3.单片机的主要特点单片机的主要特点如下:(1)在存储器结构上,单片机的存储器采用哈佛(Harvard)结构。(2)在芯片引脚上采用分时复用技术。(3)有21个特殊功能寄存器(SpecialFunctionRegister,SFR)。(4)采用面向控制的指令系统。(5)内部一般都集成一个全双工的串行接口。(6)有很强的外部扩展能力。单片机的应用范围很广,可概括为如下几个方面:(1)工业智能控制。(2)仪器仪表。(3)计算机外部设备及通信。(4)智能家居。(5)医疗卫生。(6)军事。(7)航空航天。5.单片机的等级按照适应能力的不同,单片机可分为如下等级:(1)民用级或商用级。温度适应能力在0~70℃。(2)工业级。温度适应能力在 -40~85℃,适用于工厂和工业控制中。(3)军用级。温度适应能力在 -65~125℃,适用于环境条件苛刻、温度变化很大的野外等环境。6.单片机的原理结构MCS-51系列单片机包含51和52两个子系列。51子系列中,常见的有8031、8051、8751等机型。52子系列中,常见的有8032、8052、8752三种机型。52子系列与51子系列相比结构大部分相同,不同之处在于:片内数据存储器增至256 B;8032芯片不带ROM,8052芯片带8 KB的ROM,8752芯片带8 KB的EPROM;有3个16位定时器/计数器,6个中断源。51单片机的内部结构集成了中央处理器(CentralProcessingUnit,CPU)、存储器(RAM和ROM)、定时器/计数器、并行I/O口、串行口、中断系统及一些特殊功能寄存器(SFR),它们通过内部总线紧密地联系在一起。7.单片机的存储器单片机的存储器分为两个部分:程序存储器(ROM)和数据存储器(RAM)。程序存储器又分为片内程序存储器和片外程序存储器两部分;数据存储器又分为片内数据存储器和片外数据存储器两部分。1)内部数据存储器低128个单元(00H~7FH)(1)工作寄存器区(00H~1FH):分为四组,在任意时刻,CPU只能选择其中的一组寄存器作为当前寄存器组,具体选择哪一组由程序状态字(ProgramStatusWord,PSW)寄存器中的RS1和RS0来决定。CY:进/借位标志位。可以由硬件或者软件置位和清零。AC:辅助进/借位标志位。当执行加减法时,运算结果的低4位向高4位有进位或借位时,硬件置位1,AC = 1;反之,AC = 0。F0:用户标志位。由用户决定。RS1和RS0:工作寄存器组选择位。OV:溢出标志位。若溢出,硬件置位1;反之,置位0。P:奇偶标志位。累加器(Accumulator,ACC)中有奇数个“1”,则P = 1;反之,为0。(2)位寻址区(片内RAM的20H~2FH单元):共有16个单元,每个单元既可以以字节访问,又可以对每个单元中的位地址进行访问,每个单元有8个位地址,共有128个位地址,因此把这个区域称为位寻址区。(3)用户数据区(30H~7FH):共有80个单元,是提供给用户使用的,常用做堆栈区。2)内部数据存储器高128个单元(80H~FFH)51单片机共有高128个单元。51单片机有21个特殊功能寄存器(SFR),52单片机有26个SFR,每个SFR都占用一个在此RAM区域中的一个单元。8.单片机最小系统单片机最小系统由复位电路、晶振电路、电源指示电路及主控芯片组成。1)复位电路复位电路是指使单片机内各寄存器的值变为初始状态的电路。2)晶振电路单片机要想工作,必须有一个标准的时钟信号作为基准,晶振电路(也称时钟振荡电路)就是为单片机提供这种基准的电路,主要由某一频率的晶体配合其他器件构成。晶振电路(时钟电路)的完整周期包括时钟周期、状态周期、机器周期和指令周期4个部分。时钟周期:又称振荡周期(晶振周期),是为单片机提供时钟信号的振荡源的周期,是最小的时间单位。状态周期:一个状态周期是振荡周期的两倍。机器周期:指令完成一个基本操作所需要的时间,一个机器周期包括12个晶振周期,即6个状态周期。指令周期:CPU执行一条指令所需要的时间。3)电源指示电路电源指示电路由发光二极管、限流电阻构成。上电后,为了给用户提示上电成功,常常在电源电路里加入限流电阻和发光二极管,上电成功,指示灯点亮。

任务2计算机数制及其相互之间的转换

任务要求:在本小节学习基础上独立完成任意数值各进制之间的转换,各数值之间原码、反码、补码及BCD码之间的相互转换。学习目标:(1)掌握单片机各进制之间的相互转换。(2)掌握原码、反码、补码及BCD码的基础知识。(3)掌握常用数据类型及运算符表示方法。1.数制所谓数制,是指数的表现形式,是一种按照进位原则进行计数利用符号计数的科学表示方法,全称为进位计数制,简称数制。数制有很多种,常用的数制有二进制、八进制、十进制、十六进制4种方式。1)二进制数二进制(Binary)数的基数是2,它有0和1两个数。运算规则为逢二进一,权是2n(n为整数)。二进制数的后缀是B,一般在单片机编程中以一个字节(8位)为单位。2)十进制数十进制(Decimal)数的基数是10,它有0~9共10个数字(又称数码),用这10个数码可以任意组合十进制的数。运算规则为逢十进一,借一当十,权是10n(n为整数)。十进制数的后缀是D,通常省略。3)十六进制数十六进制(Hexadecimal)数的基数是16,它有0~9以及A、B、C、D、E、F共16个数字字符,其中A~F相当于十进制的10~15,用这16个数码可以任意组合十六进制的数。运算规则为逢十六进一,借一当一十六,权是16n(n为整数)。十六进制数的后缀是H。2.数制和数制之间的转换1)二进制转换成十进制规律:小数点左侧整数部分从右往左每四位二进制数为一组来进行分组,整数部分不够四位则直接在高位补0;小数部分从左往右每四位为一组,不够四位在其低位补0。把每一组转换成对应的十六进制数码。2)十六进制转换成二进制规律:本转换是上述二进制转换成十六进制的逆过程,即把每位十六进制数码对应展开成四位二进制数,按照十六进制数制的顺序正常排列即可。3)十进制转换成十六进制规律:先转换成二进制数,再转换成十六进制数,整数采用“除以16取余”法,小数采用“乘16取整”法。4)十进制转换成二进制规律:整数部分采用“除以2取余”法,小数部分采用“乘2取整”法。3.机器数1)原码正数的原码与原来的数相同。负数的原码符号位是“1”,数值不变。2)反码正数的反码与原来的数相同。负数的反码符号位是“1”,数值位按位取反。3)补码正数的补码与原来的数相同,负数的补码由它的绝对值求反加1后得到,符号位是“1”。4) BCD码BCD码也称为8421码,BCD码分为两种,压缩BCD码和非压缩BCD码。压缩BCD码是用四位二进制数表示一位十进制数;非压缩BCD码是用八位二进制数表示一位十进制数。

任务3Proteus8Professional软件使用

任务要求:利用ProteusProfessional软件绘制基于51单片机的16路流水灯电路原理图,并分析电路基本结构。学习目标:(1)掌握Proteus8Professional软件基本操作步骤。(2)掌握Proteus8Professional元器件的查找方法。(3)掌握基于51单片机的8路流水灯电路原理图及其实现原理。Proteus软件是英国LabCenterElectronics公司开发的EDA工具软件,具备其他EDA工具软件常见的仿真功能,还能仿真单片机及外围器件。Proteus是目前比较好的仿真单片机及外围器件的工具,受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

任务4Keil软件使用任务要求:利用KeilC51编写16路流水灯代码,编译生成HEX文件并烧录至任务3绘制的电路原理图内,实现51单片机驱动LED灯的亮灭。学习目标:(1)掌握KeilC51软件基本操作步骤。(2)掌握KeilC51软件编程规范。(3)掌握基于51单片机的8路流水灯的软件程序流程。KeilC51是美国KeilSoftware公司出品的51系列单片机C语言软件开发系统,与汇编语言相比,C语言在功能性、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境μVision将这些部分组合在一起。项目二单片机I/O口应用任务18路流水灯软件仿真及调试任务28路流水灯两边到中间再到两边特效显示任务3心形灯设计与仿真教学任务

任务1:8路流水灯软件仿真及调试。

任务2:8路流水灯两边到中间再到两边特效显示。

任务3:心形灯设计与仿真。

教学目标

(1)掌握Proteus的元器件查找、放置及电路图绘制方法。

(2)掌握单片机I/O的具体应用方法,了解高低电平的输出含义。

(3)掌握Keil编程方法及编译注意事项。

任务18路流水灯软件仿真及调试

任务要求:P0口8路流水灯,在低电平时点亮,编程实现8路LED灯间隔500 ms从左往右流水点亮,再从右往左流水点亮,如此反复。晶振频率为12 MHz。学习目标:(1)加深十六进制与二进制之间的互换理解。(2)掌握左移函数_crol_、右移函数_cror_的使用方法。(3)掌握while语句及for语句的使用方法。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)。LED灯(LED-RED),按键开关(Button)。2.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:P0口8路流水灯,在低电平时点亮,8路LED灯间隔500 ms从左往右流水点亮,再从右往左流水点亮,如此反复。晶振频率为12 MHz。

任务28路流水灯两边到中间再到两边特效显示任务要求:P0口接8路流水灯,在低电平时点亮,编程实现8路LED灯由两边到中间,再从中间到两边的特效显示,如此循环往复。晶振频率为12 MHz。学习目标:(1)掌握单片机I/O与代码所赋值的十六进制间的联系。(2)加深左移、右移函数的理解。(3)掌握for循环语句与LED灯特效间的联系。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、按键开关(Button)。2.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:P0口8路流水灯,在低电平时点亮,8路LED灯间隔500 ms先从两边到中间依次点亮,再从中间到两边依次流水点亮,如此反复。

任务3心形灯设计与仿真任务要求:单片机4组I/O口全部接LED灯,摆成心形样式,在低电平时点亮,编程实现32路LED灯特效显示,如此循环往复。学习目标:(1)掌握单片机I/O与代码所赋值的十六进制间的联系。(2)加深左移、右移函数的理解。(3)掌握for循环语句与LED灯特效间的联系。1.电硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、按键开关(Button)。2.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:心形灯总共将显示三种特效,分别为两个LED灯自上而下移动(循环5次,且频率渐快),然后所有LED灯闪烁3次后顺时针旋转一圈。项目三单片机驱动数码管应用任务1数码管原理及电路分析任务2单个数码管显示例程任务3四位一体数码管显示数字任务4数码管动态显示案例分析任务5数码管和LED综合应用教学任务

任务1:数码管原理及电路分析。

任务2:单个数码管显示例程。

任务3:四位一体数码管显示数字。

任务4:数码管动态显示案例分析。

任务5:数码管和LED综合应用。

教学目标

(1)掌握数码管内部结构及工作原理,共阴极和共阳极数码管的区别与联系。

(2)掌握单片机驱动单个数码管的显示原理,C语言数组知识点的应用。

(3)掌握四位一体数码管的驱动方法,利用余辉效应实现数码管动态显示案例。

(4)结合项目二单片机驱动LED的知识实现数码管与LED灯的综合应用。

任务1数码管原理及电路分析任务要求:在本小节学习基础上简述7段数码管内部结构及基本工作原理。学习目标:(1)掌握数码管内部结构。(2)掌握共阴极及共阳极接法的区别与联系。(3)掌握数码管共阴极及共阳极两种接法0~9对应的二进制码。八段LED数码管显示器由8个发光二极管组成,其中7个长条形的发光管排列成“日”字形,另一个圆点形的发光管在数码管显示器的右下角作为显示小数点用,它能显示各种数字及部分英文字母。LED数码管显示器有两种形式:一种是8个发光二极管的阳极都连在一起,称之为共阳极LED数码管显示器;另一种是8个发光二极管的阴极都连在一起,称之为共阴极LED数码管显示器。共阴和共阳结构的LED数码管显示器各笔画段名和安排位置是相同的。当二极管导通时,对应的笔画段发亮,由发亮的笔画段组合而显示出各种字符。8个笔画段hgfedcba对应于一个字节(8位)的D7D6D5D4D3D2D1D0,于是用8位二进制码就能表示欲显示字符的字形代码。在单片机应用系统中,数码管显示器常用两种显示方式:静态显示和动态扫描显示。

任务2单个数码管显示例程

任务要求:制作在数码管上显示字符的单片机控制系统,实现显示数字0~9及字符A、B、C、D、E、F的功能。学习目标:(1)掌握单片机查表程序的设计方法。(2)掌握单片机数码管显示接口电路的工作原理及其应用。(3)掌握单片机驱动数码管程序设计方法。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、数码管(7-SEG*)。2.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:P1口同时接了LED灯电路和数码管电路,在低电平时点亮,数码管采用共阳极接法,即对应码段低电平有效。

任务3四位一体数码管显示数字任务要求:利用四位一体数码管同时显示数字0~9及字母ABCDEF的功能特效。学习目标:(1)加深十六进制与二进制之间的互换理解。(2)掌握左移函数_crol_、右移函数_cror_的使用方法。(3)掌握while语句及for语句的使用方法。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、四位一体数码管(7SEG-)、片选/段选芯片(74LS245)。3.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:P0口控制四位一体数码管的码段,P2口的四个端口控制四位一体数码管的位选。

任务4数码管动态显示案例分析任务要求:利用四位一体数码管动态显示数字0~99的计数器实现。学习目标:(1)掌握单片机I/O与代码所赋值的十六进制间的联系。(2)加深左移、右移函数的理解。(3)掌握for循环语句与数码管特效间的联系。工作原理:动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的显示方式之一,动态驱动是将所有数码管的8个显示笔画“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,因此动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)。四位一体数码管(7SEG-)、片选/段选芯片(74LS245)。2.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:P0口控制四位一体数码管的码段,P2口的四个端口控制四位一体数码管的位选。

任务5数码管和LED综合应用任务要求:利用数码管来显示LED灯的特效种类。LED特效1:全亮全灭;特效2:左移右移;特效3:中间到两边再两边到中间。每种特效建立一个子函数。学习目标:(1)掌握单片机I/O与代码所赋值的十六进制间的联系。(2)加深左移、右移函数的理解。(3)掌握for循环语句与数码管特效间的联系。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、锁存器(74LS373)、七段数码管(7SEG-)。3.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:利用数码管来显示LED灯的特效种类。LED特效1:全亮全灭;特效2:左移右移;特效3:中间到两边再两边到中间。每种特效分别对应一个子函数display1();display2();display3();项目四键盘及接口技术任务1按键工作原理及电路设计任务2按键控制流水灯特效显示任务3电子门铃程序设计任务4数码管显示矩阵键值教学任务任务1:按键工作原理及电路设计。任务2:按键控制流水灯特效显示。任务3:电子门铃程序设计。任务4:数码管显示矩阵键值。教学目标(1)掌握按键工作原理,按键抖动的原因及其消抖方式。(2)掌握单片机矩阵键盘电路的绘制方法。(3)掌握独立按键控制LED流水灯仿真电路的实现方法。(4)掌握数码管和矩阵键盘的综合应用,矩阵键盘的扫描原理及程序实现流程。

任务1按键工作原理及电路设计

任务要求:在本小节学习基础上简述矩阵键盘的工作原理及延时消抖方式。学习目标:(1)掌握按键引脚结构。(2)掌握延时消抖的原因及消抖方式。(3)掌握矩阵键盘扫描原理。1.按键分类与输入原理按键按照结构原理可分为两类:一类是触点式开关按键,另一类是无触点式开关按键。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的。对于一组按键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式来了解有无将按键输入,并检查是哪一个按键按下,将该键号送入累加器,然后通过跳转指令转入执行该键的功能程序,执行完成后再返回主程序。2.按键结构与特点微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换为电气上的逻辑关系。机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定的时间触点机械抖动,然后其触点才稳定下来。为了避免按键触点机械抖动所致的检测误判,必须采取消抖措施。按键较少时,可采用硬件消抖;按键较多时,采用软件消抖。1)按键编码一组按键或键盘都要通过I/O口线查询按键的开关状态。根据键盘结构的不同,采用不同的编码。2)键盘程序一个完整的键盘控制程序应具备以下功能:(1)检测有无按键按下,并采取硬件或软件措施消抖。(2)有可靠的逻辑处理办法。(3)准确输出按键值(或键号),以满足跳转指令要求。3.独立按键与矩阵键盘1)独立按键在单片机控制系统中,如果只需要几个功能键,此时,可采用独立按键。2)矩阵键盘在单片机系统中,若使用按键较多,如电子密码锁、电话机键盘等,一般至少有12到16个按键,通常采用矩阵键盘。(1)矩阵键盘的工作原理。矩阵键盘一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是单片机系统中最常用的形式。当无按键闭合时,P3.0~P3.3与P3.4~P3.7之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法是:第一步,置列线P3.4~P3.7为输入状态,从行线P3.0~P3.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P3.4~P3.7读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此需等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。(2)键盘识别方法。识别按键的方法很多,其中最常见的方法是扫描法。按键按下时,与此键相连的行线与列线导通,行线在无按键按下时处于高电平。如果所有的列线都处于高电平,则按键按下与否不会引起行线电平的变化,因此必须使所有列线处于低电平。这样,当有按键按下时,按键所在的行电平才会由高变低,才能判断相应的行有键按下。独立按键数量少,可根据实际需要灵活编码。矩阵键盘,按键的位置由行号和列号唯一确定,因此可以分别对行号和列号进行二进制编码,然后两值合成一个字节,高4位是行号,低4位是列号。4.键盘的工作方式对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中的CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常键盘的工作方式有三种,编程扫描、定时扫描和中断扫描。

任务2按键控制流水灯特效显示任务要求:通过按键来控制流水灯的特效显示,按键S1~S8分别连接单片机的P3.0~P3.7接口,八路流水灯连接P0接口,按下按键S1实现八路流水灯亮灭的功能,按下按键S2实现八路流水灯左移的特效。学习目标:(1)掌握利用if语句实现判断按键是否按下从而选择相关特效的方法。(2)掌握C语言子函数的调用方法。(3)掌握按键延时消抖的代码实现。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-Blue)、按键(BUTTON)。2.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:按下按键S1,P0接口对应的8个流水灯亮灭交替显示;按下按键S2,P0接口对应的8个流水灯实现左移依次显示的特效。

任务3电子门铃程序设计

任务要求:按下门铃开关,则门铃响起。P1.0接口连接按键开关,P3.0接口连接扬声器SOUNDER。学习目标:(1)掌握51单片机对按键开关的应用方法。(2)掌握单片机驱动扬声器的基础知识。(3)掌握while语句及for语句的使用方法。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、喇叭(SOUNDER)。2.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:按下按键KEY,则门铃先以较慢频率响一段时间后再以较快频率发出响声,然后静音。

任务4数码管显示矩阵键值

任务要求:矩阵键盘与数码管的综合应用,矩阵键盘按键后数码管对应显示0~9和A、B、C、D、E、F。学习目标:(1)掌握矩阵键盘扫描原理。(2)加深对数码管应用的理解。(3)掌握C语言函数调用的实现方法。1.硬件电路设计所需元器件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、数码管(7SEG)、按键(BUTTON)、排阻(RES8PACK)。2.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:按下矩阵键盘按键,则两个数码管显示矩阵键盘对应的值。项目五中断控制系统任务1中断系统结构及原理任务2外部中断0的应用任务3外部中断1的应用任务4单级中断案例仿真任务5两级中断嵌套任务6两级中断嵌套案例仿真任务7基于51单片机的车间计件器的设计教学任务任务1:中断系统结构及原理。任务2:外部中断0的应用。任务3:外部中断1的应用。任务4:单级中断案例仿真。任务5:两级中断嵌套。任务6:两级中断嵌套案例仿真。任务7:基于51单片机的车间计件器的设计。教学目标(1)掌握中断控制系统的结构及原理。(2)掌握中断允许寄存器的结构及赋值原理。(3)掌握中断优先级寄存器的应用方法。(4)掌握外部中断0和外部中断1的具体实现方法及两级中断嵌套的控制方法。(5)利用中断知识掌握实际生活中车间计件器的工作原理及设计思路。

任务1中断系统结构及原理

任务要求:在本小节学习基础上简述中断的含义及51单片机中断类型。学习目标:(1)掌握中断的基础知识。(2)掌握中断脉冲触发及电平触发两种触发方式。(3)掌握中断优先级及其应用。中断的过程:对于单片机来说,中断是指CPU在处理某一事件A时,发生了另一事件B请求CPU立刻去处理(中断发生);CPU暂时停止当前的工作(中断响应),转而去处理事件B(中断服务),待CPU处理完事件B后,再回到原来事件A被中断的地方继续处理事件A(中断返回)。①中断过程有如下三个重要指标:5个中断源都有一个中断入口地址,当某个中断源产生中断时,CPU响应中断并到相应的中断入口地址执行中断服务程序。②中断的嵌套与优先级处理。③中断的响应过程。1.中断的系统结构外部中断请求源:INT0、INT1。外部中断0(INT0)由外部引脚P3.2引入,外部中断1(INT1)由外部引脚P3.3引入。内部中断请求源:T0、T1、串口中断。2.程序定义方式定义中断函数的一般形式:void函数名()interrupt中断序号using寄存器工作组如果中断函数中调用了其他函数,则被调用函数所使用的寄存器组必须与中断函数相同。中断函数不能参数传递,没有返回值,不能直接被调用。3.中断系统寄存器TCON:低4位给外部中断请求源使用,高4位给内部中断请求源定时器T0、T1使用。外部请求源:IT0:INT0触发方式控制位,可由软件进行置位和复位。IT0 = 0时,INT0为低电平触发方式。IT0 = 1时,INT0为负跳变触发方式。IE0:INT0中断请求标志位。当有外部的中断请求时,该位置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。IT1、IE1的用途和IT0、IE0相似。内部请求源:TF0:定时/计数器T0溢出中断标记,当T0产生溢出时,TF0置位。当CPU响应中断后,硬件将TF0复位。TR0:T0的开闭控制位,TR0 = 1时定时计数器打开,TR0 = 0时定时计数器关闭。TF1、TR1与TF0、TR0相似。SCON:低2位与串口中断相关。TI、RI:串行口发送、接收中断。IE:中断允许寄存器。EA:中断总控制位。EA = 1,CPU开放所有中断;EA = 0,CPU禁止所有中断。ES:串行口中断控制位。ES = 1,允许串行口中断;ES = 0,屏蔽串行口中断。ET1:定时/计数器TI中断控制位。ET1 = 1,允许T1中断;ET1 = 0,禁止T1中断。EX1:外部中断1中断控制位。EX1 = 1,允许外部中断1中断;EX1 = 0,禁止外部中断1中断。ET0:定时/计数器T0中断控制位。ET0 = 1,允许T0中断;ET0 = 0,禁止T0中断。EX0:外部中断0中断控制位。EX0 = 1,允许外部中断0中断;EX0 = 0,禁止外部中断0断。IP:中断优先级寄存器。在该寄存器中,优先级分为1和0两级,对应的位置为1则为高优先级,置为0则为低优先级。执行时先将高优先级的中断执行完后才会执行低优先级(同等优先级情况下,按默认优先级排序)。PS:串行口中断优先级控制位。PT1:定时器1优先级控制位。PX1:外部中断1优先级控制位。PT0:定时器0优先级控制位。PX0:外部中断0优先级控制位。补充:外部中断的触发方式选择。1)电平触发方式(低电平触发)CPU在每个机器周期采样得到外部中断输入线的电平。在中断服务程序返回之前,外部中断请求输入必须无效(即变为高电平),否则CPU返回主程序后会再次响应中断。这种方式适用于外中断以低电平输入且中断服务程序能清除外部中断请求(即外部中断输入电平又变为高电平)的情况。2)跳沿触发方式连续两次采样,一个机器周期采样到外部中断输入为高电平,下一个机器周期采样为低电平,则中断请求标志位置1,直到CPU响应此中断时,该标志才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持一个机器周期。

任务2外部中断0的应用

任务要求:51单片机的外部中断0引脚接一只按键,该按键通过上拉电阻连接电源,没有按键发生时单片机检测到的是高电平,当按键按下时单片机检测到的是低电平。单片机的P0.0引脚以灌电流的方式连接一只LED,当按键按下时LED灯呈从左到右流水效果,没按键时LED灯呈闪烁效果。学习目标:(1)掌握中断的工作原理。(2)掌握中断的应用及与硬件电路的联系。(3)掌握中断函数的定义及软件程序设计流程。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、按键开关(Button)。2.仿真效果效果:当按下一次按键的时候,8位LED灯将会呈现一个从右到左的流水灯显示效果;当没有按键按下的时候,LED灯将进行闪烁显示。

任务3外部中断1的应用

任务要求:在外部中断1(P3.3)接一个按键Key,在P1口接入一个共阳极的数码管和一组Led灯,编程实现,每来一个中断,接在P1口的数码管和LED灯加1显示数值。学习目标:(1)掌握共阳极数码管和共阴极数码管的使用方法。(2)掌握原理图导线连接的编号功能。(3)掌握外部中断1的使用方式。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、数码管(7SEG)、芯片(74LS245)。2.仿真效果程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机内,执行特效即为项目所需特效。效果:数码管和Led显示的数字是同步的,并且每按一次按键,数码管和Led的数值都将自动加1。

任务4单级中断案例仿真

任务要求:外部中断0口外接一个脉冲触发按键key,每来一个脉冲信号,接在P1口的8只LED灯高低四位相隔约0.5 s闪烁一次,然后8只LED灯每隔0.3 s闪烁5次。如此循环往复。晶振频率为12 MHz。学习目标:(1)掌握for循环语句与LED灯特效间的联系。(2)掌握延时程序延时时间的设置。(3)熟练编写程序的技巧。1.硬件电路设计所需元器件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、按键开关(Button)。2.仿真效果效果:当按下按键的时候,接在P1口的8只LED灯高低四位相隔约0.5 s闪烁一次,然后8只LED灯每隔0.3 s闪烁5次。如此循环往复。

任务5两级中断嵌套

任务要求:P1口接8位LED灯并使用高电平进行点亮,K1接在单片机P3.2口,K2接在单片机P3.3口。编程实现当按下K1的时候,LED灯能够进行从右向左的流水灯效果;当按下K2的时候,LED能够进行从左到右的流水灯效果;当释放按键的时候,LED的高低4位交替闪烁。学习目标:(1)掌握单片机两级中断嵌套的原理。(2)掌握中断优先级的设置方式与程序格式。(3)掌握循环左移与循环右移的编程方法。1.硬件电路设计所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、开关(KEY)。2.仿真效果效果:当按下K1的时候,LED能够进行从右向左的流水灯效果;当按下K2的时候,LED能够进行从左到右的流水灯效果;当释放按键的时候,LED的高低4位交替闪烁。

任务6两级中断嵌套案例仿真

任务要求:P1与P0口分别接8位LED灯并使用低电平进行点亮,SW1接在单片机P3.2口,SW2接在单片机P3.3口。编程实现当按下SW1的时候,P0口接的LED能够进行从右向左的流水灯效果;当按下SW2的时候,接在P1口的LED能够进行从左到右的流水灯效果;当释放按键的时候,P1口的LED灯闪烁。学习目标:(1)熟练掌握单片机两级中断嵌套的原理。(2)熟练掌握中断优先级的设置方式与程序格式。(3)熟练掌握有关于LED灯光效果的编程方法。1.硬件电路设计所需元器件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、开关(switch)。2.仿真效果效果:当按下SW1的时候,P0口接的LED灯能够进行从右向左的流水灯效果;当按下SW2的时候,接在P1口的LED能够进行从左到右的流水灯效果;当释放按键的时候,P1口的LED灯闪烁。

任务7基于51单片机的车间计件器的设计

任务要求:P1口接一个4位一体的数码管,当有一个计数脉冲过来的时候,进行加1操作,实现计件器的功能仿真。学习目标:(1)熟练掌握单片机中断使用的原理。(2)熟练掌握数码管的使用。(3)熟练掌握数组的设置方式与使用规则。1.硬件电路设计所需元器件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、四位一体数码管(7SEG)、芯片(74LS245)、按键(Button)。2.仿真效果效果:当接通电源之后,数码管上面显示数字0,然后每按一次按键,数码管里面的数值加1显示。项目六定时器/计数器应用任务1定时器/计数器的结构与原理任务2生成脉冲宽度调制信号(PWM)任务3同时生成两种波形教学任务任务1:定时器/计数器的结构与原理。任务2:生成脉冲宽度调制信号(PWM)。任务3:同时生成两种波形。教学目标(1)掌握51单片机定时器/计数器的结构及工作原理。(2)掌握51单片机定时器的四种工作方式以及具体应用方法。(3)掌握单片机定时器/计数器的初值计算器方法。(4)掌握脉冲宽度调制信号波形产生原理及仿真实现方法。

任务1定时器/计数器的结构与原理

任务要求:在本小节学习基础上简述定时器/计数器的结构及应用。学习目标:(1)掌握定时器/计数器的结构。(2)掌握TMOD的格式及工作方式的定义。(3)掌握各种工作方式下定时器及计数器初值的计算方法。51单片机内部有两个16位可编程定时器/计数器,为定时器0(T0)和定时器1(T1)。定时器/计数器的工作方式、启停控制通过编程控制寄存器来设定。控制寄存器是由特殊功能寄存器中的定时器/计数器控制寄存器(TCON)和定时器/计数器方式控制寄存器组成。1.定时器/计数器的结构每个16位的定时器/计数器分别由两个高8位寄存器和低8位寄存器组成,T0由TH0和TL0组成,T1由TH1和TL1组成。它们分别用于存放定时或计数功能的高8位初值和低8位初值。方式控制寄存器(TMOD)主要用于设定工作方式,控制寄存器(TCON)主要用于控制启动与停止,并保存溢出和中断申请标志,中断允许寄存器(IE)控制CPU对每个定时器的开放或者屏蔽。定时器工作在计数方式时,定时器T0由外部计数信号通过外部输入引脚P3.4输入,T1由P3.5输入。定时器/计数器实际上是一个加1计数器,实现定时和计数两种功能,其具体功能由TMOD寄存器来控制。通过软件编程对寄存器TMOD和TCON进行设置。当工作在定时器功能时,振荡器的12分频信号产生计数器的加1信号,每来一个机器周期,计数器加1,直至计满溢出。当工作在计数功能时,通过外部输入T0(P3.4)和T1(P3.5)计数,外部脉冲的下降沿触发计数。在每个机器周期的S5P2期间采样值为0,则计数器加1,在下一个机器周期S3P1期间,计数初值重新装入计数器。2.定时器/计数器的功能定时器/计数器具有定时和计数两种功能。具体表现在:(1)定时控制。(2)自动计数。(3)系统监控。(4)检测模块。3.定时器/计数器方式控制寄存器(TMOD)定时器/计数器方式控制寄存器的作用是对T0和T1的工作方式进行设置各位的功能如下:①GATE:门控位。②C/:功能选择位。③M1、M0:工作方式选择位。③M1、M0:工作方式选择位。4.定时器/计数器控制寄存器(TCON)TCON高四位的作用是控制定时器的启动与停止,并保存T1和T0的溢出和中断申请标志位。各位功能如下:TR0(TCON.4):控制定时器T0启停位。TF0(TCON.5):定时器T0溢出中断申请标志位。这两位服务于T0。TR1(TCON.6):控制定时器T1启停位。TF1(TCON.7):定时器T1溢出中断申请标志位。这两位服务于T1。5.定时器/计时器的四种工作方式及应用初始化的步骤如下:(1)设置TMOD。(2)根据定时时间或者计数次数,利用初值计算公式,计算定时或者计数初值,并对相应的寄存器TH1/TL1(TH0/TL0)赋值。(3)对IE中的相关位赋值。(4) TCON中的TR1(TR0)置1,SS启动。

任务2生成脉冲宽度调制信号(PWM)

任务要求:P1.0输出脉冲宽度调制信号(PWM),即输出周期是20 ms,占空间比3∶10的矩形波,以控制直流电机按照一定的速度转动,晶振频率为12 MHz。采用定时器T0工作于方式2,定时250 μs。第一步:TMOD=00000010B = 0X02。第二步:X = 28-T/T机 = 256-250/1 = 6;TH0 = TL0 = 6。第三步:EA = 1;ET0 = 1;TR0 = 1。学习目标:(1)掌握定时/计数器的使用方式(2)掌握定时/计数器相关寄存器各位的含义(3)熟练设置定时/计数器的初值1.硬件电路设计所需元器件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、示波器(OSCILLOSCOPE)。3.仿真效果效果:在P1.0产生周期是20 ms,占空比是3∶10的PWM波形效果。

任务3同时生成两种波形

任务要求:在P1.5生成周期是4 ms的方波,同时在P1.6引脚输出周期是20 ms、占空比是4∶10的PWM波,要求采用定时器1,工作于方式1,晶振频率是12 MHz。采用定时器T1,工作于方式1,定时2 ms。第一步:TMO = 00010000B = 0X10。第二步:X = 216 - T/T机 = 216 - 2000/1 = 65536 - 2000 = 63536 = F830H;TH1 = 0XF8;TL1 = 1;TR1 = 1。学习目标:(1)掌握定时/计数器的使用方式。(2)掌握定时/计数器相关寄存器各位的含义。(3)熟练设置定时/计数器的初值。1.硬件电路设计所需元器件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解电容(CAP-ELEC)、单片机(AT89C51)、示波器(OSCILLOSCOPE)。2.仿真效果效果:在P1.5生成周期是4 ms的方波,同时在P1.6引脚输出周期是20 ms、占空比是4∶10的PWM波。项目七串行通信应用任务1串行通信工作原理任务2两个单片机之间的单向通信应用任务3两个单片机之间的双向通信应用教学任务任务1:串行通信工作原理。任务2:两个单片机之间的单向通信应用。任务3:两个单片机之间的双向通信应用。教学目标(1)掌握串行通信的工作原理,串行通信的两种基本方式。(2)掌握同步通信和异步通信的实现方法。(3)掌握单片机控制系统之间的相互通信以及具体的实现方法。(4)掌握实际项目中利用串行通信技术来解决实际问题的能力。

任务1串行通信工作原理

任务要求:在本小节学习基础上简述串行通信工作原理及波特率、溢出率的计算方式。学习目标:(1)掌握串行通信的工作原理。(2)掌握SCON寄存器的结构及串行口工作方式。(3)掌握PCON寄存器的结构及各种方式下波特率的计算方式。串行接口是一种可以将接收的来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。51单片机内部有一个全双工串行接口。一般来说,只能接收或只能发送的串行口称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。SBUF寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作,从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工。SM2:多机通信控制位。REN:串行接收允许位:REN = 0时,禁止接收;REN = 1时,允许接收。TB8:在方式2、3中,TB8是发送机要发送的第9位数据。在多机通信中它代表传输的地址或数据,TB8 = 0时为数据,TB8 = 1时为地址。RB8:在方式2、3中,RB8是接收机接收到的第9位数据,该数据正好来自发送机的TB8,从而识别接收到的数据特征。TI:串行口发送中断请求标志。RI:串行口接收中断请求标志。表中各位(从左至右为从高位到低位)含义如下。SMOD:波特率加倍位。SMOD = 1,当串行口工作于方式1、2、3时,波特率加倍。SMOD = 0,波特率不变。GF1、GF0:通用标志位。PD(PCON.1):掉电方式位。当PD = 1时,进入掉电方式。IDL(PCON.0):待机方式位。当IDL = 1时,进入待机方式。波特率计算:在了解了串行口相关的寄存器之后,我们可得出其通信波特率的一些结论:(1)方式0和方式2的波特率是固定的。在方式0中,波特率为时钟频率的1/12,即fOSC/12,固定不变。在方式2中,波特率取决于PCON中的SMOD值,即波特率为当SMOD = 0时,波特率为fOSC/64;当SMOD = 1时,波特率为fOSC/32。(2)方式1和方式3的波特率可变,由定时器1的溢出率决定。当定时器T1用作波特率发生器时,通常选用定时初值自动重装的工作方式2(注意:不要把定时器的工作方式与串行口的工作方式搞混淆了)。其计数结构为8位,假定计数初值为Count,单片机的机器周期为T,则定时时间为(256 - Count) × T。从而在1 s内发生溢出的次数(即溢出率)可由公式(1)求得:从而波特率的计算公式由公式(2)求得:在实际应用时,通常是先确定波特率,然后根据波特率求T1定时初值,因此式

温馨提示

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

评论

0/150

提交评论