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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机AT89C51的花样跑马灯设计报告Word文件下载.docx

1、AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51引脚排列图由于工艺及标准化等原因,芯片的引脚数量是有限的,但单片机为实现控制所需要的信号数目却远远超过其引脚数目。为解决这一矛盾,单片机的某些信号引脚被赋以双重功能。1)电源及电源复位引脚:(1)VCC(40脚):正常操作时接+5V直流电源。(2)VSS (20脚):接地端。(3)RST/VPD(9脚):复位信号输入端。在该引脚上输入一定时间(约两个机器周期)的高电平将使单片机复位。该引脚的第二功能是VPD,即备用电源输入端。当主电源发生故障,降低到低电平规定值时,可将+5V备用电源自动接入VPD端,以保护片

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

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

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

5、.7引脚(1017脚):8位通用输入/输出端口,具有第二功能。2.2硬件原理框图2.3电路模块1)振荡电路晶振为单片机提供时钟信号。设置为12MHz。2)跑马灯显示电路P0口连接1-8号红色LED灯,根据输出的高低电平控制灯的亮灭;P2口接9-16号绿色LED灯。三软件电路设计本课程设计是采用89C51单片机设计的花样跑马灯,通过keil进行c语言编程,通过protues进行软件硬件仿真。仿真时可以观察到不同方式的跑马灯闪烁。四C语言源程序 #include#define uchar unsigned char#define uint unsigned intuchar code Patter

6、n_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,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,0x

7、00,0xff,0xff,0x0f,0xf0,0xff, 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,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,0xf

8、8,0xfc,0xfe, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff;uchar code Pattern_P2=0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff, 0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff, 0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0x

9、ef,0xdf,0xbf,0x7f, 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00, 0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff/延时void DelayMS(uint x) uchar i; while(x-) for(i=0;i120;i+); /主程序void main() wh

10、ile(1) /从数组中读取数据送至P0和P2口显示136;i+) P0=Pattern_P0i; P2=Pattern_P2i; DelayMS(100); 五仿真过程综述使用proteus isis进行硬件连接:AT89C51的X1,X2连接振荡电路作为时钟信号,P0口分别连接LED通过220欧的电阻到高电平,P2口分别连接绿色LED通过220欧电阻到高电平。在RST上输入一定时间(约两个机器周期)的高电平将使单片机复位。EA引脚连接低电平,实现编程。硬件连接图跑马灯动作设计依次为:两盏灯从上向下,跑两次;中间向两边移动再收拢;中间向两边扩散再收拢;单数编号灯跳转双数编号灯;上下各亮三盏灯

11、;上边亮四盏灯跳转下边四盏灯;三盏亮灯上下移动;全灯闪烁一次;下边亮四盏灯跳转上边四盏灯;一盏灯上下移动;一盏灯向下扩展全灯亮;全灯闪烁几次;过程重复。绿灯和红灯闪烁情况相同,还可以根据创意改变LED灯的排序和闪烁花样,只要改变定义数组里的值,就能实现更多的花样跑马效果。六设计中的难点定时器中断延时程序设计:采用DelayMS ()函数进行的延时是不精确的,主要有以下两个原因。(1)该类型的DelayMS ()函数采用的延时是通过对变量进行递减或递增实现的,很难计算精确的延时时间。(2)由于跑马灯的状态函数和延时函数是和主任务耦合到一起的,因此主任务的执行时间要对延时的时间产生影响。假设一个跑

12、马灯的延时函数的延时时间是1s,但是由于主函数可能存在不同的分支,因此当主函数执行不同分支程序时,实际的跑马灯延时时间是不一样的。七总结 本次课程设计耗时一周,通过硬件设计和软件编程、仿真的方式加深了对单片机技术原理与应用、DSP原理与应用C语言程序设计以及数字电路、模拟电路等课程的内容的理解,以及综合运用能力,增强了自己的动手能力和分析能力。课程设计刚刚开始对软件不太熟悉,通过网上搜索资料学习,以及同学之间相互讨论辅助,很快学会软件的运用,并开始着手下一步选择课题以及课题分析,由于同学们选择的课题不尽相同,就开始分头查找资料,途径包括网络,书本等多种方式,结合自己的理解程度最终确定自己的设计

13、方案,进行下一步硬件连接,在连接过程中,由于连接到总线的支路没有标号导致仿真失败,可见细节决定成败;硬件连接完成后,使用Keil uVision3进行软件编程,检查无错后生成hex文件进行仿真,在若干改进后,成功实现与期望相近的的仿真结果。本次课程设计完成后,我有以下几点体会:1.要注意细节。细节决定成败,这句话在这次课题中不仅一次得到了印证,小到一个引脚的连接,一点点的错误都会使整个电路无法运行,因此我们不仅仅要有整体意识,也要注意细节,不要因为一个小小的细节而导致满盘皆输。2.要与同学们互相沟通、交流 。设计过程中难免会遇到各种各样的问题,但每个同学遇到的问题不尽相同,可以通过相互讨论相互

14、帮助来解决彼此的问题。软件设计是耗时最长的一项,涉及到整个系统工作的稳定性。首先要编写总体框架,然后做简单的测试,保证能正常运行,接下来编写单个的子状态程序,写完一个测试一个,这样保证了最后调试的成功率。在编写程序过程中需要很好的编写习惯,结构要明显,标明注释,随时存档,程序尽量简约。总之通过本次课设,使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后学习更加高深的课题设计打下基础。同时,在翻阅辅导资料的过程中我惊叹于作者思维的严密性和知识的广泛性,令我在感慨过程中也让我坚定了学好这门专业的决心。在以后的工作学习中定要向老师和同学多学习、多交流,我相信经过长期的努力和学习以及更多的知识积累,我的能力也会更上一层楼。参考文献【1】单片机原理及其接口技术,清华大学出版社,主编:胡汉才;【2】C语言程序设计教程,电子工业出版社,主编:张敏霞;【3】模拟电子技术基础,高等教育出版社,主编:童诗白;【4】数字电子技术基础,高等教育出版社,主编:阎石【5】电路,高等教育出版社,主编:邱关源

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

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