已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)题 目 花样流水灯 学院名称 指导教师 班 级 学 号 学生姓名 2013年1月12日摘要单片微型计算机简称单片机,是指集成在一块芯片上的计算机,它具有结构简单、控制功能强、可靠性高、体积小、价格低等优点。单片机技术作为计算机技术的一个重要分支,广泛的应用于工业控制、智能化仪器仪表、家用电器、电子玩具等各个领域。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。本设计通过用汇编语言对8952单片机写程序实现了对32个发光二极管的自如控制,并具有复位和中断功能,另外加上了一组静态数码管以显示流水灯的花样计数。根据设计要求基本达到了预期的目的。正文首先介绍本课题的背景、研究意义及完成的任务功能;简单描述元器件和方案的论证;系统硬件的工作原理和软件的设计;最后对本设计进行了总结。关键词:单片机 8952 发光二极管 中断 复位 汇编语言AbstractSingle chip micro computer referred to as SCM, is integrated on a single chip computer, it has the advantages of simple structure, strong control function, high reliability, small size, low price. SCM technology as computer technology is an important branch, widely used in industrial control, intelligent instruments, household electrical appliances, electronic toys and other fields.In recent years along with the rapid development of science and technology, SCM applications are constantly deepening, led the traditional control test at the same time change rapidly updated, in real-time detection and automatic control of the microcomputer application system, the microcontroller is often used as a core component, only the single slice machine aspect knowledge is insufficient, but also should be based on specific hardware structure, and the specific characteristics of the target application software, to be perfect.This design through the use of assembly language on the 8952 SCM to write program of 32 light emitting diodes easily control, and has reset or interrupt function, plus a set of static digital display light water tricks count. According to the design requirements and achieve the expected aim.The text firstly introduces the research background, research significance and task function; a simple description of components and proof of the programme; the working principle of the system hardware and software design; the design is summarized.Key words: single chip microcomputer 8952 led interrupt reset assembly language分享到 翻译结果重试抱歉,系统响应超时,请稍后再试 支持中英、中日在线互译 支持网页翻译,在输入框输入网页地址即可 提供一键清空、复制功能、支持双语对照查看,使您体验更加流畅目录1第一章:绪论31.1课题研究背景41.2课题研究意义41.3课题研究任务42第二章 主要电子元器件的简介42.1At89s5242.2稳压管 780553第三章 基本原理53.1总体设计思路54第四章 设计过程54.1电源电路的设计54.2控制电路的设计64.2.1时钟电路64.2.2复位电路64.3显示电路部分64.4软件部分设计65第五章 调试75.1硬件调试75.2软件调试76第六章 设计心得87第七章 参考文献10 附1 PCB图附2 原理图附3 流程图附4 程序1 第一章:绪论1.1 课题研究背景微型计算机,简称微机,是计算机的一个重要分支。人们通常按照计算机的体积、性能和应用范围等条件,将计算机分为巨型机、大型机、中型机、小型机和微型机。微型计算机不但具有其他计算机快速、精确、程序控制等特点,而且还具有体积小、重量轻、功耗低、价格便宜等优点。个人计算机简称PC(Personal Computer),是微型计算机中应用最广泛的一种,也是近年来计算机领域中发展最快的一个分支。PC在性能和价格方面适合个人用户购买和使用,目前,它已经像普通家电一样深入到了家庭和社会生活的各个方面。而单片机又是PC的一个分支,随着信息技术革命的深入和计算机技术的飞速发展,单片机的应用越来越广泛,并逐渐成为一门关键的技术学科。单片机实际上是指集成在一个芯片上的微型计算机,它的各种功能部件,如CPU、RAM、ROM、I/O接口电路,定时/计数器等都制作在一块集成芯片上,构成一个完整的微型计算机,可以实现微型计算机的基本功能。单片机实质上是一个芯片,在实际应用中,通常很少将单片机和被控对象直接进行电气连接,而必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。单片机具有一些突出的优点:体积小,重量轻,耗电少,电源单一,功能强,价格低,运行速度快,抗干扰能力强,可靠性高,所以在通信、家电、工业控制、仪器仪表、汽车等产品中都可以看到单片机的身影。1.2 课题研究意义流水灯在现代社会中就有广泛的应用,大型电子广告牌、霓虹灯、指示牌和工业控制的控制面板等都有流水灯的应用。而且基于单片机的流水灯的控制系统利用了单片机的内部资源,如定时器、I/O口和寄存器等,完成了单片机系统开发的基本流程,因此具有典型的代表意义,是学习和开发单片机的基本实验之一。1.3 课题研究任务开发单片机最小系统,即通过对8952写程序控制32个LED亮灭,形成花样流水灯,主要包括电源部分、控制电路部分,显示部分,软件程序部分等。2 第二章 主要电子元器件的简介2.1 At89S52At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52 2.2 稳压管 7805用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。可以稳定输出一个5v电压。3 第三章 基本原理3.1 总体设计思路利用89s52设计一个控制器,控制32个发光二极管的亮灭和数码管的显示,采用7805稳压管输出一个稳定的5v电压,驱动单片机和LED。 4第四章 设计过程4.1电源电路的设计电子电路要正常工作,电源必不可少,并且电源性能对电路、电子仪器和电子设备的使用寿命、使用性能等影响很大,尤其在带有感性负载的电路和设备中,对电源的性能要求更高。在很多应用直流电源设备的场合中,要求为设备电路提供一个稳定的直流电源,并且要求电源有保护功能。本课题中单片机正常工作要求输出电压为稳定的5V,输出电压应能够适应所带负载的启动性能。此外,电路还必须简单可靠,能够输出足够大的电流,7805电路内部有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。可以稳定输出一个5v电压。因此,我们选用7805稳压管稳压。4.2控制电路的设计4.2.1时钟电路时钟电路是计算机的心脏,它控制着计算机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能的,89s52的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号;另一种为外部方式、时钟信号由外部引入。本设计应用的是89s52的内部时钟方式,其内部有一个用于构成振荡器的高增益反相放大器,引脚XTL1和XTL2分别为此放大器的输入端和输出端,该放大器与做为反馈元件的晶振共同构成自激振荡器。本电路采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率选择12MHZ,电容选择33pu,电容的大小起频率微调的作用。4.2.2复位电路单片机中有多种复位电路,本系统采用上电复位方式。4.3 显示电路部分显示部分主要是由32个LED组成,32个LED由限流电阻限流后接入89s52的p1口,p0口接入上拉电阻。4.4软件部分设计本设计要求实现32路LED有花样的亮灭,具有中断功能,按下按键,开始闪烁,再按时,停止。注:完整程序代码,流程图详见附录。5第五章 调试 5.1硬件调试我们在硬件电路的制作和调试中发现并解决了很多问题:(1)由于过于考虑电路板布局的美观,导致增加了焊接时布线的困难,最终我们通过改变元件位置合理布线解决了这个问题;(2)单片机引脚非常紧凑,使焊点不容易固定,容易查错引脚,这就锻炼了我们的细心;容易造成多点短路或虚焊,因此我们又降低烙铁的温度,用吸焊器吸除了多余的焊锡;(3)刚开始插件时没有注意电解电容、LED等有极性元件的正负,最后用万用表测量它们的阻值和电压才找到接反的元件;(4)刚开始布局元器件是没有充分考虑到以后维修的问题,把时钟电路位置摆放的不合理,最终讨论重新设计时钟电路的位置;(5)焊接过久,导致元器件损坏,主要是不够熟练;(6)电路板不够简洁、条理,焊接不够熟练;(7)由于对元器件使用量计算不准确,导致最后元器件不够,我们只好放弃了一些功能的实现。(8)焊接过程中,由于忘记把31脚接VCC,导致最后不能实现LED的循环,最后在检查电路对照电路图后又焊接上了31脚。因此,我们在焊接和后续调试过程并没有想象中的顺利。但最终经过我们一遍一遍的调试,终于制作出了一块基本合格的电路板。5.2软件调试我们在软件调试中遇到的问题远远要比硬件电路中问题多,解决的难度也大:(1)程序在检测时没有问题,但在仿真中不能执行,原因是延时子程序漏写了一条指令;(2)循环程序总是进入死循环,原因是循环标号放置不对;(3)我们编译的程序冗长繁琐,最后我们进行了优化程序,改写了一些地方,才使程序比较条理简洁;(4)中断程序掌握不熟练,不能实现这一功能,因此我们通过临时补课和网上查阅才写出了这段程序。 6 第六章 设计心得在本次设计的过程中,我们发现很多的问题,遇到了很多麻烦,有的问题其实很简单,主要是对知识的掌握程度不够,扩展知识欠缺,这就要求我们在以后的学习中,应该注意到这一点,并且应该多读一些课外的文献,只靠书本上的知识远远不够。更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,用实践巩固理论,用理论优化实践,这不论是对我们以后的就业还是学习,都会起到很大的促进和帮助。在焊接过程中,我们意识到细心和严谨的精神是必不可少,在焊接电路和调试硬件中不自觉地得到了锻炼。通过本次课程设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义上相结合了起来;考验了我们借助互联网络搜集、查阅相关文献资料,和组织材料的综合能力;从中可以自我测验,认识到自己哪方面有欠缺、不足,以便于在日后的学习中得以改进、提高!也提醒我们,只有通过团队合作才能制作出优秀的设计,闭门造车不会取得实质性的成功。此次课程设计,我们也学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅。经过这些天的设计制作,在老师的悉心指导和同学们的热情帮助下,我们终于完成了这次的设计,同时也增加了我们以后学习的信心和热情。再次感谢在这次设计中帮助我们的指导老师和同学。附1 PCB图附2原理图附4 程序#include/*8位将流水灯编码存于单片机程序存储中*unsigned char code LED1_shun=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F; /顺时针点亮数据unsigned char code LED2_ni=0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE; /逆时针点亮数据unsigned int N=300;void delay(unsigned int n)unsigned int i;unsigned char j;for(i=0;i0;j-);void Display_One(void)unsigned char i,j;unsigned char temp;for(j=0;j2;j+)/-顺时针-temp=0xFE;for(i=0;i8;i+)P0=temp;delay(N);temp=(temp1)|0x01);P0=0xFF;temp=0xFE;for(i=0;i8;i+)P1=temp;delay(N);temp=(temp1)|0x01);P1=0xFF;temp=0xFE;for(i=0;i8;i+)P3=temp;delay(N);temp=(temp1)|0x01);P3=0xFF;temp=0xFE;for(i=0;i8;i+)P2=temp;delay(N);temp=(temp1)|0x01);P2=0xFF;/-逆时针-temp=0x7F;for(i=0;i1)|0x80);P2=0xFF;temp=0x7F;for(i=0;i1)|0x80);P3=0xFF;temp=0x7F;for(i=0;i1)|0x80);P1=0xFF;temp=0x7F;for(i=0;i1)|0x80);P0=0xFF;delay(3*N);void Display_Two(void)unsigned char i,j;unsigned char temp1,temp2;for(j=0;j2;j+)/-temp1=0xFE;temp2=0x7F;for(i=0;i8;i+)P0=temp1;P2=temp2;delay(N);temp1=(temp11)|0x80);P0=0xFF;P2=0xFF;temp1=0xFE;temp2=0x7F;for(i=0;i8;i+)P1=temp1;P3=temp2;delay(N);temp1=(temp11)|0x80);P1=0xFF;P3=0xFF;/-temp1=0xFE;temp2=0x7F;for(i=0;i8;i+)P1=temp2;P3=temp1;delay(N);temp1=(temp11)|0x80);P1=0xFF;P3=0xFF;temp1=0xFE;temp2=0x7F;for(i=0;i8;i+)P0=temp2;P2=temp1;delay(N);temp1=(temp11)|0x80);P0=0xFF;P2=0xFF;void Display_Three(void)unsigned char i,j;unsigned char temp1,temp2;for(j=0;j8;j+)/temp1=0x77;temp2=0xEE;for(i=0;i1)|0x80);temp2=(temp21)|0x01);P0=0xFF;P1=0xFF;P3=0xFF;P2=0xFF;delay(N);void Display_Four(void)unsigned char i,j;unsigned char temp1;for(j=0;j2;j+)/-temp1=0xFE;for(i=0;i8;i+)P0=temp1;delay(N);temp1=(temp11);temp1=0xFE;for(i=0;i8;i+)P1=temp1;delay(N);temp1=(temp11);temp1=0xFE;for(i=0;i8;i+)P3=temp1;delay(N);temp1=(temp11);temp1=0xFE;for(i=0;i8;i+)P2=temp1;delay(N);temp1=(temp11);/-temp1=0x01;for(i=0;i8;i+)P0=temp1;delay(N);temp1=(temp11)|0x01);temp1=0x01;for(i=0;i8;i+)P1=temp1;delay(N);temp1=(temp11)|0x01);temp1=0x01;for(i=0;i8;i+)P3=temp1;delay(N);temp1=(temp11)|0x01);temp1=0x01;for(i=0;i8;i+)P2=temp1;delay(N);temp1=(temp11)|0x01);void Display_Five(void)unsigned char i,j;unsigned char temp;/-for(j=0;j4;j+)temp=0xE0;for(i=0;i4;i+)P0=temp;P1=temp;P3=temp;P2=temp;delay(N+N);temp=(temp1)|0x01);temp=0x0E;for(i=0;i4;i+)P0=temp;P1=temp;P3=temp;P2=temp;delay(N+N);temp=(temp1);delay(N);/-for(j=0;j4;j+)temp=0x07;for(i=0;i1)|0x80);temp=0x70;for(i=0;i1);delay(N);void Display_Six(void)unsigned char i;for(i=0;i4;i+)P0=0x00;P1=0x00;P3=0x00;P2=0x00;delay(N+N+N+N);P0=0xFF;P1=0xFF;P3=0xFF;P2=0xFF;delay(N+N+N+N);void Display_Seven(void)unsigned char i;unsigned char temp;/*temp=0xFE;for(i=0;i8;i+)P0=temp;P1=temp;P3=temp;P2=temp;delay(N);temp=(temp1)|0x01);*/temp=0xFE;for(i=0;i8;i+)P0=temp;P1=temp;P3=temp;P2=temp;delay(N);temp=(temp1)|0x01);temp=0xFE;for(i=0;i7;i+)P0=(temp&0x7F);P1=(temp&0x7F);P3=(temp&0x7F);P2=(temp&0x7F);delay(N);temp=(temp1)|0x01);temp=0xFE;for(i=0;i6;i+)P0=(temp&0x3F);P1=(temp&0x3F);P3=(temp&0x3F);P2=(temp&0x3F);delay(N);temp=(temp1)|0x01);temp=0xFE;for(i=0;i5;i+)P0=(temp&0x1F);P1=(temp&0x1F);P3=(temp&0x1F);P2=(temp&0x1F);delay(N);temp=(temp1)|0x01);temp=0xFE;for(i=0;i4;i+)P0=(temp&0x0F);P1=(temp&0x0F);P3=(temp&0x0F);P2=(temp&0x0F);delay(N);temp=(temp1)|0x01);temp=0xFE;for(i=0;i3;i+)P0=(temp&0x07);P1=(temp&0x07);P3=(temp&0x07);P2=(temp&0x07);delay(N);temp=(temp1)|0x01);temp=0xFE;for(i=0;i2;i+)P0=(temp&0x03);P1=(temp&0x03);P3=(temp&0x03);P2=(temp&0x03);delay(N);temp=(temp1)|0x01);temp=0xFE;for(i=0;i1;i+)P0=(temp&0x01);P1=(temp&0x01);P3=(temp&0x01);P2=(temp&0x01);delay(N);temp=(temp1)|0x01);delay(N+N+N+N);void Display_Eight(void)unsigned char i;unsigned char temp;temp=0xFE;for(i=0;i1)|0x80);temp=0xFD;for(i=0;i1)|0x80);temp=0xFB;for(i=0;i1)|0x80);temp=0xF7;for(i=0;i1)|0x80);temp=0xEF;for(i=0;i1)|0x80);temp=0xDF;for(i=0;i1)|0x80);temp=0xBF;for(i=0;i1)|0x80);temp=0x7F;for(i=0;i1)|0x80);temp=0x7F;for(i=0;i1)|0x80);delay(N+N+N+N);void Display_Nine(void)unsigned char i;for(i=0;i16;i+)P0=0x55;P1=0xAA;P3=0xAA;P2=0xAA;delay(N+N);P0=0xAA;P1=0x55;P3=0x55;P2=0x55;delay(N+N);void Display_Ten(void)unsigned char i;for(i=0;i8;i+)P0=0x7E;P1=0x7E;P3=0x7E;P2=0x7E;delay(N);P0=0xBD;P1=0xBD;P3=0xBD;P2=0xBD;delay(N);P0=0xDB;P1=0xDB;P3=0xDB;P2=0xDB;delay(N);P0=0xE7;P1=0xE7;P3=0xE7;P2=0xE7;delay(N);P0=0xDB;P1=0xDB;P3=0xDB;P2=0xDB;delay(N);P0=0xBD;P1=0xBD;P3=0xBD;P2=0xBD;delay(N);P0=0x7E;P1=0x7E;P3=0x7E;P2=0x7E;delay(N);P0=0xFF;P1=0xFF;P3=0xFF;P2=0xFF;void Display_Eleven(void)unsigned char i;unsigned char temp;temp=0xFE;for(i=0;i8;i+)P0=temp;P1=temp;P3=temp;P2=temp;delay(N);temp=(temp1)|0x01);temp=0xFE;for(i=0;i7;i+)P0=temp&0x7F;P1=temp&0x7F;P3=temp&0x7F;P2=temp&0x7F;delay(N);temp=(temp1)|0x01);P0=0xFD;P1=0xFD;P3=0xFD;P2=0xFD;/=2=temp=0xFE;for(i=0;i6;i+)P0=temp&0xBF;P1=temp&0xBF;P3=temp&0xBF;P2=temp&0xBF;delay(N);temp=(temp1)|0x01);temp=0xBF;for(i=0;i2;i+)P0=temp&0xDF;P1=temp&0xDF;P3=temp&0xDF;P2=temp&0xDF;delay(N);temp=(temp1)|0x01);/=3=temp=0xFE;for(i=0;i5;i+)P0=temp&0xDF;P1=temp&0xDF;P3=temp&0xDF;P2=temp&0xDF;delay(N);temp=(temp1)|0x01);temp=0xDF;for(i=0;i3;i+)P0=temp&0xEF;P1=temp&0xEF;P3=temp&0xEF;P2=temp&0xEF;delay(N);temp=(temp1)|0x01);/=4=temp=0xFE;for(i=0;i4;i+)P0=temp&0xEF;P1=temp&0xEF;P3=temp&0xEF;P2=temp&0xEF;delay(N);temp=(temp1)|0x01);temp=0xEF;for(i=0;i4;i+)P0=temp&0xF7;P1=temp&0xF7;P3=temp&0xF7;P2=temp&0xF7;delay(N);temp=(temp1)|0x01);/=5=temp=0xFE;for(i=0;i3;i+)P0=temp&0xF7;P1=temp&0xF7;P3=temp&0xF7;P2=temp&0xF7;delay(N);temp=(temp1)|0x01);temp=0xF7;for(i=0;i5;i+)P0=temp&0xFB;P1=temp&0xFB;P3=temp&0xFB;P2=temp&0xFB;delay(N);temp=(temp1)|0x01);/=6=temp=0xFE;for(i=0;i2;i+)P0=temp&0xFB;P1=temp&0xFB;P3=temp&0xFB;P2=temp&0xFB;delay(N);temp=(temp1)|0x01);temp=0xFB;for(i=0;i6;i+)P0=temp&0xFD;P1=temp&0xFD;P3=temp&0xFD;P2=temp&0xFD;delay(N);temp=(temp1)|0x01);/=7=temp=0xFE;for(i=0;i1;i+)P0=temp&0xFD;P1=temp&0xFD;P3=temp&0xFD;P2=temp&0xFD;delay(N);temp=(temp1)|0x01);temp=0xFD;for(i=0;i7;i+)P0=temp&0xFE;P1=temp&0xFE;P3=temp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 怎样提高患者的安全宣教
- 如何评估盆底肌
- 类风湿性关节炎病症状详解及护理指南
- 拖拉管施工专项技术方案
- 药剂科三基三严试题附答案
- 自动化除尘介绍
- 2025年档案人员岗位培训班试题及答案
- 2025年产前诊断考试题库及答案
- 颈椎中医护理科普
- 幼儿园保育实训视力保护策略
- 食用菊花栽培管理技术
- 关爱老人出行 筑牢安全防线-老年人交通安全宣传
- 《思想道德与法治》课件-第一章 领悟人生真谛 把握人生方向
- 大单元语文教学设计案例
- 道教内部考试试题及答案
- 保密警示教育典型泄密案例教育学习
- 肿瘤介入手术试题及答案
- 告别假努力学会真自律班会课件
- 蔬菜配送运输管理制度
- BOM变更管理知识课件
- 2025年中国路桥工程行业发展前景预测及投资规划建议报告
评论
0/150
提交评论