Proteus平台单片机项目式教程(上篇共上中下3篇)_第1页
Proteus平台单片机项目式教程(上篇共上中下3篇)_第2页
Proteus平台单片机项目式教程(上篇共上中下3篇)_第3页
Proteus平台单片机项目式教程(上篇共上中下3篇)_第4页
Proteus平台单片机项目式教程(上篇共上中下3篇)_第5页
已阅读5页,还剩109页未读, 继续免费阅读

下载本文档

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

文档简介

主讲:李任青单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社单片机技术江西农业大学南昌商学院教师:手机:QQ:邮箱:@163.com欢迎大家相互交流学习!!!师生联系方式课程地位、考核与评分说明课程地位:专业核心课。成绩百分制录入:平时成绩为:40%考试成绩为:60%平时成绩考核标准:40分。期末考核方式:考试/考查。课程要求:掌握单片机的工作原理及其应用设计基本方法。考核内容分值说明出勤10缺勤每次扣2分,迟到或早退每次扣1分。平时作业20布置作业6次,认真完成所有作业得20分,少一次扣4分,作业马虎、抄袭、质量差每次扣4分,扣完为止。学习态度5高质量完成上机任务加1分,加满为止。课堂表现5积极回答教师提问每次加1分,加满即止。课程特点与学习方法课程特点:实践性强,旨在应用硬件、软件结合紧密学习方法:课前预习,课后复习软硬兼顾,上机实践广阅书刊,用好网络前期课程:数字电路、微机原理几点建议:实践性、应用性很强,仅仅听懂还不够,关键在于动手能力。硬件/软件同样重要。预习、听课、复习、作业、实验都很重要!!!第一讲:单片机基础概述什么是单片机?有什么用?

1单片机发展概况与典型介绍

2单片机中的数制3单片机最小系统-点亮LED

41、什么是单片机?有什么用?一、什么是单片机?(1)、微型计算机硬件结构——常见的微机台式机嵌入式终端笔记本微型计算机硬件结构——微机硬件组成显示器主机键盘鼠标微型计算机硬件结构——内部结构硬件系统——构成微机的实体和装置软件系统——微机系统所使用的各种程序的总称软件系统与硬件系统共同构成实用的微机系统,两者是相辅相成、缺一不可的。软件系统+微型计算机系统微型计算机系统(2)、单片微型计算机单片微型计算机是指集成在一个芯片上的微型计算机,简称单片机——单片机实质上就是一个芯片。软件系统+微型计算机系统输入接口设备输出接口设备运算器控制器存储器单片微型计算机单片机内部结构示意图

CPU存储器定时器/计数器中断系统P0-P3TxDRxD

TINT并行I/O口串行I/O口单片微型计算机

内部结构:主要由中央处理器(CPU)、存储器(ROM、RAM)、中断系统、定时/计数器、并行I/O接口和串行I/O接口等部分组成。2026/10/2912二、单片机有什么用?在工业、农业、军事、保安、金融、仪器仪表、航空航天、医疗、通讯、办公设备、娱乐休闲、健身、体育竞赛、服务领域……,大量单片机-嵌入式技术已经无处不在。正迅速改变着人们传统的生产和生活方式。请稍微留心一下我们的周围,看看身边到底发生了什么变化?可以嵌入到电子产品中——嵌入式应用系统单片机已经应用到生活的各个领域。单片机应用领域2、单片机发展概况与典型介绍1971年1月,Intel公司首先研制出集成度为2000只晶体管片的4位微处理器Intel4004,它的成功推出拉开了单片机时代的大幕。在过去的30多年里,单片机从最初的4位单片机已经发展成为32位,类型也已经发展成为上百种系列的近千个品种。一、发展概况单片机的发展时期大致可以分为以下几个阶段:1971~1976年为单片机的萌芽发展时期。功能相对简单的4位单片机主要用作计算器中的控制部件。1976~1979年为8位单片机的初始发展阶段:1976年,Intel推出MCS-48列单片机:8位CPU,1K字节ROM,64字节RAM,27根I/O线和1个8位定时/计数器。此时的单片机相对早期的4位机在性能上有很大提高,另外,也因其体积小、价格低的优点得到了广泛的应用,书写了单片机发展史上重要的一页。1979~1983年为8位单片机的完善发展阶段。1980年Intel公司在MCS-48基础之上推出了高性能8位单片机MCS-51系列:8位CPU.4K字节ROM,128字节RAM.4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。不仅单片机的存储容量和中断能力大大增强,并且开始配备串行通信接口。此时单片机发展到一个全新的阶段,应用领域变得更加广泛,MCS-51系列单片机后来成为8位单片机的典范,一直在经典延用。一、发展概况性能提高阶段:1983~1990年为单片机向微控制器(MCU)发展的阶段。

