基于单片机at89c51的花样跑马灯设计毕业论文

上传人:Bod****ee 文档编号:47204735 上传时间:2018-06-30 格式:DOC 页数:12 大小:201.01KB
返回 下载 相关 举报
基于单片机at89c51的花样跑马灯设计毕业论文_第1页
第1页 / 共12页
基于单片机at89c51的花样跑马灯设计毕业论文_第2页
第2页 / 共12页
基于单片机at89c51的花样跑马灯设计毕业论文_第3页
第3页 / 共12页
基于单片机at89c51的花样跑马灯设计毕业论文_第4页
第4页 / 共12页
基于单片机at89c51的花样跑马灯设计毕业论文_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《基于单片机at89c51的花样跑马灯设计毕业论文》由会员分享,可在线阅读,更多相关《基于单片机at89c51的花样跑马灯设计毕业论文(12页珍藏版)》请在金锄头文库上搜索。

1、基于基于 AT89C51AT89C51 的花样跑马灯的花样跑马灯一一课设简介课设简介1-1.1-1.课设目的课设目的为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。1、通过本设计,使学生综合运用单片机技术原理与应用 、 DSP 原理与应用 C 语言程序设计以及数字电路 、 模拟电路等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。2、学会使用 KEIL C 和 PROTEUS 等软件,用 C 语言或汇编语言编写一个较完整

2、的实用程序,并仿真运行,保证设计的正确性。3、了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。1-2.1-2.课设内容课设内容利用单片机的自动控制功能,设计出相应不同的电路,可以实现 IED 灯不同模式的显示效果。本课程是利用 AT80C51 单片机的自动控制功能,并结合其它电子元器件以及软件实现的跑马灯,实现不同种类的 LED 灯显示效果。二硬件电路设计二硬件电路设计2.1AT89C512.1AT89C51 简介及接口说明简介及接口说明AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable a

3、nd Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 1000 次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51 引脚排列图

4、由于工艺及标准化等原因,芯片的引脚数量是有限的,但单片机为实现控制所需要的信号数目却远远超过其引脚数目。为解决这一矛盾,单片机的某些信号引脚被赋以双重功能。1)电源及电源复位引脚:(1)VCC(40 脚):正常操作时接+5V 直流电源。(2)VSS (20 脚):接地端。(3)RST/VPD(9 脚):复位信号输入端。在该引脚上输入一定时间(约两个机器周期)的高电平将使单片机复位。该引脚的第二功能是 VPD,即备用电源输入端。当主电源发生故障,降低到低电平规定值时,可将+5V 备用电源自动接入 VPD端,以保护片内 RAM 中的信息不丢失,使复电后能继续正常运行。(4)/VPP(31 脚):访

5、问程序存储器控制信号/编程电源输入。当EA保持高电平时,访问内部程序存储器,访问地址范围在 04KB 内;当EAPC(程序计数器)值超过 0FFFH,即访问地址超出 4KB 时,将自动转向执行外部程序存储器内的程序;当保持低电平时,不管单片机内部是否有EA程序存储器,则只访问外部程序存储器(从 0000H 地址开始) 。由此可见,对片内有可用程序存储器的单片机而言,端应接高电平,而对片内无程EA序存储器的单片机,可将接地。EA对于 EPROM 型单片机,在 EPROM 编程期间,此引脚用于施加 21V 的编程电源(VPP) 。2)时钟振荡电路引脚 XTAL1 和 XTAL2:(1)XTAL1(

6、19 脚):外接石英晶体和微调电容引脚 1。它是片内振荡电路反向放大器的输入端。采用外部振荡器时此引脚接地。(2)XTAL2(18 脚):外接石英晶体和微调电容引脚 2。它是片内振荡电路反向放大器的输出端。采用外部振荡器时此引脚为外部振荡信号输入端。3) (30 脚):低 8 位地址锁存控制信号/编程脉冲输入。在系ALE/PROG统扩展时,ALE 用于把 P0 口输出的低 8 位地址锁存起来,以实现低 8 位地址和数据的隔离。在访问外部程序存储器期间,ALE 信号两次有效;而在访问外部数据存储器期间,ALE 信号一次有效。对于 EPROM 型单片机,在EPROM 编程期间,此引脚用于输入编程脉

