《Proteus仿真平台单片机项目式教程》全套教学课件_第1页
《Proteus仿真平台单片机项目式教程》全套教学课件_第2页
《Proteus仿真平台单片机项目式教程》全套教学课件_第3页
《Proteus仿真平台单片机项目式教程》全套教学课件_第4页
《Proteus仿真平台单片机项目式教程》全套教学课件_第5页
已阅读5页,还剩353页未读 继续免费阅读

下载本文档

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

文档简介

单片机技术

项目0.单片机基础概述项目1双闪灯-1.KeilC软件的使用及在线联调项目1双闪灯-2.Proteus仿真软件的使用及在线联调项目1双闪灯-3.汽车双闪灯控制系统的设计项目2流水灯-1.延时子程序的设计方法项目2流水灯-2.流水灯的设计项目2流水灯-3.P1口输入、输出控制项目3抢答器-1.静态数码显示项目3抢答器-2.0—9随机抽号器的设计项目3抢答器-3.抢答器的设计项目4交通灯-1外部中断技术项目4交通灯-2交通灯的设计项目5定时器-1.定时1S项目5定时器-2.“9分59秒”定时器项目6串口通信项目799马表项目8动态数码显示屏项目9简易电子琴项目10数字电压表-1.DA转换项目10数字电压表-2.AD转换项目10数字电压表-3.数字电压表的设计项目11数字钟项目12液晶显示万年历全套可编辑PPT课件课程地位、考核与评分说明课程地位:专业核心课。成绩百分制录入:平时成绩为: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接口等部分组成。2024/10/2211二、单片机有什么用?在工业、农业、军事、保安、金融、仪器仪表、航空航天、医疗、通讯、办公设备、娱乐休闲、健身、体育竞赛、服务领域……,大量单片机-嵌入式技术已经无处不在。正迅速改变着人们传统的生产和生活方式。请稍微留心一下我们的周围,看看身边到底发生了什么变化?可以嵌入到电子产品中——嵌入式应用系统单片机已经应用到生活的各个领域。单片机应用领域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

2024/10/2232因此:

将(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

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

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

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

2.原码

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

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

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

35例如,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)单片机应用系统开发流程36明确系统任务,确认功能边界。硬件电路设计。包括前期方案论证,关键器件选型和总体方案设计,也包括各模块电路设计与实现。软件程序设计。仿真与调试。实物打样、系统调试与测试。用户试用、修改和交付。3、单片机最小系统-点亮LED(2)单片机最小系统37

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

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

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

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

ORG0000H ;伪指令。LJMP START ;跳转START:MOV P3,#0FEH;点亮LED。LJMP START;无限循环。 ENDThankYou!

单片机技术

第一讲: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仿真软件的使用及在线联调课程引入

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)间隔点亮动起来?或者跑起来。课外(自学):间隔点亮的效果ThankYou!

单片机技术

六、汽车双闪灯控制系统的设计课程引入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!

单片机技术

三、延时子程序的设计方法课程引入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,#0

MOVR7,#0DelayLoop:DJNZR6,DelayLoopDJNZR7,DelayLoop

RET如使用12MHz晶振,粗略计算此程序的执行时间为多少?2、课外拓展:

请基于以上原理设计延时程序,使P1口的发光二极管亮灭1S间隔闪烁。(要求在Proteus软件仿真平台自主完成设计)ThankYou!

单片机技术

四、流水灯的设计课程引入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

DJNZR7,DELAYLOOP

RETEND(问:看得见不?这是上节课的思考题,延时时间为多少?)答案是:0.13S提问:1、将延时分别改为0.1ms、10ms、1s时,会有什么样的不同现象?2、怎么改变方向呢?四、实物效果展示运行以后观察到实验箱的现象:发光二极管从右到左轮流循环点亮。

五、思考题与课外拓展1、思考题:

对于本实验中将延时分别改为0.1ms、10ms、1s时,会有什么样的不同现象?为什么?程序具体怎么改?2、课外拓展:

请基于本节课讲的基本原理修改程序,设计一个可以来回跑的双向流水灯。(要求在Proteus软件仿真平台自主完成设计)ThankYou!

单片机技术

五、P1口输入、输出控制课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课,我们基于单片机的最小应用系统完成了流水灯的设计,讲解了流水灯的编程应用方法,它是P1口作为output输出功能使用的典型实例。但是,P1口是不是仅仅具有输出控制功能呢?单片机P0、P1、P2、P3口最典型的功能是I/O口的输入输出控制功能。

一、课程引入第二步:启发式引入新的问题:那么,单片机的P1口作为Input输入功能使用时,与output输出功能有什么不同?需要注意什么问题?第三步:提出这节课中心问题:“怎样通过按键输入信号给单片机,控制LED灯执行亮灭操作?”应用提示:单片机可以通过检测到按键或传感器给出的高低电平的Input,实现对LED灯或声控装置、继电器装置等报警器的设计,实现输入输出控制功能的基本应用。答案是:作为输入功能时先要向端口锁存器写“1”操作,实现解锁。(思政:输入与产出)记住口诀:欲读先置一二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)

提问:怎样实现按键拓展,10个,100个?三、基本原理(重点)

1、P1口结构原理由图可见,要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态。具有这种操作特点的输入/输出端口,称为准双向I/O口。8051单片机的P1、P2、P3都是准双向口。总结:P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。请记住口诀:欲读先置一三、基本原理(重点)

2、设计任务的功能需求左右两按键分别控制左右两LED灯。3、流水灯硬件电路的设计4、程序设计:程序流程图开始P1.0,P1.1置一读入P1.0口值将读入的值输出到P1.2读入P1.1口值将读入的值输出到P1.3三、基本原理(重点)

源程序:

KEYLEFT

BITP1.0;定义

KEYRIGHTBITP1.1

LEDLEFT

BITP1.2

LEDRIGHTBITP1.3

ORG

0000H

LJMP

START

ORG

0030HSTART:SETBKEYLEFT;欲读先置一

SETBKEYRIGHTLOOP:MOVC,KEYLEFT

MOVLEDLEFT,C

MOVC,KEYRIGHT

MOVLEDRIGHT,C

LJMPLOOP

END提问:请大家讨论一下,怎样编写程序将2个发光二极管、2个拨断开关拓展到8个,程序有几种写法,各抒已见?四、实物效果展示五、思考题与课外拓展1、思考题:用更简单的编程方法实现该实验的内容,请写出程序?2、课外拓展:

请基于以上原理现场设计程序,使单片机控制8个LED指示8个拨断开关的状态。要求在Proteus平台自主完成设计)ThankYou!

单片机技术

七、静态数码显示课程引入

1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课,我们基于单片机的最小应用系统完成了汽车双闪灯控制系统的设计,它是单片机控制发光二极管的应用设计实例。但是生活中,我们经常用发光二极管来构成数码管的方式来显示基本信息。这节课,我们将讲述:怎么样利用单片机驱动控制一位数码管显示字符或数据?请大家一起来体验它的应用设计过程。一、课程引入第二步:启发式引入新的问题:在生活中,数码管的显示方式分为:静态显示和动态显示。(一动一静之间,彰显科技之美!)你知道什么叫静态显示、动态显示吗?(互动提问)第三步:提出这节课中心问题:

怎样通过单片机驱动一位数码管静态显示数字“0-9”或字符“a-f”中任意一个?

应用提示:生活中各个门店的的广告牌、显示屏的原理基本上都是采用静态或动态的驱动显示方式。答案是:静态显示和动态显示区别在于它的数据驱动方式,说白了就是单片机给数据的方式,而不是显示字符静止或流动。动态显示后面专题再讲,大家先网上自学一下。二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)

提问:数码管能显示字符吗,想想用它能显示哪些字符?三、基本原理(重点)

1、数码管简介数码管一种是半导体发光器件,分共阴、共阳两种。共阴极数码管:8个发光二极管的阴极(二极管负端)连接在一起。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流。三、基本原理(重点)