Intel在1983年推出的MCS-96系列16位单片机,将数模转换器(A/D)、程序运行监视器(PWM)、脉宽调制器(WDT)等用于测控系统的部件纳入其中,体现了微控制器特性。之后Intel公司逐渐淡出MCU的开发,Philips公司以其在嵌入应用方面的优势,在MCU发展方面走在前列。与此同时,各大公司的32位单片机也竞相问世,并且开始应用到一些高端领域。一、发展概况多样化发展阶段:1990年至今,单片机的发展趋向多元化,各大厂商在推出16位和32位高端单片机的同时,对8位单片机进行功能上的扩展,衍生出很多新型的单片机,以满足各行业不同层次的需求。如SiliconLabs公司推出的单片机C8051F120:8位高速CPU(100MIPS);128K字节FLASH;5个16位定时计数器;2个UART,另有SMBus和SPI总线接口;20个中断源;8路12位ADC,2路12位DAC;片内看门狗定时器等。控制性能优异、种类繁多。“微控制器”的称谓更能反映单片机的本质。一、发展概况二、典型单片机介绍1.Intel公司 Intel公司是单片机的领跑者,MCS-51系列单片机是该公司系列单片机的总称,8031、8051、8751、8032、8052和8752等都属于该系列,8051是其中的典型代表,其他单片机只是在其基础上进行了一些调整,所以人们习惯上以8051来称呼MCS-51系列单片机。另外,在Intel公司将MCS-51核心技术授权给多家公司后,与8051兼容的各具特色的单片机陆续出现。2.Motorola公司Motorola公司是世界上最大的单片机厂商,在单片机生产上多采用内部倍频技术或锁相环技术,从而使得相同时钟频率下单片机内部总线速度大大提高。M6805、M68HC05、M68HC11、M68HC12是Motorola公司8位单片机的典型代表。倍频(overtune):倍频是使获得频率为原频率整数倍的一种方法。利用非线性器件从原频率产生多次谐波,通过滤波器选出所需倍数的那次谐波。倍频技术能够使CPU内部工作频率变为外部频率的倍数,并使外部设备可以工作在一个较低外频上。锁相环技术(Phase-LockedLoop,PLL):PLL是实现相位自动控制的负反馈系统,它使振荡器的相位和频率与输入信号的相位和频率同步。二、典型单片机介绍3.ATMEL公司ATMEL公司的8位单片机有AT89、AT90两个系列,AT89系列与8051系列单片机相兼容,具有8KB的闪速存储器(FlashMemory),采用静态时钟模式。AT90系列单片机采用增强精简指令集(RISC)结构,大多数指令仅需要1个晶振周期,运行速度快;因为最初两位研发人员的名字分别以A和V开头,所以此类单片机又被称为AVR单片机。精简指令集计算机(ReducedInstructionSetComputer,RISC):RISC是和CISC(ComplexInstructionSetComputer,复杂指令集计算机)相对的一种CPU架构,它把较长的指令分拆成若干条长度相同的单一指令,可使CPU的工作变得单纯、速度更快,设计和开发也更简单。二、典型单片机介绍4.Microchip公司 Microchip公司推出的8位PIC系列单片机采用RISC结构,PIC16C5X属于其中的低端产品,价位低,适用于家电产品。PIC12C6XX是PIC系列的中级产品,产品性能相对较高,内部带有EEPROM数据存储器(电擦写数据存储器)、A/D转换器、PWM输出等。PIC17CXX属于这一系列的高端产品,运算速度非常快,可以外接扩展存储RAM或者EPROM,并且具有丰富的I/O控制功能,适用于偏高档的设备。5.EMC公司 台湾义隆电子(EMC公司)制造的大部分单片机产品与Microchip公司的PIC系列单片机兼容。其中,8位EM78系列单片机因采用数据总线和指令总线分离的设计结构,故以其优良的性能得到广泛应用。二、典型单片机介绍另外,还有很多企业在单片机生产和发展中扮演着重要的角色,如ARM(AdvancedRISCMachines)公司是RISC处理器方面的知名企业,美国德州仪器公司(TI)在生产数字信号处理器(DSP)方面拥有领先技术。如图所示显示了单片机发展过程中几种典型的单片机。今天,单片机的世界玲琅满目,给用户提供了很大的选择空间,我们在工作中可以根据实际需要进行选择。(a)Intel公司4004和8008(b)ATMEL公司AT系列(c)Microchip公司的PIC系列二、典型单片机介绍单片机产品近况80C51兼容产品:80C51主流地位已形成,与其兼容的典型产品有:ATMEL的AT89S5X系列(ISP,在系统编程).宏晶的STC89、STC90系列(RS232口编程,方便实用,国产).SiliconLabs的C8051F系列(SOC,片内功能模块丰富)非80C51结构产品:给用户提供了更为广泛选择空间,典型产品有:Microchip公司的PIC系列(品种多便于选型,汽车产品)TI公司的MSP430系列(16位,低功耗,电池供电产品)ATMEL公司的AVR和Mega系列(不易解密,军工产品)ST公司M3\M4系列(32位,高性能,智能化产品)从单片机结构上看,整体的发展趋势是朝着小容量、低价格和大容量、高性能两个方向发展。另外,将需要的外围电路纳入芯片之中,形成系统级芯片(SystemonaChip,SoC)是单片机发展的一个热点。与计算机的CPU芯片的飞速发展不同,单片机的发展并不是完全推陈出新,低、中、高不同档次的单片机都有自己的应用市场。4位单片机在未来一段时间内不会退出历史舞台,对于简单的电子小商品来说,4位单片机完全满足需求并且价格低廉;8位单片机仍将是单片机市场的主流产品;16位和32位单片机随着技术发展和开发成本的下降,会在更多科技产品中大显身手。发展趋势3、单片机中的数制一、进位计数制按进位原则进行计数的方法,称为进位计数制。十进制数有两个主要特点:

(1)有10个不同的数字符号:0、1、2、…、9;

(2)低位向高位进位的规律是“逢十进一”。因此,同一个数字符号在不同的数位所代表的数值是不同的。如555.5中4个5分别代表500、50、5和0.5,这个数可以写成555.5=5×102+5×101+5×100+5×10-1

式中的10称为十进制的基数,102、101、100、10-1称为各数位的权。一般而言,对于用R进制表示的数N,可以按权展开为:

式中,ai

是0、1、…、(R-1)中的任一个,m、n是正整数,R是基数。在R进制中,每个数字所表示的值是该数字与它相应的权Ri的乘积,计数原则是“逢R进一”。进制通式

当R=2时,称为二进位计数制,简称二进制。在二进制数中,只有两个不同数码:0和1,进位规律为“逢二进一”。任何一个数N,可用二进制表示为:

例如,二进制数1011.01可表示为:(1011.01)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2

1.二进制数当R=16时,称为十六进制。在十六进制中,有0、1、2、…、9、A、B、C、D、E、F共16个不同的数码,进位方法是“逢十六进一”。例如,(3A8.0D)16可表示为:(3A8.0D)16=3×162+10×161+8×160+0×16-1+13×16-2

2.十六进制二、不同进制间的相互转换1.二、八、十六进制转换成十进制例1:

将数(10.101)2,(46.12)8,(2D.A4)16转换为十进制。(10.101)2=1×21+0×20+1×2-1+0×2-2+1×2-3=2.625(46.12)8=4×81+6×80+1×8-1+2×8-2=38.15625(2D.A4)16=2×161+13×160+10×16-1+4×16-2=45.64062

(1)整数部分:除基取余法。例2:

将(168.645)10转换成二、八、十六进制数。2.十进制数转换成二、八、十六进制数

(2)小数部分:乘基取整法。例2:

将(168.645)10转换成二、八、十六进制数。2.十进制数转换成二、八、十六进制数故:(0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)16

2026/10/2933因此:

将(168.645)10

转换成二、八、十六进制数。168.645)10=(10101000.10100)2=(250.51217)8=(A8.A51EB)163.将二进制换成十六进制例6将(110101.011)2转换为十六进制数。00110101.011035

.6即:(110101.011)2=(35.6)16

34三、带符号数的表示1.机器数及真值

计算机正负符号如何表示呢?规定最高位为符号位:“0”表示正,“1”表示负。

例如,X=-1101010B,Y=+1101010B,则X表示为:11101010B,Y表示为01101010B。

2.原码

当符号位不变,数值部分用真值的绝对值来表示的二进制机器数称为原码。例如+115和-115的8位原码可分别表示为:[+115]原=01110011B;[-115]原=11110011B352.反码

正数的反码等于原码;负数的反码,由它的正数的原码按位取反形成。例如:X=+103,则[X]反=[X]原=01100111B;

X=-103,[X]原=11100111B,则[X]反=10011000B。3.补码对于n位计算机来说,数X的补码定义为:即正数的补码就是它本身,负数补码是真值与模数相加而得。

36例如,n=8时:

[+75]补=01001001B

[-73]补=100000000B-01001001B=10110111B

[0]补=[+0]补=[-0]补=00000000B

可见,数0的补码表示是唯一的。在用补码定义求负数补码的过程中,由于做减法不方便,一般该法不用。负数补码的求法:用原码求反码,再在数值末位加1,即:[X]补=[X]反+1。例如:[-30]补=[-30]反+1=[+30]原+1=11100001+1=11100010B。8位二进制补码能表示的范围为:-128~+127,若超过此范围,则为溢出。3、单片机最小系统-点亮LED(1)单片机应用系统开发流程37明确系统任务,确认功能边界。硬件电路设计。包括前期方案论证,关键器件选型和总体方案设计,也包括各模块电路设计与实现。软件程序设计。仿真与调试。实物打样、系统调试与测试。用户试用、修改和交付。3、单片机最小系统-点亮LED(2)单片机最小系统38

单片机能够正常工作的最小系统,主要包括电源、单片机、时钟电路和复位电路。时钟电路:提供工作时钟。复位电路:实现系统复位。电源电路:供电。3、单片机最小系统-点亮LED时钟电路39

时钟是微机的“心脏”,单片机就是在时钟节拍的指挥下有序地工作。内部高增益反相放大器和晶体振荡器、微调电容一起构成了稳定的自激振荡器,产生系统时钟。89C51单片机基本的时序定时单位共有4个:振荡周期(节拍)、时钟(状态)周期、机器周期和指令周期。它们之间的关系见教材图2-7(自学)。3、单片机最小系统-点亮LED复位电路40

复位电路的作用是让单片机执行复位操作,即单片机的初始化。复位后,CPU从0000H开始取指执行,使得CPU和系统中的各功能部件都处在一个确定的初始状态开始工作。

复位条件:必须在单片机的复位引脚RST(9号脚)上出现持续两个机器周期以上的高电平。复位电路有上电复位和按键复位两种。3、单片机最小系统-点亮LED(3)点亮LED41我们选择P3.0口输出低电平来点亮LED。则:P3=1111110B=FEH。软件程序代码:

ORG0000H ;伪指令。LJMP START ;跳转START:MOV P3,#0FEH;点亮LED。LJMP START;无限循环。 ENDThankYou!单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社主讲:XXX单片机技术江西农业大学南昌商学院第一讲:KeilC软件的使用及在线联调课程引入

1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课我们讲了单片机最小系统的硬件结构,了解到一个单片机最小系统必须包含的三大部分。请同学们抢答一下:这三大部分分别是哪三个,有什么作用?(学习通提问抢答的方式)1、晶振电路:提供时钟。2、复位电路:实现系统复位(条件)。3、电源电路:供电。一、课程引入第二步:启发式引入新的问题:大家知道计算机在今天应用很广,一个完整的简单的计算机系统除了上面复习的硬件系统还包括哪些方面?为什么要这样?(互动提问)互动发言总结:第三步:提出这节课中心问题:

怎样利用KeilC软件实现与硬件仿真器的在线联调?它们有什么作用?(1)操作系统(2)软件、应用程序思考:(1)单片机系统常用开发软件?KeilC(2)软硬件的特点?配合、相辅相成(课程思政:团队协作精神、软硬结合、刚柔并济。)二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)

思考:数码管能显示“HELLO”吗?三、基本原理(重点)

1、实验教学仪的结构三、基本原理(重点)

2、KeiluVision2软件的使用方法(以串行静态数码显示为例,边操作边讲,以下是要点笔记)(1)创建项目:选择【Project】→【NewProject】(2)新建一个源程序:【File】→【New】→【.asm】(3)向项目组添加源文件:【右键SourceGroup】→【AddFile】→【.asm】(4)属性设置:【右键Target1】→【Optionsfor】→【Debug】→Use:KeilMonitor-51Driver→Settings→comx、38400(5)编译程序:【Rebuildalltargetfiles】(6)进入调试模式:Debug(7)运行:Run三、基本原理(重点)

3、KeilC在线调试实例:串行静态显示89C51硬件连线:串行数据线DIN和移位信号CLK。

DINCLK四、实物效果操作演示五、思考题与课外拓展1、思考题:KEIL软件联调模式,程序是否已经下载到单片机仿真器中?与Proteus构建的软件环境是否可以同理联调?2、课外拓展:

请基于以上原理设计,尝试在Proteus软件仿真平台自主实现以下功能。

思考:怎样让串行静态显示模块的5LED显示“12345”、“HELLO”?课外(自学):显示“12345”课外(自学):显示“HELLO”ThankYou!《Proteus平台单片机项目式教程》西安电子科技大学出版社主讲:XXX江西农业大学南昌商学院二、Proteus仿真软件的使用及在线联调课程引入

1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课我们讲了Keil软件的基本用法,使用它实现了“89C51”的静态显示效果,大家可以跟我一起操作一遍,进行一次复习回顾。请同学们抢答:单片机系统构成?

(学习通)软件:keilC硬件:单片机实验箱一、课程引入第二步:启发式引入新的问题:

计算机应用系统比较复杂,涉及到软件系统和硬件系统,特别是硬件系统,实际中构建起来较为困难,灵活性差,成本也高,实验箱配套实验项目有限,缺乏拓展性、课外时间上延展性。第三步:提出这节课中心问题:怎样利用Proteus软件实现与Keil软件的联调?2015年教育部专门设立国家级虚拟仿真实验教学中心。那么,我们学校在这方面做了努力?(自问自答,课程思政:爱校、爱国、科技战略)(1)为什么要用Proteus仿真?(2)它有什么作用?、怎么用?二、应用效果仿真展示打开Proteus仿真软件展示仿真效果

(激发学生学习兴趣)

思考:你能让LED间隔点亮吗?或者跑起来!!!三、基本原理(重点)