7、冲。PROG4)(29 脚):外部程序存储器的读选通信号输出端,低电平有效。PSEN在从外部程序存储器取指令(或常数)期间,此引脚定时输出负脉冲作为读取外部程序存储器的信号,每个机器周期两次有效,此时地址总线PSEN上送出的地址为外部程序存储器地址;在此期间,如果访问外部数据存储器和内部程序存储器,不会产生信号。PSEN5)并行双向输入/输出(I/O)口引脚:(1)P0 口的 P0.0P0.7 引脚(3932 脚):8 位通用输入/输出端口和片外 8 位数据/低 8 位地址复用总线端口。(2)P1 口的 P1.0P1.7 引脚(18 脚):8 位通用输入/输出端口。(3)P2 口的 P2.0P

8、2.7 引脚(2821 脚):8 位通用输入/输出端口和片外高 8 位地址总线端口。(4)P3 口的 P3.0P3.7 引脚(1017 脚):8 位通用输入/输出端口,具有第二功能。2.2 硬件原理框图X1 X2P0AT89C51RSTP21-8 红色 LED9-16 绿色 LED晶振2.3 电路模块1)振荡电路晶振为单片机提供时钟信号。设置为 12MHz。2)跑马灯显示电路P0 口连接 1-8 号红色 LED 灯,根据输出的高低电平控制灯的亮灭;P2 口接9-16 号绿色 LED 灯。三软件电路设计三软件电路设计本课程设计是采用 89C51 单片机设计的花样跑马灯,通过 keil 进行 c

9、语言编程,通过 protues 进行软件硬件仿真。仿真时可以观察到不同方式的跑马灯闪烁。开始程序程序主体条件判断跑马灯延时程序分支四四C C 语言源程序语言源程序#include#define uchar unsigned char#define uint unsigned intuchar code Pattern_P0=0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x

10、00,0x81,0xc3,0xe7,0xff,0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x

11、ff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff;uchar code Pattern_P2=0xff,0xff,0xff,0xff,0xff,0xff,0xff,

12、0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,

13、0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

14、0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff;/延时void DelayMS(uint x)uchar i;while(x-)for(i=0;i120;i+);/主程序void main()uchar i;while(1)/从数组中读取数据送至 P0 和 P2 口显示for(i=0;i136;i+)P0=Pattern_P0i;P2=Pattern_P2i;DelayMS(100);五仿真过程综述五仿真过程综述使用 proteus isis 进行硬件连接:AT89C51 的 X1,X2 连接振荡电路作为时钟信号,P0 口分别连接 LED 通过 220

15、 欧的电阻到高电平,P2 口分别连接绿色 LED 通过 220 欧电阻到高电平。在 RST 上输入一定时间(约两个机器周期)的高电平将使单片机复位。EA 引脚连接低电平,实现编程。硬件连接图跑马灯动作设计依次为:两盏灯从上向下,跑两次;中间向两边移动再收拢;中间向两边扩散再收拢;单数编号灯跳转双数编号灯;上下各亮三盏灯;上边亮四盏灯跳转下边四盏灯;三盏亮灯上下移动;全灯闪烁一次;下边亮四盏灯跳转上边四盏灯;一盏灯上下移动;一盏灯向下扩展全灯亮;全灯闪烁几次;过程重复。绿灯和红灯闪烁情况相同,还可以根据创意改变 LED 灯的排序和闪烁花样,只要改变定义数组里的值,就能实现更多的花样跑马效果。六设

16、计中的难点六设计中的难点定时器中断延时程序设计:采用 DelayMS ()函数进行的延时是不精确的,主要有以下两个原因。(1)该类型的 DelayMS ()函数采用的延时是通过对变量进行递减或递增实现的,很难计算精确的延时时间。(2)由于跑马灯的状态函数和延时函数是和主任务耦合到一起的,因此主任务的执行时间要对延时的时间产生影响。假设一个跑马灯的延时函数的延时时间是 1s,但是由于主函数可能存在不同的分支,因此当主函数执行不同分支程序时,实际的跑马灯延时时间是不一样的。七总结七总结本次课程设计耗时一周,通过硬件设计和软件编程、仿真的方式加深了对单片机技术原理与应用 、 DSP 原理与应用 C 语言程序设计以及数字电路 、 模拟电路等课程的内容的理解,以及综合运用能力,增强了自己的动手能力和分析能力。课程设计刚刚开始对软件不太熟悉,通过网上搜索资料学习,以及同学之间相互讨论辅助,很快学会软件的运用,并开始着手下一步选择课题以及课题分析,由于同

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号