2、静态数码显示的工作原理数码管的工作原理:是通过单片机的I/O端口进行驱动数码管的各个段码,点亮不同的段码从而形成字符显示出我们要的数字或字符。静态显示原理:当数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。每个数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来,并保持不变,直到I/O口输出新的段码。采用静态显示方式的特点:较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单,显示便于监测和控制,但其占用的口线多,硬件电路复杂,成本高,只适合于显示位数较少的场合。

三、基本原理(重点)

3、数码管显示的编码原理要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。

P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0显示字符编码数据D7D6D5D4D3D2D1D0dpgfedcba00111111“0”3FH00000110“1”06H01011011“2”5BH01001111“3”4FH01100110“4”66H01101101“5”6DH01111101“6”7DH00000111“7”07H01111111“8”7FH01101111“9”6FH01110111A77H01111100B7CH111111“0”00111111“0”3FH三、基本原理(重点)

4、任务分析和硬件电路设计采用AT89c51单片机作为本系统的控制核心,利用单片机P0口直接驱动一个共阴的数码管,驱动显示数据“5”。(1)硬件电路设计共阴数码管的公共端通过限流电阻接地,笔段端通过单片机P0口直接驱动,单片机是无法提供足够的驱动电流的。

为了节省硬件,直接采用上拉电阻进行简单的驱动配置,达到提供驱动电流的目的,提高数码管的显示亮度。

三、基本原理(重点)

5、软件程序

BUF1

EQU30H ORG

0000H LJMP

START ORG

0030HSTART: MOV

BUF1,#05HNEXT:MOV

A,BUF1 MOV

DPTR,#TABLE MOVC

A,@A+DPTR MOV

P0,A LCALL

DELY10MS LJMP

STARTDELY10MS:MOV

R6,#20D1: MOV

R7,#248 DJNZ

R7,$ DJNZ

R6,D1 RETTABLE: DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5 DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B DB58H,5EH,79H,71H,40H,00H;C,D,E,F,- END提问:请大家讨论一下,怎样编写程序实现一位数码管交替显示“6”、“A”?四、实物效果展示五、思考题与课外拓展1、思考题:编写程序实现一位数码管交替显示“6”“A”。2、课外拓展:

请基于以上原理设计程序,在Proteus软件仿真平台分别实现以下功能。

(1)请利用单片机四组I/O口分别驱动4位数码管显示“good”、“1000”。

(2)请利用驱动芯片组成并口静态数码显示电路,显示“012345”等,提示可采用74LS373等数据锁存器。

(3)请利用驱动芯片组成串口静态数码显示电路,显示“HELLO”等字符,提示可采用74LS164等串行移位寄存器。

课外(自学):交替显示“6”“A”课外(自学):显示“HELLO”ThankYou!

单片机技术

八、0—9随机抽号器的设计

课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课,我们基于单片机的最小应用系统完成了数码管的字符显示功能,它是单片机控制数码显示的静态显示实例,后面我们也会接着讲动态数码显示的编程方式。这节课将在上节课静态显示的基础上巩固加深,做一个数码跑动的键控效果,让数码管“动”起来。一、课程引入第二步:启发式引入新的问题:生活中,我们经常用到随机抽号器,例如考试的随机抽题、各种随机形式的抽签等等。以最简单的0-9随机抽号器的设计为例。那么请大家一起讨论一下,我们需要从那几个方面考虑?请积极发言:第三步:提出这节课中心问题:针对上述四个关键问题请给出最佳的设计、处理思路?