1、Proteus软件硬件电路设计ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。以简单的LED灯为例讲述Proteus仿真软件的操作使用方法。(老师边操作演示边讲解)三、基本原理(重点)

2、Proteus软件的使用方法(边操作边讲,要点笔记整理)(1)进入ProteusISIS(2)文件的新建和保存(3)设置工作环境(4)选取元器件:【Library】→【PickDevice】(5)放置元器件(6)编辑元器件属性(7)绘制原理图(8)程序的编译(9)模拟调试三、基本原理(重点)

3、电路设计与KeilC在线联调(1)硬件电路设计LED发光二极管是通过单片机P1口直接驱动,如图采用的是低电平点亮的方式,提高LED显示亮度。注意:仿真中,限流电阻不要过大,一般用100Ω左右。

三、基本原理(重点)

(2)软件程序设计 ORG000H LJMPSTART ORG0030H START:

MOVP1,#10101010B;间隔点亮 acallDelay MOVP1,#01010101B acallDelay

LJMPSTARTDelay:

MOV R2,#100LOOP2: MOV R0,#20LOOP1: MOV R1,#248 DJNZ R1,$ DJNZ R0,LOOP1 DJNZ R2,LOOP2

RET END提问:

请大家想想,要怎么修改程序改变发光二极管的显示效果?跑起来!

ORG000H

LJMPSTART

ORG0030H START:

MOVP1,#11011111B

LJMPSTART

END 四、实物效果操作演示

五、思考题与课外拓展1、思考题:要怎么修改程序改变发光二极管的显示效果?2、课外拓展:

请基于以上原理设计,尝试在Proteus软件仿真平台自主实现以下功能。

思考:(1)课后利用Proteus仿真显示间隔点亮的效果?

(1)间隔点亮动起来?或者跑起来。课外(自学):间隔点亮的效果单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社主讲:XXX江西农业大学南昌商学院六、汽车双闪灯控制系统的设计课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课,我们基于单片机的最小应用系统完成了P1口输入、输出控制功能的设计,讲解了P1口输入、输出控制应用方法。P1口是准双向口。但是在实际生活中针对具体的任务,我们是怎样应用它实现一个具体的实用性功能,这是怎样的一个设计过程,请大家一起来体验。记住口诀:欲读先置一一、课程引入(1)转向提醒、起步提醒、靠边提醒(方式是闪烁)(2)刹车、减速提醒(尾红灯亮)。(3)双闪灯(危险报警闪光灯),浓雾天气、紧急情况提示注意,防止追尾。第二步:启发式引入新的问题:在生活中,随着汽车的家用普及,汽车走进的平民百姓的生活,很多同学家里都有车,有的同学也在考驾照。但是,您了解汽车的尾灯功能吗?请大家列举汽车尾灯的几种功能:(提问)应用:我们通过单片机控制两个LED灯来模拟汽车双闪灯的工作过程。1.临时停车时。2.牵引故障机动车时。3.组成交警部门允许的车队时。4.在高速公路行驶,但能见度低于100米,时速低于40km/h时。除以上4种需要开启双闪灯的情况外,任何使用双闪灯行为,将可能对机动车驾驶员处以记3分的处罚。一、课程引入汽车双闪灯:第三步:提出这节课中心问题:“怎样通过单片机控制两个LED灯实现汽车双闪灯功能,并保证系统的可靠性?”二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)三、基本原理(重点)

1、单片机系统开发方法单片机应用系统由硬件和软件两部分组成,总体设计包括以下内容,(1)明确系统功能(2)硬件电路设计与搭建(3)软件(程序)设计与编译(4)程序语言及程序结构选择(5)软件可靠性设计(6)下载程序到单片机中并调试2、汽车双闪灯控制基本任务:我们用89C51单片机作为本系统的控制核心,利用单片机P0口的两个位端口控制两个发光二极管,来模拟汽车的两个双闪灯实现“双闪”功能,0.5秒闪烁一次。

三、基本原理(重点)

