ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:681.92KB ,
资源ID:6240684      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6240684.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的简易流水灯.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的简易流水灯.docx

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、-2.5.1晶体振荡和复位电路 - 12 -2.5.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 流程图 1.3 设计任务 利用单片机的端口输出,自己设计流水灯电路图和程序,点亮8个发光二极管。1.

3、4 创建新工程和文件1.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 option

4、s”,选择output,选中生成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);

6、 P0=0xbf;delay(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 流程图图2.2.1 交通灯流程图2.3 设计任务(1)收集资料,了解交通灯的大致变化规律(2)确

7、定I/O口的功能(3)用Keil软件编写程序,用Proteus软件设计电路图(4)实现交通灯的简单仿真2.4 编写程序,设计单片机电路图 建立Keil工程文件,开始编写程序;打开Proteus,按要求画好单片机仿真电路图。2.5 交通灯各部分功能2.5.1晶体振荡和复位电路 电路如图所示:下图上边为复位电路,下边为晶振电路。 图2.5.1晶体振荡和复位电路图2.5.2 上拉电阻 单片机的P0口外接时要接上拉电阻,如下图所示:图2.5.2 上拉电阻图2.5.3 数码管显示和发光二极管 交通十字路口红绿灯变换,是根据数码管上显示的数来变换的,当数码管上显示的数小于5时,数码管和十字路口的红绿灯开始

8、闪烁,提示红绿要开始变换了,来往车辆做好准备。图2.5.3.1 数码管图 2.5.3.2 发光二极管2.5.4 按键 十字路口的红绿灯正常变换时,当按下“开始调数”触发中断,进入调数状态,此时可以分别按下“加1”、“减1”来改变红绿灯每次变换的时间,当调数完成后,按下“调数完成”结束中断,返回程序断点继续执行原程序,只是此时红绿灯每次变换的时间更改为中断中所调的数。如下图所示:图2.5.4 按键2.5.5单片机模块图2.5.5 51单片机2.6 程序运行及调试 #include#include#define uchar unsigned char#define uint unsigned in

9、tvoid 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; /开总中断 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

10、); 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=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(

11、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-;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-); /-中断-

12、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); 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仿真

13、程序经过编译后生成hex文件,双击单片机元件,选中生成的hex文件,开始仿真。仿真结果如下图所示:图 2.6.1 东西绿灯,南北红灯图 2.6.2 东西红灯,南北绿灯第三章 提高设计报告任务说明书3.1 小组成员及学号姓名学号屈直0807040114王林建08070402253.2 本人工作任务详细说明根据选题基于单片机的交通灯我首先在网上查找相关设计资料,了解实验内容以及基本的任务,这是为了让这次设计更加完善。交通灯的设计中主要完成的是电路图的绘制,以及与同伴讨论联系程序与电路的结合问题。设计完成后,根据实验电路图和程序以及过程中的结论完成实验报告。第四章 课程设计心得本次课程设计使我认识到

14、了单片机这门学科的重要性,以及根据它产生的延伸知识。通过本次课程的设计,不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让我认识到了这门学科的在应用方面的广阔前景,并且通过实践与操作更加丰富了自己的知识。扩展了知识面,了解了理论知识与实际操作相结合的意义,懂得了如何分析电路与解决实际问题,提高了自己吃力问题的能力,从各方面提高了自己的综合素质。在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督,学会了如何合作,也为以后的工作学习打下基础。参考文献:1 黄迪明、余勤.C语言程序设计教程M. 国防工业出版社出版,20072 李建忠.单片机原理及应用M. 西安电子科技大学出版社出版,20103 仝迪、顾三春. 电子设计 指导书成都M. 西南石油大学电子信息工程学院,2010

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1