(1)数码管的显示,需要能够从0到9快速跑起来。(2)按键控制停止,按下键就停在某一随机数字上。(3)如何保证0-9的数据具有随机性?(4)怎样恢复到下一次的抽号?二、应用效果仿真展示仿真平台应用效果展示(激发学生学习兴趣)1、设计方法(4)怎样恢复到下一次的抽号?对策思路:最佳的人性化方案是,再按一下同一个键,即可立刻自动复位到随机抽号功能。可以通过开关按键的电平检测细分状态编程实现。(1)数码管的显示,需要能够从0到9快速跑起来。对策思路:要用一个计数变量,编程做加法运算实现0到9的循环数,之后译码显示。任务分析(2)按键控制它的停止,按下键就停在某一随机数字上。对策思路:要做一个按键检测,检测到就锁存正显示的数据不动,并且要始终嵌套在主程序中一直执行按键扫描。(3)如何保证0-9的数据具有随机性?对策思路:要保证公平性和随机性,加法循环计数速度要远远超过按键的操作速度,可以采用1秒钟,循环计数1000-10000次。三、设计原理(重点)三、设计原理(重点)2、系统设计(1)硬件电路设计采用AT89c51单片机作为本系统的控制核心,利用单片机P0口直接驱动一个共阴的数码管,按键状态通过P3.7口输入,不按为高电平,按下为低电平。三、设计原理(重点)

(2).软件程序编写

Count EQU30H SP1 BITP3.7 ORG 0000H LJMP START ORG 0030HSTART: MOV

Count,#00H MOV

DPTR,#TABLELOOP: MOV A,Count ADD A,#1 DA A ANL

A,#0FH MOV

Count,A MOVC

A,@A+DPTR MOV

P0,Asweep:JB

SP1,LOOP;等于1跳转。LCALL

DELY10MS JB

SP1,LOOPwt:

JNBSP1,wt;检测按键释放1;JNB等于0就跳转。

;LJMP$wIt:

JBSP1,wIt

;检测是否再次按键复位0,没有就等待wt2:

JNBSP1,wt2

;按键了准备复位,等待释放后复位。

LJMPSTARTDELY10MS:

MOVR6,#20D1: MOVR7,#248 DJNZR7,$ DJNZR6,D1 RETTABLE:

DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5

DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B

DB58H,5EH,79H,71H,40H,00H;C,D,E,F,- END

思考:请大家讨论一下,怎样编写程序实现两位数码显示的随机抽号功能?四、实验箱演示实物运行效果:五、思考题与课外拓展1、思考题:怎样编写程序实现两位数码显示的随机抽号功能?2、课外拓展:请基于以上原理设计程序,在Proteus软件仿真平台分别实现以下功能。(1)请编程实现一位数码管的0-9随机抽签排序功能,随机抽出0-9的数字各一,保证稳定性,防止误操作。(难点提示:可以通过“两键互锁,一键恢复”的方式防止误操作。)(2)请编程实现1-4位数码管随机抽号功能,添加一个按键,用于选择数码管的位数的模式切换。(3)请编程实现1-4位数码管随机抽签排序功能,添加一个按键选择数码管的位数模式切换。ThankYou!

单片机技术

项目3抢答器的设计

课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课,我们基于单片机的最小应用系统完成了0-9随机抽号器的设计。一、课程引入今天我们将在此基础之上,设计一个抢答器。这是对数码显示技术及按键检测处理方法的一次综合型设计,目的是训练大家的应用编程能力,帮助理解前面的知识点,形成实际的编程应用能力。下一节课我们将转入下一个项目:交通灯的设计一、课程引入第二步:启发式引入新的问题:常见的抢答器有哪些功能?请大家回想数字电路课程设计中抢答器,它主要由哪几部分构成?以8路抢答器的设计为例。请大家一起讨论一下,我们需要从那几个方面考虑?第三步:提出这节课中心问题:针对上述四个关键问题请给出最佳的设计、处理思路?

(1)数码管的显示、驱动方式。(2)按键检测与处理。(3)如何保证抢答器的公平性?(4)怎样恢复到下一次的抢答?二、应用效果仿真展示仿真平台应用效果展示(激发学生学习兴趣)1、设计方法(4)怎样恢复到下一次的抢答?对策思路:设置主持人键,主持人按复位键手动恢复下一次抢答。分正常抢答完成、提前抢答和抢答超时三种情况下的复位。(1)数码管的显示、驱动方式。对策思路:数码管显示位数不多,可以采用静态显示,共阴数码管采用上拉电阻驱动即可。任务分析(2)按键检测与处理。对策思路:采用独立式按键,检测按键输入的电平变化,对按键扫描需要考虑到按键抖动的干扰,需要消抖处理。(3)如何保证抢答器的公平性?对策思路:利用开机自检、测试保证设备公平性;扫描的按键速度us级保证按键动作捕获公平;设置抢答锁定,设置主持键允许抢答、提前抢答违规处理保证过程公平。三、设计原理(重点)三、设计原理(重点)2、相关知识(1)按键去抖动

