单片机流水灯系统.doc
文本预览下载声明
沈阳航空电子工程
电子设计应用软件训练学生姓名:
专 业: 班级:学号:指导教师:
【训练任务】:
1、熟练掌握PROTEUS软件的使用;
2、按照设计要求绘制电路原理图;
3、能够按要求对所设计的电路进行仿真;
【基本要求及说明】:
1、按照设计要求自行定义电路图纸尺寸;
2、设计任务如下:
利用51单片机及8个发光二级管等器件,设计一个流水灯单片机系统,要求发光二级管进行流水灯操作,从上到下依次点亮。
3、按照设计任务在Proteus中绘制电路原理图;
4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。
成绩:_____
任务说明
本次课程设计,设计任务是利用51单片机、8个发光二极管设计一个单片机流水灯系统,要求8个发光二极管从上到下依次点亮。画程序流程图,规划设计步骤,按设计任务要求在Proteus6 Professional中绘制电路原理图,编写程序实现流水灯任务,为使肉眼能分辨流水灯的流动,设计延时,并且在Proteus下进行仿真,最终实现设计任务。
原理图绘制说明
打开Proteus软件,界面如图1所示:
图1 Proteus初始界面
查找元器件
单击按钮P,在弹出的Pick Devices窗口中,在关键字栏中分别输入AT89C51,Led-Green和Resistors等,在搜索结果栏中找到这些器件,并且将其添加至对象选择器窗口,如图2所示:
图2 元器件查找
放置元器件
将AT89C51,LED-BIBY和Resistors,放置到图形编辑窗口等待连接,如图
3所示:
图3 元器件放置
添加电源和接地引脚
单击绘图工具栏中的按钮,在选择器窗口,选中对象POWER和GROUND,如图4所示:
图4 电源和接地的添加
元器件之间的连线
在图形编辑窗口就,讲个对象间连线,如图5所示:
图5 连线后界面
在uv3软件中,新建一个project,并保存在一个文件夹中,后缀为“.c”,进
行c语言的编写, 程序输入,进行编译,检查是否有错误,编译完后如图6所示:
图6 程序编译界面
程序设计思路
首先建立一个数组,数组里存放各个灯独自点亮的P1(0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80),在主程序中利用for循环依次将数组中的值赋给P1口,并在每次赋值后调用延时程序以便肉眼可以识别。
Proteus和uv4的联调
双击原理图中AT89C51文件,弹出的对话框中的中装入程序文件,
如图7所示:
图7 程序装入
9.程序装入之后,保存文件,按下,可执行开始,暂停,停止等操作,若无错误,可正常进行仿真。
三、Proteus仿真说明
1.根据任务要求,原理图中有一个单片机AT89C2051,8个LED,8个电阻进行保
护。仿真开始后,从最上面的第一个发光二极管开始依次点亮,并且循环。仿真如图9所示:
图8 仿真结果
2.延时的实现
利用for循环进行3000*10的延时,以便可以用肉眼识别灯的流动点亮。
课设总结
在本次单片机课程设计过程中,经过一周的实习,通过对电路的设计,使我更加喜欢单片机这一学科,也使我加深了对单片机汇编语言的理解。这课设这一周内,通过在图书馆查阅资料及同学的帮助下,最终完成了这次课程设计。并且在这一过程中,使我们能够把理论与实践联系起来。学会了软件Proteus和uv4的使用方法,也学会了把Proteus和uv4联调,在Proteus中进行仿真。最终完成这次课设,对单片机设计整体方法有了更深的体会、受益匪浅。
五、参考文献
1.张奇 朱宁西.单片机应用系统设计技术:[M]电子工业出版社.2009.52-74页
2.楼然苗 李光飞.51系列单片机设计实例:[M]北京航空航天大学出版社.2006.73-80页
3.张毅刚 刘杰.单片机原理及应用:[M]哈尔滨工业大学出版社.2008.55-80页
4.周立功.单片机实验与实践:[M]北京航空航天大学出版社.2004.63-93页
5.谢振辉.改进式MCS-51单片机实验:[M]科学出版社.2006.48-60页
附录1 电路原理图
附录2 源程序
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
unsigned char code table1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(uint x)
{
uint a,b;
for(a=x;a0;a--)
for(b=10;b0;b--);
}
void main()
{
uint
显示全部