项目单片机流水灯控制器设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

项目一单片机流水灯控制器设计项目一单片机流水灯控制器设计项目任务描述:–以MCS-51系列单片机为核心,采用常用电子器件设计,设计一个流水灯控制器。该系统具有以下功能:–具有8位LED数码管的显示功能。–8路发光二极管显示各种流水灯。–可以完成各种奏乐,报警等发声音类实验。–复位功能。项目一单片机流水灯控制器设计项目一单片机流水灯控制器设计2.1仿真电路设计学习2.2程序设计学习2.3电路PCB设计及制作知识拓展小结项目一单片机流水灯控制器设计2.1仿真电路设计学习项目一单片机流水灯控制器设计2.1.1Proteus仿真电路设计利用ProteusISIS进行仿真电路原理图设计与在ProtelDXP中进行原理图设计非常相似,主要包括工作环境设置、加载元器件、元器件布局和属性修改、元器件布线、调整优化、生成网络表、电气规则检查等过程图2-1ProteusISIS原理图设计流程开始选择元器件放置元器件放置地线和电源是否合理结束否是电气规则检查编辑元器件连线调整优化新建文件项目一单片机流水灯控制器设计1)新建设计文件。为了程序调测的方便,我们往往将同一个项目的相关设计文件放到同一个文件夹里面,这样有利于项目的管理。2)选择元器件单片机流水灯控制器仿真电路主要包括单片机、复位电路、时钟电路、LED灯电路组成。3)放置元器件所谓放置元器件就是将所选的元器件放置在原理图编辑区中。4)放置“地”和电源5)编辑元器件元器件放置完成之后,元器件的标识等属性并不一定符合我们的要求,需要进行相应的设置。6)连线7)电气规则检查2.1.1Proteus仿真电路设计项目一单片机流水灯控制器设计2.1.2发光二极管发光二极管又称LED,是一种能够将电能转化为可见光的固态半导体器件。发光二极管具有使用寿命长、工作电压低(只需要一点几伏电压)、体积小、光效高、工作电流小(有的只需要零点几毫安即可发光)、无辐射与低功耗等特点,由此在大型电子展示屏、交通讯号、广告业务多媒体、城市亮化等场合获得了广泛的应用。在实际应用中往往利用红、绿、蓝三基色原理,通过单片机等微控制器使三种颜色的LED光源具有256级灰度并任意混合,从而产生种颜色,形成不同光色的组合变化,实现丰富多彩的动态变化效果及各种图案。项目一单片机流水灯控制器设计2.1.2发光二极管图2-2灌电流驱动图2-3拉电流驱动图2-4三极管扩流驱动项目一单片机流水灯控制器设计2.1.3单片机并行I/O口单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都是8位准双向口,共占32根引脚,每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输出驱动器和输入缓冲器。项目一单片机流水灯控制器设计2.1.3单片机并行I/O口图2-5P0~P3专用寄存器项目一单片机流水灯控制器设计2.1.3单片机并行I/O口图2-6P0口某位逻辑电路1、P0口电路认知项目一单片机流水灯控制器设计2.1.3单片机并行I/O口图2-7P1口某位逻辑电路2、P1口电路认知项目一单片机流水灯控制器设计2.1.3单片机并行I/O口图2-8P2口某位逻辑电路3、P2口电路认知项目一单片机流水灯控制器设计2.1.3单片机并行I/O口图2-9P3口某位逻辑电路4、P3口电路认知项目一单片机流水灯控制器设计2.1.4单片机电平特性MCS-51单片机作为一种数字集成芯片,采用的是5VTTL电平,数字电路中只有两种电平:高电平和低电平,分别代表逻辑“1”与逻辑“0”。当输出电压=2.4V,表示输出逻辑电平“1”;当输入电压=2.0V,表示输入逻辑电平“1”;当输出电压=0.4V,表示输出逻辑电平“0”;当输入电压=0.8V,表示输入逻辑电平“0”。项目一单片机流水灯控制器设计2.2程序设计学习基于KeilμVision4IDE开发平台进行单片机项目程序设计的流程如图2-10所示,主要包括创建项目文件、设置项目参数、编写源程序、调试运行等步骤。项目一单片机流水灯控制器设计2.2程序设计学习图2-10Keil项目设计流程图项目一单片机流水灯控制器设计2.2.1程序设计1、创建工程和文件。2、设置项目参数建立了工程之后,还需要对工程进行设置。主要内容包括软件设置和硬件设置。其中,软件设置内容包括程序的编译、连接及仿真调试的设置;硬件内容的设置主要包括仿真器的设置。3、编写源程序项目一单片机流水灯控制器设计2.2.1程序设计3、编写源程序流水灯控制要求如下:(1)开始,8只发光二极管全亮;(2)延时1秒,按D1-D2-D3-D4-D5-D6-D7-D8顺序依次熄灭8只发光二极管,时间间隔50毫秒;(3)延时1后秒,8只发光二极管以50毫秒时间间隔闪烁,持续时间1秒;(4)按D8-D7-D6-D5-D4-D3-D2-D1的顺序依次点亮8只发光二极管,时间间隔50毫秒;(5)延时1秒后,8只发光二极管以50毫秒时间间隔闪烁,持续时间1秒;(6)重复步骤(2)~(5)。项目一单片机流水灯控制器设计2.2.1程序设计图2-11流水灯程序流程图项目一单片机流水灯控制器设计2.2.1程序设计4、调试运行源程序编写完成后就可以调试运行了(在编译之前建议大家先保存一次文件)。注意,在项目的开发过程中并不是要将所有程序编写完成之后才进行调试和仿真,而是编写完成某个功能模块之后便进行调试,然后通过调试及时发现程序的问题。在编程的过程中要遵循模块化的设计思想,从简单到复杂进行设计,这样不但可以加快程序编写速度,而且可以减小错误的发生。此外,还应该养成给程序写注释的习惯,这样不但有利于团队其他人员理解自己的程序,也方便程序的移植。项目一单片机流水灯控制器设计开始链接生成HEX文件编译查找程序错误运行程序查看变量仿真电路联合调试编写应用程序是否有错是否符合要求是否符合要求结束否是否否是是图2-12程序调试流程图项目一单片机流水灯控制器设计图2-13常用调试工具及快捷键项目一单片机流水灯控制器设计2.2.2单片机的存储器认知存储器是单片机的记忆部分,用于存放程序和数据。51系列单片机的存储器包括片内程序存储器(片内ROM)、片外程序存储器(片外ROM)、片内数据存储器(片内RAM)、片内特殊功能寄存器(SFR)、片外数据存储器(片外RAM)5部分项目一单片机流水灯控制器设计2.2.2单片机的存储器认知1、程序存储器程序存储器用于存放程序、表格、常量,片内片外程序存储器统一编址在0000H~FFFFH共64KB的地址空间,通过引脚来选择地址空间使用内部程序存储器还是片外程序存储器。当引脚置高电平(),低4KB在片内(0000H~0FFFH),其余的60KB在片外(1000H~FFFFH);当引脚置低电平(),64KB的程序存储器全部在片外,此时片内的低4KB程序存储器空间不可访问。项目一单片机流水灯控制器设计2.2.2单片机的存储器认知2、数据存储器MCS-51系列单片机的片内数据存储器和特殊功能寄存器(SFR)统一编址在00H~FFH共256B的空间,其中00H~1FH为工作寄存器组地址空间;10H~2FH为可位寻址区空间,共16个字节,每个字节8位,每一位都有一个独立的编号(位地址);30H~7FH为用户RAM区,按字节寻址;80H~FFH为特殊功能寄存器SFR(SpecialFunctionRegiter),共21个字节。项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知1、C51的数据类型、存储类型和作用域在学习C语言的时候我们知道每一个变量都必须先声明,后使用,对变量的声明主要包括三个方面:数据类型、存储类型和作用域。通过声明变量的数据类型就等于告诉单片机变量所在存储空间的大小、变量的取值范围;存储类型则限定了变量在单片机的具体存储位置;作用域的定义则决定了变量的作用范围项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知图2-14C51语言的基本数据类型项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知图2-15C51数据存储类型项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知图2-16C51数据存储类型项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知2、C51的宏定义所谓“宏”就是在程序的开始将一个“标识符”定义成“一串符号”,称为“宏定义”,这个“宏标识”就称为‘宏名’;在源程序中可以出现这个宏,称为“宏引用”或“宏调用”;在源程序编译前,将程序清单中每个“宏名”都替换成对应的“一串符号”,称为“宏替换”,也称为“宏扩展”(为了区别于一般的变量名、数组名、指针变量名,宏名通常都用大写字母组成)。宏定义是以“#define”开头的编译预处理命令,分为无参宏和带参宏两种。在C51编程中,使用宏定义可以防止出错,提高可移植性,可读性,方便性等。项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知3、C51的运算符运算符是告诉编译程序执行特定算术或逻辑操作的符号,C51的运算符跟C语言基本相同,有三大运算符:算术运算符、关系与逻辑运算符、位操作运算符项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知图2-17C51的关系与逻辑运算符项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知图2-18C51的位操作运算符项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知4.、C51的基础语句C51语言的常用语句可分为顺序语句、分支语句、循环语句、辅助控制语句。项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知图2-19C51基础语句项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知5、C51的函数随着要处理的问题的增多,程序变得越来越长,程序越长,涉及的问题越多,开发越困难。而且,长的程序阅读和了解起来非常困难,严重影响程序的开发和维护,因此在单片机的开发过程中,我们往往采用模块化的设计思想,尽量将复杂的问题简单化,将原来很长的程序要处理的问题进行分解为一些相对简单的部分,分别进行处理,通过各个部分问题的解决完成复杂程序和软件系统的设计。函数的作用就是将一段计算抽象出来,封装(包装)起来,使之成为程序中的一个独立部分,并给这样封装起来的代码取一个名字,做出一个函数定义。当程序中需要做这段计算时,通过调用相应的函数来实现。通过这样的函数抽象机制,可以将重复出现的程序代码被一个唯一的函数定义和一些形式简单的函数调用所取代,使得程序变得简短和清晰。函数必须先定义(声明),后调用。函数定义的一般形式为:返回值类型函数名(行式参数列表){函数体}项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知6、C51的二进制和十六进制二进制是电子计算机技术中应用最广泛的一种进制。二进制数据由1和0两个基本字符组成,“逢二进一,借一当二”。0和1两个字符用于表示具有两个不同稳定状态的元器件的通断,电压的高低,电压的有无等,运算规则非常简单方便,易于电子方式实现。二进制数据采用位置计数法,位权是以2为底的幂,以后缀B表示二进制数,例如1101B。十六进制是以字符0~9,A,B,C,D,E,F组成(十进制的10对于十六进制的A,11对应B,12对应C,13对应D,14对应E,15对应F),“逢十六进一,借一当十六”。与二进制一样,十六进制也采用位置计数法,位权是以16为底的幂,以后缀H或者前缀0X表示。例如13H、13h、0X13、0x13都表示相同的十六进制数。项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知图2-20二进制、十进制、十六进制的转换关系项目一单片机流水灯控制器设计2.2.3单片机C51语言基础认知7.reg51.h头文件单片机流水灯控制器程序的第一条语句是“#inlucereg51.h”,它的作用是将MCS-51单片机的特殊功能寄存器和位寄存器的定义加载进来,这样在编写C51程序时就可以直接应用。项目一单片机流水灯控制器设计2.3电路PCB设计及制作2.3

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功