项目单片机流水灯控制器设计_第1页
项目单片机流水灯控制器设计_第2页
项目单片机流水灯控制器设计_第3页
项目单片机流水灯控制器设计_第4页
项目单片机流水灯控制器设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、项目单片机流水灯控制器设计2.1 仿真电路设计学习仿真电路设计学习 2.2 程序设计学习程序设计学习 知识拓展知识拓展 小结小结 利用利用Proteus ISIS进行仿真进行仿真电路原理图设计与在电路原理图设计与在Protel DXP中进行原理图设计非常中进行原理图设计非常相似,主要包括工作环境设相似,主要包括工作环境设置、加载元器件、元器件布置、加载元器件、元器件布局和属性修改、元器件布线、局和属性修改、元器件布线、调整优化、生成网络表、电调整优化、生成网络表、电气规则检查等过程气规则检查等过程 图2-1 Proteus ISIS原理图设计流程 1)新建设计文件。 为了程序调测的方便,我们往

2、往将同一个项目的相关设计文件放到同一个文件夹里面,这样有利于项目的管理。2)选择元器件 单片机流水灯控制器仿真电路主要包括单片机、复位电路、时钟电路、LED灯电路组成 。3)放置元器件 所谓放置元器件就是将所选的元器件放置在原理图编辑区中。 4)放置“地”和电源 5)编辑元器件 元器件放置完成之后,元器件的标识等属性并不一定符合我们的要求,需要进行相应的设置。 6)连线 7)电气规则检查 发光二极管又称发光二极管又称LED,是一种能够将电能转化为可见光,是一种能够将电能转化为可见光的固态半导体器件。发光二极管具有使用寿命长、工作电的固态半导体器件。发光二极管具有使用寿命长、工作电压低(只需要一

3、点几伏电压)、体积小、光效高、工作电压低(只需要一点几伏电压)、体积小、光效高、工作电流小(有的只需要零点几毫安即可发光)、无辐射与低功流小(有的只需要零点几毫安即可发光)、无辐射与低功耗等特点,由此在大型电子展示屏、交通讯号、广告业务耗等特点,由此在大型电子展示屏、交通讯号、广告业务多媒体、城市亮化等场合获得了广泛的应用。在实际应用多媒体、城市亮化等场合获得了广泛的应用。在实际应用中往往利用红、绿、蓝三基色原理,通过单片机等微控制中往往利用红、绿、蓝三基色原理,通过单片机等微控制器使三种颜色的器使三种颜色的LED光源具有光源具有256级灰度并任意混合,从级灰度并任意混合,从而产生种颜色,形成

4、不同光色的组合变化,实现丰富多彩而产生种颜色,形成不同光色的组合变化,实现丰富多彩的动态变化效果及各种图案。的动态变化效果及各种图案。 图2-2 灌电流驱动 图2-3 拉电流驱动 图2-4 三极管扩流驱动 单片机总共有单片机总共有P0、P1、P2、P3四个四个8位双向输入输出端口,每个端口都是位双向输入输出端口,每个端口都是8位准双向口,共占位准双向口,共占32根引脚,每个端根引脚,每个端口都包括一个锁存器口都包括一个锁存器(即专用寄存器即专用寄存器P0P3)、一个输出驱动器和输入缓冲、一个输出驱动器和输入缓冲器。器。 图2-5 P0P3专用寄存器 图2-6 P0口某位逻辑电路 1、P0口电路

5、认知口电路认知 图2-7 P1口某位逻辑电路 2、P1口电路认知口电路认知 图2-8 P2口某位逻辑电路 3、P2口电路认知口电路认知 图2-9 P3口某位逻辑电路 4、P3口电路认知口电路认知 MCS-51单片机作为一种数字集成芯片,采用的是5V TTL电平,数字电路中只有两种电平:高电平和低电平,分别代表逻辑“1”与逻辑“0”。当输出电压=2.4V,表示输出逻辑电平“1”;当输入电压=2.0V,表示输入逻辑电平“1”;当输出电压=0.4V,表示输出逻辑电平“0”;当输入电压D2-D3-D4-D5-D6-D7-D8顺序依次熄灭顺序依次熄灭8只发光二极管,时间间隔只发光二极管,时间间隔50毫秒

