单片机课程设计报告基于单片机的简易流水灯_第1页
单片机课程设计报告基于单片机的简易流水灯_第2页
单片机课程设计报告基于单片机的简易流水灯_第3页
单片机课程设计报告基于单片机的简易流水灯_第4页
单片机课程设计报告基于单片机的简易流水灯_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、 单片机课程设计报告学生姓名学号教学院系电气信息学院专业年级 指导教师李杰完成日期2011年6月25日目录第一章 基础设计报告- 2 -1.1设计题目- 2 -1.2 流程图- 2 -1.3 设计任务- 2 -1.4 创建新工程和文件- 2 -1.4.1创建keil4新工程- 2 -1.4.2创建proteus新文件- 6 -1.5 运行及调试- 8 -第二章 提高设计报告- 10 -2.1 设计题目- 10 -2.2 流程图- 10 -2.3 设计任务- 11 -2.4 编写程序,设计单片机电路图- 11 -2.5 交通灯各部分功能- 12 -2.5.1晶体振荡和复位电路- 12 -2.5.

2、2 上拉电阻- 12 -2.5.3 数码管显示和发光二极管- 12 -2.5.4 按键- 13 -2.5.5单片机模块- 14 -2.6 程序运行及调试- 14 -2.6.1仿真- 17 -第三章 提高设计报告任务说明书- 19 -3.1 小组成员及学号- 19 -3.2 本人工作任务详细说明- 19 -第四章 课程设计心得- 20 -参考文献:- 20 -第一章 基础设计报告1.1设计题目 基于单片机的简易流水灯 开始1.2 流程图依次点亮8个个发光二极管 while循环 延时1.3 设计任务 利用单片机的端口输出,自己设计流水灯电路图和程序,点亮8个发光二极管。1.4 创建新工程和文件1.

3、4.1创建keil4新工程1.启动keil4软件,点击project图1.4.1 启动工程图2.选择new uvision project,创建新工程,如下图所示:图1.4.2 新建工程图3.选择单片机类型at89c51,点击建立工程,如下图所示:图 1.4.3 选择单片机类型 图 1.4.4 工程建立完成4.新建文件,如下图所示:图 1.4.5 建立新文件5.新文件命名,因为用的是c语言编程,所以新文件后缀名为 .c,如下图所示:图 1.4.6 新文件保存6.将新文件加入工程,添加方法如下图所示:图 1.4.7 将新建文件添加的工程7.点击“target options”,选择output,

4、选中生成hex文件,如下图所示:图 1.4.8 选择生成hex文件选项8.keil4新工程和文件建立完成,在操作窗口进行编程操作。如下图所示:图 1.4.9 编程操作图1.4.2创建proteus新文件1.打开proteus,进入操作界面,创建新文件。进入开发环境proteus后,选择“文件/新建”命令出现“新建设计”窗口属性对话框,选择a4,如图所示:图1.4.10 窗口属性图2.进入元件库,在元件库中查找所需元件,并双击添加,入下图所示:选择“库/拾取元件”,进入元件库。图1.4.11 元件库图添加所需元件。图1.4.12 图库(51单片机)3.双击将从元件库中查找到的元件,添加到设计图上

5、,如图所示:图1.4.13 添加元件图4.完成后的图如下: 图1.4.14 流水灯电路图1.5 运行及调试编程程序: #include #define uchar unsigned char #define uint unsigned int void delay(uint a); void main() while(1) p0=0xfe;delay(1000); p0=0xfd;delay(1000); p0=0xfb;delay(1000); p0=0xf7;delay(1000); p0=0xef;delay(1000); p0=0xdf;delay(1000); p0=0xbf;del

6、ay(1000); p0=0x7f;delay(1000); void delay(uint a) uint i,j; for(i=a;i0;i-) for(j=123;j0;j-) ; 调试与运行:程序写好后,点击keil的编译运行调试,生成hex文件,如下图所示:图1.5.1 运行界面图在proteus中双击图中的单片机,选中所生成的hex文件,点击确定,单片机开始仿真,如下图所示:图1.5.2 仿真图第二章 提高设计报告2.1 设计题目 基于单片机的简易交通灯 2.2 流程图数码管倒计数开始,东西绿灯,南北红灯 每减一个数判断是否进入中断调数数码管开始倒计数,东西红灯,南北绿灯 每减一个