接触式按键,是有机械触点的弹性开关。按键按下,开关闭合;按键释放,开关断开。实现电气上逻辑关系的输出,提供标准的TTL逻辑电平。理想波形按键机械抖动波形一般有硬件消抖和软件消抖两种方法。三、设计原理(重点)硬件消抖:RC滤波去抖动脉冲计数就是合理设置一个计数值,通过计数来确认按键动作,避免重复响应。延时消抖是根据按键抖动出现的特性,利用10ms左右的延时,规避抖动信号出现的时间段,达到软件消抖的目的。软件消抖:脉冲计算、延时响应消抖。三、设计原理(重点)(2)数码管显示字符编码数据:单片机对笔段端I/O口输出的编码数据。共阴数码管显示字符“0”,对应的数据D7~D0为:3FH。数码显示方式:静态显示和动态显示。

这里采用静态显示:通过驱动器或锁存器直接控制数码管的显示,单片机端口直接驱动一位数码管。静态显示,耗占用CPU时间少。一般只适合于数码管显示位数较少的场合。数码管编码数据三、设计原理(重点)(3)驱动接口电路设计数码管、LED、点阵等发光部件常需要用数据锁存器74273、缓冲器74245、反相器7406、达林顿管UL2003等来做驱动。抢答器中的蜂鸣器、扬声器常需要三极管作驱动接口设计。常见的三极管接口电路三、设计原理(重点)3、系统设计(1)需求功能边界的确认开机自检:数码管倒计数,LED流水灯,显示是否正常。待机准备:禁止抢答,显示“0”,LED全亮,抢答键无效。主持人抢答键按下:蜂鸣器提示,数码管初始显示“-”,指示灯灭。数码管闪烁显示“g”、“o”,表示抢答键开始有效。提前抢答:数码管显示“E”,表示error,LED指示哪路提前抢答。抢答成功:蜂鸣器发声提示,数码管显示抢答结果,进入锁定状态。若抢答超时,蜂鸣器长响,主持人按键后恢复待机准备状态。三、设计原理(重点)(2)硬件电路设计

采用89c51单片机作为主控,利用单片机P1口扫描8路抢答按键,P2口接LED指示灯,并通过P0口上拉驱动的数码管显示。P3.0口为主持人键,P3.7口驱动蜂鸣器。三、设计原理(重点)

(3)

程序设计方法:先画出流程图,再写代码。代码分析见教材,或项目配套工程文件中讲解。思考:

请大家讨论,怎样编写程序实现10路抢答功能?四、实验箱演示实物运行效果:五、思考题与课外拓展1、思考题:基于Proteus平台,自己编程,独立完成简化版的八路抢答器设计:能够8路抢答、锁存、显示即可,做出仿真效果图。2、课外拓展:

拓展一:要求自己动手查找资料,基于Proteus平台,用C语言编写程序实现十路抢答器。拓展二:基于Proteus平台,实现具有数码0~9随机抽号功能。拓展三:基于Proteus平台,实现99计数器,按下键,数码管计数值加1。ThankYou!

单片机技术

项目4交通灯-外部中断技术课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课我们讲了8路抢答器的设计,单片机通过检测8路按键的状态判断抢答对象,并数码显示。主要涉及到数码显示技术及按键检测处理方法。前面讲的这些都是属于单片机基本的端口控制功能应用方法与技巧,今天我们开始涉及到单片机智能型体现的关键技术——中断系统

温馨提示

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

评论

0/150

提交评论