6、;毫秒;v (3)延时延时1后秒,后秒,8只发光二极管以只发光二极管以50毫秒时间间隔闪烁,持续时间毫秒时间间隔闪烁,持续时间1秒;秒;v (4)按按D8-D7-D6-D5-D4-D3-D2-D1的顺序依次点亮的顺序依次点亮8只发光二只发光二极管,时间间隔极管,时间间隔50毫秒;毫秒;v (5) 延时延时1秒后,秒后,8只发光二极管以只发光二极管以50毫秒时间间隔闪烁,持续时间毫秒时间间隔闪烁,持续时间1秒;秒;v (6)重复步骤重复步骤(2)(5)。 图2-11 流水灯程序流程图 4、调试运行、调试运行 源程序编写完成后就可以调试运行了(在编译之前建议大家先保存一次文件)。源程序编写完成后就

7、可以调试运行了(在编译之前建议大家先保存一次文件)。注意,在项目的开发过程中并不是要将所有程序编写完成之后才进行调试和仿真,注意,在项目的开发过程中并不是要将所有程序编写完成之后才进行调试和仿真,而是编写完成某个功能模块之后便进行调试,然后通过调试及时发现程序的问题。而是编写完成某个功能模块之后便进行调试,然后通过调试及时发现程序的问题。在编程的过程中要遵循模块化的设计思想,从简单到复杂进行设计,这样不但可在编程的过程中要遵循模块化的设计思想,从简单到复杂进行设计,这样不但可以加快程序编写速度,而且可以减小错误的发生。此外,还应该养成给程序写注以加快程序编写速度,而且可以减小错误的发生。此外,

8、还应该养成给程序写注释的习惯,这样不但有利于团队其他人员理解自己的程序,也方便程序的移植。释的习惯,这样不但有利于团队其他人员理解自己的程序,也方便程序的移植。 图2-12 程序调试流程图 图2-13 常用调试工具及快捷键 存储器是单片机的记忆部分,存储器是单片机的记忆部分,用于存放程序和数据。用于存放程序和数据。51系列单片机的存储器包括系列单片机的存储器包括片内程序存储器片内程序存储器(片内片内ROM)、片外程序存储器、片外程序存储器(片外片外ROM)、片内数据存、片内数据存储器储器(片内片内RAM)、片内特、片内特殊功能寄存器殊功能寄存器(SFR)、片外、片外数据存储器数据存储器(片外片

9、外RAM)5部部分分 1、程序存储器、程序存储器 程序存储器用于存放程序、表格、常量,片内片外程序存储器程序存储器用于存放程序、表格、常量,片内片外程序存储器统一编址在统一编址在0000HFFFFH共共64KB的地址空间,通过引脚来选的地址空间,通过引脚来选择地址空间使用内部程序存储器还是片外程序存储器。当引脚择地址空间使用内部程序存储器还是片外程序存储器。当引脚置高电平(),低置高电平(),低4KB在片内(在片内(0000H0FFFH),其余的),其余的60KB在片外在片外(1000HFFFFH);当引脚置低电平(),;当引脚置低电平(),64KB的的程序存储器全部在片外,此时片内的低程序存

10、储器全部在片外,此时片内的低4KB程序存储器空间不程序存储器空间不可访问。可访问。 2、数据存储器、数据存储器 MCS-51系列单片机的片内数据存储器和特殊系列单片机的片内数据存储器和特殊功能寄存器功能寄存器(SFR)统一编址在统一编址在00HFFH共共256B的空间,其中的空间,其中00H1FH为工作寄存器组地址空为工作寄存器组地址空间;间;10H2FH为可位寻址区空间,共为可位寻址区空间,共16个字节,个字节,每个字节每个字节8位,每一位都有一个独立的编号位,每一位都有一个独立的编号(位地址);(位地址);30H7FH为用户为用户RAM区,按字区,按字节寻址;节寻址;80HFFH为特殊功能

11、寄存器为特殊功能寄存器SFR(Special Function Regiter),共),共21个字节。个字节。 1、C51的数据类型、存储类型和作用域的数据类型、存储类型和作用域 在学习在学习C语言的时候我们知道每一个变量都必语言的时候我们知道每一个变量都必须先声明,后使用,对变量的声明主要包括三须先声明,后使用,对变量的声明主要包括三个方面:数据类型、存储类型和作用域。通过个方面:数据类型、存储类型和作用域。通过声明变量的数据类型就等于告诉单片机变量所声明变量的数据类型就等于告诉单片机变量所在存储空间的大小、变量的取值范围;存储类在存储空间的大小、变量的取值范围;存储类型则限定了变量在单片机