3、双闪灯硬件电路的设计4、源程序: ORG 0000HLOOP:MOV A,#7EH MOV P0,A

LCALL DEL500ms MOV A,#0FFH MOV P0,A

LCALL DEL500ms SJMP LOOPDEL500ms: MOV R2,#5LOOP2: MOV R3,#200LOOP1: MOV R4,#250 DJNZ R4,$ DJNZ R3,LOOP1 DJNZ R2,LOOP2 RET END三、基本原理(重点)5、编译与调试(1)把源程序编译成可执行文件。(2)把上面的参考源程序编译成十六进制的可执行文件,进行程序Proteus仿真,验证可行性。(3)把程序下载到单片机。(4)实物测试与调试:把单片机放到电路中,进行调试验证。调试成功后,把R2的参数改成20,再观察一下电路的现象,思考一下发生变化的原因?四、实物效果展示五、思考题与课外拓展1、思考题:

(1)、单片机开发系统由哪些部分组成?各部分的具体任务是什么?(2)、单片机的硬件调试主要内容有哪些?2、课外拓展:请基于以上原理设计延时程序,设计实现汽车的尾灯的所有功能。(要求在Proteus软件仿真平台自主完成设计)ThankYou!单片机技术《Proteus平台单片机项目式教程》西安电子科技大学出版社主讲:XXX江西农业大学南昌商学院三、延时子程序的设计方法课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。单片机的最小应用系统单片机是在时序的指挥下工作的,机器周期是单片机指令执行的基本时间单位。机器周期的计算方法:当系统采用12M的晶振,则晶体振荡频率fosc=12MHz机器周期TM=12x(1/12M)=1us。一、课程引入第二步:启发式引入新的问题:就单片机执行指令的速度,靠一条单周期的MOV指令就可以完成了一个点亮发光二极管的操作,然而,MOV指令执行时间只需要1us。问题是:这个时间太短,发光二极管来不及发光、人眼更看不到发光。怎么办?大家想一下办法?第三步:提出这节课中心问题:那么,该怎样设计一个10ms的延时子程序?应用提示:让单片机做些无用功,延时一段时间。我们经常用一个10ms的延时子程序来点亮数码管、LED或延时去按键的抖动,或降低CPU执行效率,单片机的应用几乎少不了10ms的延时子程序。答案是:通过延时程序降低CPU执行效率。二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)提问:改变延时时间,现象会怎么样?1uS、1mS、1S、1min?三、基本原理(重点)1、设计方法二是:用指令循环来实现。一是:通过定时器中断实现。延时程序设计方法三、基本原理(重点)2、本系统晶振fosc=12MHz,则机器周期TM=12x(1/12M)=1us。现在写一个10ms的延时子程序,可大致写出如下:指令含义机器周期数(时间/次)执行的次数时间DELAY:MOVR6,#20①;R6=20D1:MOVR7,#X②;R7=Xok:DJNZR7,ok③;R7-1?=0DJNZR6,D1④;R6-1?=0RET⑤;返回令总时间等于10ms:即为1+20+

40X+

40+

2=10000us12020X20112040X40211222解方程得:X=248.425,四舍五入取整得:X=248意味着:上述五条指令严格的延时时间不是10ms,而是9983us。以C语言程序类比,加深对汇编语言程序的理解度,并为后期C语言编程的过渡埋下伏笔。voiddelay10ms(void){unsignedchari,j;

for(i=20;i>0;i--)

for(j=248;j>0;j--);}三、基本原理(重点)

假设:当X=248时,上述5条指令近似为10ms。即:R6=20、R7=248时,延时10ms。那么:同样的原理,问延时5ms的子程序该怎么写?由大循环次数可知:当R6=10、R7=248时,延时5ms。提问:同理,0.1秒该怎么写?以此为基本的计时单位。如要求0.1秒=100ms,10ms×R5=100ms,则R5=10,延时子程序如下:DELAY_0.1s:MOVR5,#10DELAY:MOVR6,#20D1:MOVR7,#248DJNZR7,$DJNZR6,D1DJNZR5,DELAYRET提问:请大家讨论一下,延时一秒该怎么改?四、实物效果展示四、实物效果展示实验程序(自学):#include<reg51.h>//注释为:包含51的头文件。voiddelay10ms(void){

unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}voidmain() //主程序main函数。{

while(1) //死循环。{

intj; //定义一个变量j。

P1=0x00; //

for(j=0;j<20;j++) //for循环,{delay10ms(); //调用延时子函数。 }

P1=0x0ff; //

for(j=0;j<20;j++) //for循环,。{

delay10ms(); //调用延时子函数。 }}}

ORG 0000HLOOP:

MOVP1,#00H

LCALL Delay

MOV P1,#0ffH

LCALL Delay

SJMP LOOPDelay:

MOVR6,#0

MOVR7,#0DelayLoop:DJNZR6,DelayLoop

DJNZR7,DelayLoop

RETDelay100ms:

MOV R2,#10LOOP2: MOV R0,#20LOOP1: MOV R1,#248

DJNZ R1,$

DJNZ R0,LOOP1

DJNZ R2,LOOP2

RETEND五、思考题与课外拓展1、思考题:对于本实验延时子程序Delay:MOVR6,#0MOVR7,#0DelayLoop:DJNZR6,DelayLoopDJNZR7,DelayLoop

RET如使用12MHz晶振,粗略计算此程序的执行时间为多少?2、课外拓展:请基于以上原理设计延时程序,使P1口的发光二极管亮灭1S间隔闪烁。(要求在Proteus软件仿真平台自主完成设计)ThankYou!单片机技术主讲:XXX《Proteus平台单片机项目式教程》西安电子科技大学出版社江西农业大学南昌商学院四、流水灯的设计课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。单片机应用系统中少不了延时程序。上节课,我们讲了单片机的延时子程序的设计方法:通过多重循环嵌套的方式实现延时控制的。voiddelay10ms(void){unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}这节课我们就来做一个具体的应用设计,并通过这个流水灯的实例来展示单片机P1口的输出控制功能。启示:(思政:生活中快慢的艺术)(1)当我快速将粉笔抛出时,你眼睛看到的粉笔是什么样子?是不是一条白色的线?慢慢移动是什么样子,是不是一个点?(2)你不知道是:也许在小猫小狗、苍鹰的眼里,教学楼门口的点阵显示屏是一条条跑起来的几个乱点,根本不是动态的字。一、课程引入第二步:启发式引入新的问题:根据上节课的启示:以单片机执行指令的速度,1us就可以完成了一个点亮发光二极管的操作,通过延时,可以让发光二极管发光,甚至让人看到发光。但是存在的问题是:我们该采用多大的延时来实现流水灯的效果?当流水灯延时时间分别为0.1ms、10ms、1s时,会有什么样的不同效果?第三步:提出这节课中心问题:那么,该怎样设计一个“看得见”的流水灯?二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)提问:改变延时时间,现象会怎么样?1uS、1mS、1S、1min?三、基本原理(重点)

1、基本功能需求让发光二极管循环点亮。2、硬件电路的设计:P1口的八个发光二极管正极通过100欧姆的限流电阻接电源+5V,直接为高电平,负极通过单片机P1口输出的低电平来点亮。低电平点亮,高电平不亮。三、基本原理(重点)3、程序设计:画出流程图!开始设置初始值设移位次数数据输出左一位延时移位次数完成?是否三、基本原理(重点)源程序讲解 ORG0000H LJMPSTART ORG0030HSTART:MOVA,#0FEH MOVR2,#8OUTPUT:MOVP1,A

RLA ACALLDELAY DJNZR2,OUTPUT LJMPSTARTDELAY:MOVR6,#0;延时 MOVR7,#0DELAYLOOP: DJNZR6,DELAYLOOP DJNZ

温馨提示

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

评论

0/150

提交评论