7、数判断是否进入中断调数外部触发进入中断外部按键控制time的增加或者减少调数完成,外部按键控制中断结束返回断点计数m0,m-;计数m0,m-;外部触发m=time;m=time;外部触发 开始m初值为10图2.2.1 交通灯流程图2.3 设计任务(1)收集资料,了解交通灯的大致变化规律(2)确定i/o口的功能(3)用keil软件编写程序,用proteus软件设计电路图(4)实现交通灯的简单仿真2.4 编写程序,设计单片机电路图建立keil工程文件,开始编写程序;打开proteus,按要求画好单片机仿真电路图。2.5 交通灯各部分功能2.5.1晶体振荡和复位电路 电路如图所示:下图上边为复位电路

8、,下边为晶振电路。 图2.5.1晶体振荡和复位电路图2.5.2 上拉电阻单片机的p0口外接时要接上拉电阻,如下图所示:图2.5.2 上拉电阻图2.5.3 数码管显示和发光二极管交通十字路口红绿灯变换,是根据数码管上显示的数来变换的,当数码管上显示的数小于5时,数码管和十字路口的红绿灯开始闪烁,提示红绿要开始变换了,来往车辆做好准备。图2.5.3.1 数码管图 2.5.3.2 发光二极管2.5.4 按键十字路口的红绿灯正常变换时,当按下“开始调数”触发中断,进入调数状态,此时可以分别按下“加1”、“减1”来改变红绿灯每次变换的时间,当调数完成后,按下“调数完成”结束中断,返回程序断点继续执行原程

9、序,只是此时红绿灯每次变换的时间更改为中断中所调的数。如下图所示:图2.5.4 按键2.5.5单片机模块图2.5.5 51单片机2.6 程序运行及调试#include#include#define uchar unsigned char#define uint unsigned intvoid display(int m );void delay1(uint a);void delay(uint a);sbit key1=p35;sbit key2=p33;sbit key3=p34;bit g;int a,time=11;void main() int i,m=time; ea=1; /开总

10、中断 ex0=1; /开外部中断0 it0=0; /外部中断0边沿触发,下降沿触发 while(1) while(m0)p0_0=0;p0_1=1;p0_2=1;p0_3=0; if(m=3)switch(m)case 3: for(i=0;i120;i+) display(m); delay(500); p0_0=1;p0_3=1;delay1(250);p0_0=0;p0_3=0;m-;delay(250);break;case 2: for(i=0;i120;i+) display(m); delay(500); p0_0=1;p0_3=1;delay1(250);p0_0=0;p0_3

11、=0;m-;delay(250);break;case 1: for(i=0;i3)for(i=0;i0) p0_0=1;p0_1=0;p0_2=0;p0_3=1; if(m=3)switch(m)case 3: for(i=0;i120;i+) display(m); delay(500); p0_1=1;p0_2=1;delay1(500);p0_1=0;p0_2=0;m-;delay1(500);break;case 2: for(i=0;i120;i+) display(m); delay(500); p0_1=1;p0_2=1;delay1(500);p0_1=0;p0_2=0;m-

12、;delay1(500);break;case 1: for(i=0;i3)for(i=0;i0) a-; /-延时-void delay1(int n) int i,j;for(i=n;i0;i-)for(j=123;j0;j-); /-中断- void exter0()interrupt 0 ex0=0;a=1; display(time); delay1(100);while(a) display(time);if(key2=0) delay1(100); if(key2=0) while(key2=0) time+; display(time);if(key3=0)delay1(100

13、);if(key3=0)while(key3=0)time-;display(time);if(key1=0)delay1(100);if(key1=0) while(key1=0)a=0;ex0=1; 2.6.1仿真程序经过编译后生成hex文件,双击单片机元件,选中生成的hex文件,开始仿真。仿真结果如下图所示:图 2.6.1 东西绿灯,南北红灯图 2.6.2 东西红灯,南北绿灯第三章 提高设计报告任务说明书3.1 小组成员及学号姓名学号屈直0807040114王林建08070402253.2 本人工作任务详细说明根据选题基于单片机的交通灯我首先在网上查找相关设计资料,了解实验内容以及基本的任务,这是为了让这次设计更加完善。交通灯的设计中主要完成的是电路图的绘制,以及与同伴讨论联系程序与电路的结合问题。设计完成后,根据实验电路图和程序以及过程中的结论完成实验报告。第四章 课程设计心得本次课程设计使我认识到了单片机这门学科的重要性,以及根据它产生的延伸知识。通过本次课程的设计,不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让我认识到了这门学科的在应用方面的广阔前景,并且通过实践与操作更加丰富了自己的知识。扩展了知识面,了解了理论知识与实际操作相结合的意义,懂得了如何分析电路与解决实际问题,提高了自己吃力问题的能力,从各方面提高了自己的综合素质。在这次的课程设计中

温馨提示

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

评论

0/150

提交评论