12、的具体存储位置;作型则限定了变量在单片机的具体存储位置;作用域的定义则决定了变量的作用范围用域的定义则决定了变量的作用范围 图2-14 C51语言的基本数据类型 图2-15 C51数据存储类型 图2-16 C51数据存储类型 2、 C51的宏定义的宏定义 所谓所谓“宏宏”就是在程序的开始将一个就是在程序的开始将一个“标识符标识符”定义成定义成“一一串符号串符号”,称为,称为“宏定义宏定义”,这个,这个“宏标识宏标识”就称为就称为宏宏名名;在源程序中可以出现这个宏,称为;在源程序中可以出现这个宏,称为“宏引用宏引用”或或“宏宏调用调用”;在源程序编译前,将程序清单中每个;在源程序编译前,将程序清

13、单中每个“宏名宏名”都替都替换成对应的换成对应的“一串符号一串符号”,称为,称为“宏替换宏替换”,也称为,也称为“宏扩宏扩展展”(为了区别于一般的变量名、数组名、指针变量名,宏为了区别于一般的变量名、数组名、指针变量名,宏名通常都用大写字母组成名通常都用大写字母组成)。宏定义是以。宏定义是以“# define”开头的开头的编译预处理命令,分为无参宏和带参宏两种。在编译预处理命令,分为无参宏和带参宏两种。在C51编程中,编程中,使用宏定义可以防止出错,提高可移植性,可读性,方便性使用宏定义可以防止出错,提高可移植性,可读性,方便性等。等。 3、C51的运算符的运算符 运算符是告诉编译程序执行特定

14、算术或逻辑操运算符是告诉编译程序执行特定算术或逻辑操作的符号,作的符号,C51的运算符跟的运算符跟C语言基本相同,语言基本相同,有三大运算符:算术运算符、关系与逻辑运算有三大运算符:算术运算符、关系与逻辑运算符、位操作运算符符、位操作运算符 图2-17 C51的关系与逻辑运算符 图2-18 C51的位操作运算符 4.、C51的基础语句的基础语句C51语言的常用语句可分为顺序语句、分支语句、语言的常用语句可分为顺序语句、分支语句、循环语句、辅助控制语句。循环语句、辅助控制语句。 图2-19 C51基础语句 5、C51的函数的函数 v随着要处理的问题的增多,程序变得越来越长,程序越长,涉及的问题越

15、多,开发越困难。而且,长的程序阅读和随着要处理的问题的增多,程序变得越来越长,程序越长,涉及的问题越多,开发越困难。而且,长的程序阅读和了解起来非常困难,严重影响程序的开发和维护,因此在单片机的开发过程中,我们往往采用模块化的设计思想,了解起来非常困难,严重影响程序的开发和维护,因此在单片机的开发过程中,我们往往采用模块化的设计思想,尽量将复杂的问题简单化,将原来很长的程序要处理的问题进行分解为一些相对简单的部分,分别进行处理,通过尽量将复杂的问题简单化,将原来很长的程序要处理的问题进行分解为一些相对简单的部分,分别进行处理,通过各个部分问题的解决完成复杂程序和软件系统的设计。函数的作用就是将

16、一段计算抽象出来,封装(包装)起来,各个部分问题的解决完成复杂程序和软件系统的设计。函数的作用就是将一段计算抽象出来,封装(包装)起来,使之成为程序中的一个独立部分,并给这样封装起来的代码取一个名字,做出一个函数定义。当程序中需要做这段使之成为程序中的一个独立部分,并给这样封装起来的代码取一个名字,做出一个函数定义。当程序中需要做这段计算时,通过调用相应的函数来实现。通过这样的函数抽象机制,可以将重复出现的程序代码被一个唯一的函数定计算时,通过调用相应的函数来实现。通过这样的函数抽象机制,可以将重复出现的程序代码被一个唯一的函数定义和一些形式简单的函数调用所取代,使得程序变得简短和清晰。函数必

17、须先定义(声明),后调用。函数定义的义和一些形式简单的函数调用所取代,使得程序变得简短和清晰。函数必须先定义(声明),后调用。函数定义的一般形式为:一般形式为:v返回值类型返回值类型 函数名(行式参数列表)函数名(行式参数列表) vv函数体函数体v 6、C51的二进制和十六进制的二进制和十六进制 二进制是电子计算机技术中应用最广泛的一种进制。二进制数据由二进制是电子计算机技术中应用最广泛的一种进制。二进制数据由1和和0两个基本两个基本字符组成,字符组成,“逢二进一,借一当二逢二进一,借一当二”。0和和1两个字符用于表示具有两个不同稳定两个字符用于表示具有两个不同稳定状态的元器件的通断,电压的高

