键控流水灯设计.doc_第1页
键控流水灯设计.doc_第2页
键控流水灯设计.doc_第3页
键控流水灯设计.doc_第4页
键控流水灯设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计题目 基于单片机的流水灯设计 姓名:李坤呈 班级:11110201 学号:33摘 要:单片机是一种集成电路芯片,采用超大规模技术,把具有数据处理能力的微处理器、随机存取数据存储器、只读程序存储器、输入输出电路、可能还包括定时计数器、串口通信口、显示驱动电路,脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一块芯片上,构成一个最小而完善的计算机系统。这些电路在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。键控流水灯设计通过编写代码实现8个LED灯3种流水灯显示方式。在设计中主要采用AT89C51这款芯片作为控制主体,用按钮来切换流水灯的发光方式来显示流水灯的发光模式。系统通过P0口外接8个发光二极管,P3口接2个按键,一个按键实现一种发光模式,并且两个按键有优先级。设计中辅以简单的设备和必要的电路,设计了一款流水灯,最终达到预期的目的。关键词 单片机AT89C51 LED 键控 流水灯1引言单片机控制系统能够取代以前利用复杂电子线路或者数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。现在的单片机的控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。2中断系统概述1.中断概念:中断是指计算机在执行某一程序的过程中, 由于计算机系统内、 外的某种原因, 而必须中止原来程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。2.中断作用:采用了中断技术后的计算机, 可以解决CPU与外设之间速度匹配的问题, 使计算机可以及时处理系统中许多随机的参数和信息, 同时, 它也提高了计算机处理故障与应变的能力。3.中断的处理过程:分为四步,第一是中断请求,第二是中断响应,第三是中断服务,第四是中断返回。3总体设计实现这个课题我使用AT89C51作为控制主体,使用八个共阳极发光二极管作为LED显示流水灯,外接两个按钮,一个按键显示一种花样。外接一个晶振来提供外接时钟脉冲。模块图如下图所示系统电路设计图程序流程图4模块设计主体控制模块芯片AT89C51是核心,P0、P3口均可以作为I/O口使用。八个LED灯接在AT89C51的P0口上,P3口的P3.2和P3.3分别接一个按键,P3.2口的按键实现八个LED灯闪烁五次,P3.3口的按键让LED灯循环右移。按键控制模块 按键控制模块采用独立式按键接口设计。独立式按键是每一个按键占用一根I/O端线。特点:各个按键相互独立,电路配置灵活;按键数量较多时,I/O端线耗费较多,电路复杂;软件结构简单。时钟模块时钟电路用于产生单片机工作时所需的时钟信号,在芯片的外部通过18脚、19脚接晶体振荡器和微调电容,形成反馈电路,构成一个稳定的自激振荡器。电路中的C1、C2取30Pf左右,二晶体振荡器的频率范围通常是1.2-12MHZ,晶体振荡器的频率越高,振荡频率越高。显示模块显示模块主体是八个LED灯。都是接的高电平。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光位置和个数的不同可显示出各种花样。5程序设计C语言程序#includereg51.h#includeintrins.h#define uint unsigned intvoid delay(uint m)uint i;for(;m0;m-)for(i=0;i124;i+); void Timer0() interrupt 0static k;P0=0xff;for(k=0;k0;m-)for(i=0;i124;i+); void shanshuo()unsigned int k;if(P3|0xfb)!=0xff)P0=0xff;for(k=0;k10;k+) P0=P0; delay(1000);void main()unsigned char g=0xfe;unsigned char outdata=0x7f;for(;)P0=g;shanshuo();if(P3|0xf7)!=0xff)while(1)shanshuo(); P0=outdata; shanshuo(); outdata=_cror_(outdata,1); shanshuo(); delay(1000); shanshuo(); g=_crol_(g,1);shanshuo();delay(1000);shanshuo();张老师,这个没有用中断的c语言程序利用for语句和if语句的相互嵌套,实现了中断里面的优先次序,但系统的灵活性还是没有用中断的程序好,但这个程序也是我花时间写出来的,当时就是想,能不能不用中断也实现这样的功能,虽然这个程序没有按要求做,但我还是想写在这里,毕竟这也是我的成果,希望老师能理解。6系统的调试与仿真 当没有发生中断时,八个LED灯是循环左移闪亮的当INTO发生中断时,八个LED灯闪烁五次当INT1发生中断时,八个LED灯是循环右移闪亮的对于这次的调试,比上次的情况好多了,开始做汇编语言的时候,仿真时,系统循环左移老是不对,总是两个灯一起移动,后来我在网上查阅相关资料,大幅修改了左移函数,最终达到了想要的结果;做c语言调试时,大问题不多,主要是语法有很多错误,这都是我编程时的疏忽大意,经过修改,也同样实现了该功能。7学习的感想与收获8对老师的意见与建议对于单片机这门课,我认为作为一个老师来说,要教好一个学生这是一个挑战,但张老师做得很好,也很到位,我认为我听得还挺明白,但我对老师的课也有一些建议:老师您的课堂大致可分为两部分,第一部分是纯粹的讲单片机理论,比如讲一节课的定时或者中断,第二部分就是叫大家自己把第一节课的PPT上的程序仿真出来,然后给老师您看。对于第一个部分,我认为每个老师都会这样做,主要是第二部分,第二部分无非就是给出程序,然后叫大家仿真出来,这是非常简单的,就是按步骤执行就可以做出来,因为最难做的程序是给好的。而我希望第二部分能有一些改进,比如老师您可以基于上节课讲的一个单片机系统马上给出一道与之类似的题,在第二节课的45分钟里带着大家,和大家一起来做这个系统,我们大家一起来一步一步完成这个系统,而这个过程重点就是讲编程,即一边带着大家一起编程,一边讲解汇编语言,这

温馨提示

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

评论

0/150

提交评论