第6章IO输出实战—跑马灯驱动电路与软件设计

上传人:gu****n 文档编号:243147563 上传时间:2024-09-16 格式:PPT 页数:17 大小:545KB
返回 下载 相关 举报
第6章IO输出实战—跑马灯驱动电路与软件设计_第1页
第1页 / 共17页
第6章IO输出实战—跑马灯驱动电路与软件设计_第2页
第2页 / 共17页
第6章IO输出实战—跑马灯驱动电路与软件设计_第3页
第3页 / 共17页
点击查看更多>>
资源描述
第二级,技术凝聚实力,专业创新出版,单击此处编辑母版标题样式,第,6,章,I/O,输出实战,跑马灯驱动电路与软件设计,在第一篇中首先详细介绍了,8051,内核单片机的结构体系,又详细讲解了,Atmel,公司,8951,内核单片机,AT89S51,的软件及硬件开发环境。有了以上的基础,在第二篇中通过简单的开发实例让读者由浅入深系统地学习单片机各系统模块的软硬件设计和开发流程。,一个完整嵌入式系统的开发是一个系统的过程,包括了功能分析、总体规划、硬件与软件设计、系统仿真、现场调试及产品机壳与外形设计等过程。,本章就从嵌入式系统中单片机最简单的功能,I/O,输出开始讲起,以跑马灯系统设计为实例,详细讲解,AT89S51,的,I/O,口输出功能的使用和设计,并穿插一部分,AT89S51,的计时器(,Timer,)和中断的原理与使用方法。,6.1,跑马灯电路设计,单片机嵌入式系统中的跑马灯就像学习,C,语言的,“,Hello World,!,”,一样,很简单,却是一个非常经典的例子。对初学者来说,通过跑马灯系统设计的学习与编程,能很快熟悉单片机的操作方式,了解单片机系统的开发流程,并通过第一个实例增强自己学习单片机系统设计的信心。下面详细讲解跑马灯电路的设计。,6.1.1,跑马灯,跑马灯顾名思义,就是,“,会像马儿一样跑动,”,的小灯,故取名,“,跑马灯,”,。跑马灯在单片机系统中一般是用来指示和显示单片机的运行状态,一般情况下,单片机的跑马灯由八位,LED,发光二级管组成,可以方便的显示一个八位数据(,0255,)。,在单片机运行时,可以在不同状态下让跑马灯显示不同的组合,作为单片机系统正常的指示。,6.1.2,发光二极管基础知识,发光二极管的英文名为,Light Emitting Diode,,简称,LED,,发明于,20,世纪,60,年代,几十年来,发光二极管在各种电路中及嵌入式系统中得到了广泛的应用,跑马灯使用的,“,小灯,”,就是,8,个并排的,LED,。,LED,发光二极管将电能转变成光能,可由,III-V,族半导体材料制成。当工作在正向偏置状态时,,LED,发光二极管与普通的二极管极其相似,其同样具备单向导电特性,不同之处仅在于当加上正向偏置时,,LED,发光二极管将向外发光,此时能量通过,PN,结的载流子过程从电能转换为光能。,6.1.3,发光二极管与单片机接口,LED,发光二极管在电路图中的表示符号如图所示,与普通的二极管十分相似,只是多了两个向上的箭头表示发出光线。,6.1.4,发光二极管的限流,在几年前的单片机设计电路中,,LED,发光二极管是不能由单片机的,I/O,输出引脚直接进行驱动的,而要使用诸如,7405,等集电极开路门进行驱动,原因就是单片机的引脚不能够承受,LED,导通时的电流输入。,6.1.5,跑马灯电路设计,前面几节中详细讲解了利用,LED,发光二极管设计跑马灯电路的详细原理与方法,利用,Protel2004,等电路设计软件可以方便地进行电路设计与,PCB,板设计。,本章采用的跑马灯实例由,8,位,LED,发光二极管组成,由,AT89S51,的,P0,口进行驱动操作,具体电路设计如图所示,,P0,口的,8,个输出管脚分别接到了,8,个,LED,发光二极管的阴极,,LED,发光二极管的另一端由阻值为,470,欧的限流电阻上拉至电源,VCC,。,6.2,跑马灯软件设计,完成硬件设计之后即可开始跑马灯的软件设计,软件设计的目标是使跑马灯能够按照设想的方式显示出不同的发光组合,指示单片机系统不同的运行状态。下面详细讲述跑马灯的软件设计。,6.2.1,第一个单片机程序,对于初学者来说,第一个单片机程序往往都从跑马灯,LED,发光二极管的驱动开始,,,下面以这个最简单例子作为本书的第一个单片机程序,该程序基于,Atmel,公司的,89S51,进行编写,采用,P0,口驱动,8,位发光二极管跑马灯。具体的代码如下所示,可以在本书附带光盘中的源代码目录下找到相应的,C,源文件。,6.2.2,跑马灯编程,工作状态指示,在单片机中,可以利用跑马灯来指示单片机的工作状态,一般情况下,需要指示的状态有正常工作状态和故障状态。为了指示单片机目前正常工作,通常使用动态的跑马灯对正常状态进行指示,以便能够通过观察直接从跑马灯的状态得知当前单片机正在正常运行,没有出现“跑飞”或者“死循环”的现象,这在单片机调试过程中是十分有效的。,6.2.3,跑马灯编程,蛇形花样,所谓蛇形花样就是指跑马灯显示花样像一条蛇,不停的进行游走,具体花样如图所示,跑马灯显示了一段,4,位长的蛇形花样来对程序分支一进行指示。,在单片机中,可以利用跑马灯来指示单片机的工作状态,除了指示的状态有正常工作状态和故障状态以外,还需要对一些特殊的工作流程进行指示,例如指示程序的不同分支或程序的不同任务等等,这就需要利用跑马灯显示一些不同的花样来进行指示,本小节讲解蛇形花样的编程。,6.2.4,跑马灯编程,龙舞花样,除了蛇形花样以外,在进行系统状态分支指示时,还常用龙舞花样,本小节讲解龙舞花样的编程。,所谓龙舞花样就是指跑马灯显示花样象一条龙,来回进行摆动,具体花样如图所示,跑马灯显示了一段,4,位长的龙形花样来对程序分支二进行指示。,龙舞花样要比蛇形花样复杂一些,因此其程序逻辑也更复杂一些。,6.2.5,定时器中断延时程序设计,如,6.2.1,中所述,采用,delay(),函数进行的延时是不精确的,主要有以下两个原因。,(,1,)该类型的,delay(),函数采用的延时是通过对变量进行递减或递增实现的,很难计算精确的延时时间。,(,2,)由于跑马灯的状态函数和延时函数是和主任务耦合到一起的,因此主任务的执行时间要对延时的时间产生影响。如图所示,假设一个跑马灯的延时函数的延时时间是,1s,,但是由于主函数可能存在不同的分支,因此当主函数执行不同分支程序时,实际的跑马灯延时时间是不一样的。,6.3,问题与思考,本章从初学者设计中最容易犯的错误中挑出三个问题进行讲解,请读者自行完成题目后再依照题后答案进行思考与学习。,6.3.1,跑马灯电路设计问题,如图,6.11,所示为一基于,Atmel,公司的,AT89S51,单片机设计的跑马灯电路,,,这个电路存在哪些问题,,,为什么,?,6.3.2,延时程序设计问题,如下所示为一跑马灯程序设计,这段代码存在什么问题,为什么?读者可以把该段代码编译,下载到实验板上观察有何现象。,6.3.3,计时器程序设计问题,如下所示为一跑马灯计时器程序设计,这段代码存在什么问题,为什么?读者可以把该段代码编译,下载到实验板上观察有何现象。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!