18、低,电压的有无等,运算规则非常简单方便,易状态的元器件的通断,电压的高低,电压的有无等,运算规则非常简单方便,易于电子方式实现。二进制数据采用位置计数法,位权是以于电子方式实现。二进制数据采用位置计数法,位权是以2为底的幂,以后缀为底的幂,以后缀B表表示二进制数,例如示二进制数,例如1101B。 十六进制是以字符十六进制是以字符09,A,B,C,D,E,F组成(十进制的组成(十进制的10对于十六进对于十六进制的制的A,11对应对应B,12对应对应C,13对应对应D,14对应对应E,15对应对应F),),“逢十六进逢十六进一,借一当十六一,借一当十六”。与二进制一样,十六进制也采用位置计数法,位

19、权是以。与二进制一样,十六进制也采用位置计数法,位权是以16为底的幂,以后缀为底的幂,以后缀H或者前缀或者前缀0X表示。例如表示。例如13H、13h、0X13、0 x13都表都表示相同的十六进制数。示相同的十六进制数。 图2-20 二进制、十进制、十六进制的转换关系 7. reg51.h头文件头文件 单片机流水灯控制器程序的第一条语句是单片机流水灯控制器程序的第一条语句是“#inluce ”,它的作用是将,它的作用是将MCS-51单片机的特殊功能寄存器和位寄存器的定义加单片机的特殊功能寄存器和位寄存器的定义加载进来,这样在编写载进来,这样在编写C51程序时就可以直接应程序时就可以直接应用。用。

20、 2.3.1 创建项目文件创建项目文件 新建文件夹,重命名为新建文件夹,重命名为“单片机流水灯控制器硬件电路单片机流水灯控制器硬件电路”,以后创建的电,以后创建的电路设计文件都保存在该文件夹下面。启动路设计文件都保存在该文件夹下面。启动DXP 2004,单击文件,单击文件-创建创建-项目项目-PCB 项目,新建一个项目文件(默认项目文件名为项目,新建一个项目文件(默认项目文件名为PCB_Project 1.PrjPCB)。选择文件)。选择文件-保存项目,在弹出的保存文件对话框中输入项保存项目,在弹出的保存文件对话框中输入项目名称目名称“单片机流水灯控制器单片机流水灯控制器”,点击确定,保存项目

21、。选中新创建的,点击确定,保存项目。选中新创建的单片机流水灯控制器项目,按右键,选择增加新文件到项目中单片机流水灯控制器项目,按右键,选择增加新文件到项目中-Schematic,创建一个新的原理图文件。然后单击文件,创建一个新的原理图文件。然后单击文件-保存,将新建保存,将新建的原理图文件保存到项目文件夹下,并将其命名为的原理图文件保存到项目文件夹下,并将其命名为“单片机流水灯控制单片机流水灯控制器器.SCHDOC”。按照同样的方法新建原理图库文件和。按照同样的方法新建原理图库文件和PCB文件,并分别文件,并分别重命名为重命名为“我的原理图元件库我的原理图元件库.SCHLIB”和和“单片机流水

22、灯控制单片机流水灯控制器器.PCBDOC”。 单片机流水灯控制器主要由单片机、复位电路、单片机流水灯控制器主要由单片机、复位电路、振荡电路、流水灯组成,所需元器件清单如表振荡电路、流水灯组成,所需元器件清单如表2-14所示。在本项目中,我们采用具有在线下所示。在本项目中,我们采用具有在线下载调试功能的载调试功能的STC89C51单片机代替单片机代替AT89C51单片机,加上串口通信模块,利用单片机,加上串口通信模块,利用STC-ISP进进行程序下载。串口通信模块主要有行程序下载。串口通信模块主要有MAX232电电平转换芯片和串口组成。平转换芯片和串口组成。 v 双击打开双击打开“单片机流水灯控制器单片机流水灯控制器.PCB”文件,单击禁止布线层(文件,单击禁止布线层(Keep Out Layer),选择菜单命令放置),选择菜单命令放置-禁止布线区禁止布线区-导线,光标变成十字形状,在导线,光标变成十字形状,在PCB编编辑区绕着边沿绘制一个矩形禁止布线区。辑区绕着边沿绘制一个矩形禁止布线区。v 选择设计选择设计-Import Changes From 单片机流水灯控制器单片机流水灯控制器.PRJPCB(或者(或者在单片机

温馨提示

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

评论

0/150

提交评论