版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE基于AT89C52单片机的流水灯设计实训报告学院:信息工程学院班级:11级计算机科学与技术学号:201101010021姓名:唐靖指导教师:王甲琛2013年12月15日
目录TOC\o"1-3"\h\z\uHYPERLINK\l”_Toc374521099"前言 PAGEREF_Toc374521099\h1HYPERLINK\l”_Toc374521100"一、总体设计及模块简介ﻩPAGEREF_Toc374521100\h21、2硬件具体原理图 PAGEREF_Toc374521102\h3HYPERLINK二、设计内容 PAGEREF_Toc374521103\h3HYPERLINK\l”_Toc374521104”2、1设计项目及要求 PAGEREF_Toc374521104\h3HYPERLINK三、印刷板的焊接及调试流程 PAGEREF_Toc374521109\h10HYPERLINK\l”_Toc374521110"3、1印刷版电路焊接流程: PAGEREF_Toc374521110\h10HYPERLINK\l"_Toc374521111”3、2调试及遭遇的问题解决方法 PAGEREF_Toc374521111\h10HYPERLINK\l”_Toc374521112"四、总结体会ﻩPAGEREF_Toc374521112\h11TOC\o"1-3"\h\uPAGE11前言单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题.AT89C52是一个低电压,高性能CMOS
8位单片机,片内含8k
bytes的可反复擦写的Flash只读程序存储器和256
bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程。一、总体设计及模块简介1、1原理图流水灯控制程序单片机AT89S52按键流水灯控制程序单片机AT89S52按键开关流水灯流水灯流水灯是用AT89C52单片机为核心控制元件,AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS—51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合.要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在这个设计中,我们不只是单一的做向左运动或向右运动,而是设计了十个模式。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。且每一个LED灯于一个电阻串联。其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用与参考价值。ﻩVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7AT89C52要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯。二、设计内容2、1设计项目及要求项目名称:基于AT89C52单片机的流水灯设计项目特点:设计思路简单、清晰,成本低.实现功能要求:通过编程控制8个LED灯,实现10个流水变换花样。2、2电路图的绘制电路图2、选取的原件:(所用元件清单)名称规格数量名称规格数量AT89C52单片机1复位按键1电阻10kΩ2LED9排阻1USB接口1电容100uF1串行接口9孔1电容10uF1芯片插槽1晶振12MHz1开关1电线32、3程序的编写2、3、1Keil的使用步骤:(1)新建项目文件.点击Project菜单,选择弹出的下拉式菜单中的NewProject。在“文件名”中输入您的第一个C程序项目名称,“jydzq.uv2”。“保存"后的文件扩展名为uv2.(2)选择所要的单片机,常用Ateml公司的AT89C52。(3)在项目中创建新的程序文件。(4)点击保存新建的程序,jydzq。c,保存在项目所在的目录中。(5)将程序文件加到项目中.(6)设定创建HEX文件选项。(7)编译运行.(8)查错并直至无错误2、3、2程序流程2、3、3程序代码#include〈reg51。h>//包含单片机寄存器的头文件#defineuintunsignedint/****************************************函数功能:延时一段时间*****************************************/voiddelay(uintk)//{ unsignedchara,b;ﻩfor(;k>0;k--)for(b=142;b>0;b-—)for(a=2;a>0;a-—) ﻩ;}/*******************************************************函数功能:主函数(C语言规定必须有也只能有1个主函数)********************************************************/voidmain(void){uinti,j,temp,k,a[15]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80},b[8]={0x01,0x80,0x02,0x40,0x04,0x20,0x08,0x10};ﻩwhile(1)//无限循环ﻩ{ﻩﻩfor(k=0;k〈=8;k++) ﻩ{ﻩtemp=b[k];ﻩ P1=temp;ﻩ delay(500);ﻩ ﻩ} ﻩfor(k=8;k〉=0;k-—)ﻩﻩﻩ{ temp=b[k]; ﻩP1=temp; ﻩ delay(500); }ﻩﻩtemp=0x05; ﻩﻩﻩ//00000101 ﻩfor(i=6;i>0;i--) ﻩ {ﻩﻩﻩ P1=temp;ﻩ ﻩﻩdelay(300);ﻩ temp=temp<〈1; }ﻩﻩﻩtemp=0xa0;ﻩﻩﻩ //10100000 for(i=6;i>0;i--)ﻩﻩ {ﻩﻩﻩﻩﻩP1=temp; ﻩﻩﻩdelay(300);ﻩﻩﻩﻩtemp=temp〉>1;ﻩ }ﻩﻩ P1=0x81;delay(500);ﻩ P1=0x42;delay(500);ﻩﻩP1=0x24;delay(500);ﻩﻩ P1=0x18;delay(500);ﻩ ﻩ P1=0x81;delay(500);ﻩﻩﻩﻩP1=0xC3;delay(500); P1=0xE7;delay(500);ﻩ ﻩ P1=0xFF;delay(500); ﻩP1=0xE7;delay(500); ﻩ P1=0xC3;delay(500);ﻩ P1=0x81;delay(1000);ﻩ temp=0x80;ﻩﻩﻩ //10000000ﻩﻩfor(j=8;j>0;j-—)ﻩ {ﻩ ﻩ P1=temp; ﻩﻩ delay(300);ﻩﻩ ﻩtemp=temp>>1;ﻩ ﻩ}ﻩﻩtemp=0x07;ﻩ ﻩ //00000111ﻩﻩfor(i=8;i>0;i—-)ﻩﻩﻩ{ﻩ P1=temp;ﻩﻩ delay(300);ﻩ ﻩtemp=temp〈<1; } ﻩtemp=0xe0; ﻩﻩ//11110000ﻩﻩfor(j=8;j>0;j--)ﻩ ﻩ{ ﻩ P1=temp;ﻩ ﻩ delay(300); ﻩ temp=temp>>1; ﻩ } ﻩfor(k=0;k〈=14;k++) ﻩ{ temp=a[k];ﻩ P1=temp;ﻩ ﻩﻩdelay(300); ﻩ } ﻩfor(k=0;k<=14;k++) {ﻩtemp=a[14-k]; ﻩﻩP1=temp; ﻩdelay(300);ﻩﻩ }ﻩ temp=0x11;ﻩ ﻩ //00010001ﻩ for(i=4;i>0;i——)ﻩ {ﻩ ﻩﻩﻩP1=temp; ﻩﻩ delay(500); ﻩ ﻩtemp=temp<<1; ﻩ } ﻩ ﻩﻩtemp=0x01;ﻩ ﻩ //00100010ﻩﻩfor(i=8;i〉0;i--) ﻩ{ ﻩP1=temp;ﻩ ﻩﻩdelay(300);ﻩﻩ ﻩtemp=temp〈<1; ﻩ}ﻩ temp=0x80; ﻩﻩﻩ//10000000 ﻩfor(j=8;j〉0;j--)ﻩ {ﻩﻩﻩ P1=temp; ﻩ ﻩdelay(300); ﻩﻩﻩtemp=temp>>1;ﻩ ﻩ} ﻩtemp=0x07;ﻩ ﻩﻩ//00000111 for(i=8;i>0;i--)ﻩﻩ { ﻩ P1=temp;ﻩﻩﻩ delay(300); ﻩtemp=temp〈<1; }ﻩ temp=0xe0;ﻩﻩﻩﻩ//11100000 for(j=8;j>0;j-—) ﻩ{ﻩﻩ ﻩP1=temp; ﻩ delay(300); ﻩﻩﻩtemp=temp>>1; ﻩ } ﻩfor(k=0;k〈=14;k++) ﻩ{ﻩtemp=a[k]; ﻩ P1=temp; ﻩ delay(500); } ﻩfor(k=0;k〈=14;k++)ﻩﻩﻩ{ﻩtemp=a[14-k]; ﻩP1=temp;ﻩﻩ ﻩdelay(500); ﻩ } ﻩP1=0xaa;delay(1500);//点亮第一个发光二极管 P1=0x55;delay(1500);//点亮第一个发光二极管 }}三、印刷板的焊接及调试流程3、1印刷版电路焊接流程:1、焊接电阻.2、焊接晶振。3、焊接二极管LED灯。4、焊接电解电容。5、焊接电源线和电源插口。6、焊接开关和复位器。7、焊接单排插针。8、焊接其余元器件。9、管脚修整,剪断已焊接元件多余的引脚,并检查是否所有的器件均焊接完成.3、2调试及遭遇的问题解决方法1、调试对于设计好的程序要用仿真软件进行调试。方法为双击AT89C52芯片,出现对话框,单击文件夹图标,找到keilec中生成的.hex文件单击,然后点击‘确定’关闭对话框。2、下载:通过prosign。exe软件下载程序到主板.(1)点击调入flash按钮,选择已经编译好的liushuideng。hex文件。(2)点击自动按钮。(3)程序下载成功。3、问题及解决方法(1)注意变量和管脚的符号:p1_0于p1^0是两个不同的概念。前者是变量,后者是管脚.(2)焊接是注意器件的正负极,LED灯长正,短负,阴影地方为负,另一半为正。还有二极管,电容等.(3)芯片焊接时,先固定一个管脚,然后在固定对角线上的管脚,这样再焊接其他的管脚.(4)焊接时不要造成虚连。焊接时要把整个电路板斜放15度。焊接时先要电烙铁把针弄热,在将锡放上。(5)焊接完成后,检查是否有错误,修改。四、总结体会到此,我们的单片机设计实验就结束了.从本次实验中我们得到很多的相关知识和,作为电子科学学科的学生应该是很幸运的,因为可以掌握知识再运用这些知识去设计出自己心想要的电路实物。通过本次设计我们单片机的基础更加
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年黔南客运资格证考试内客
- 车主司机服务协议:2024年格式
- 2024年大兴安岭客运从业资格证考试一点通
- 2024年海口客运资格证培训内容
- 2024年货运从业资格证和客运
- 2024年建筑工程分包与承包合同
- 2024年度版权许可使用合同:动漫制作公司与衍生品开发商之间的授权细节
- 2024年建筑施工塔吊租用合同
- 教师资格考试小学面试心理健康试题与参考答案
- 废旧物资处理保证书
- 《一元二次方程》(复习课)说课稿
- 律师事务所金融业务部法律服务方案
- 施工人员计划配置表(共1页)
- 装修工程施工进度计划表excel模板
- 发电机组自动控制器
- 宿舍管理流程图
- 骨科复试问答题
- 新版慢病随访表3页
- 《实践论》读书PPT课件
- 青岛版科学六年级上册《齿轮》教学设计
- 《偷影子的人》PPT课件
评论
0/150
提交评论