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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《单片机原理与应用》课程设计报告范本155811.docx

1、单片机原理与应用课程设计报告范本155811江西理工大学应用科学学院信息工程系单片机原理与应用课程设计报告设计题目: 跑马灯实验 专 业: 电子信息工程 班 级: 学 号: 08 参与人员: 指导老师: 王苏敏 完成日期: 2015/1/20 指导老师评语:得分: 指导教师签名: 目录1 设计任务和性能指标 11.1 设计任务 11.2 性能指标 12 设计方案 22.1 需求分析 22.2 方案论证 23 系统硬件设计 33.1 AT89C51 33.2灯控制电路设计 33.3 时钟电路控制 43.4 PROTEUS仿真软件的使用 44 系统软件设计 54.1 JNB伪指令 54.2 MOV

2、伪指令 54.3 DELAY 64.4 keil软件的使用 65 调试步骤 75.1 调试步骤 75.2 性能分析 76 设计总结 8参考文献 9附录1 系统硬件电路图 10附录2 程序清单 111 设计任务和性能指标1.1 设计任务 选择采样AT89C51,发光二极管,晶振,排阻,光柱,开关等器件,使用汇编语言实现三种跑马灯闪烁方式,实现跑马灯动态显示效果设计。 实现八个LED灯的从上往下闪烁,从下往上闪烁,每两个闪烁一次,可结合跑马灯的排布以及程序设计实现各种跑马灯动态显示效果。(1) 设计硬件电路,画出电路原理图。(2) 画出程序流程图。(3) 写出汇编语言代码。 通过本课程设计单片机系

3、统设计思路和基本步骤,熟练用proteus和keil软件。1.2 性能指标本实验需要完成的任务有:(1) 使八路LED轮流点亮。(2) 跑马灯有两种以上点亮形式。(3) 设计按键选择跑马灯的电路形式。(4) 创新功能:可以控制跑马灯的亮灭时间,闪烁频率。2 设计方案2.1 需求分析 本次实验需要用AT89C51芯片的P1口来控制八个跑马灯的亮灭,用“0”和“1”对P1口赋值,“1”为亮,“0”为灭。由于还需要控制跑马灯的闪烁方式和闪烁频率,用DELY函数来改变闪烁频率。所以本实验中用P2.0,P2.2,P2.4外接三个开关按钮来控制跑马灯的闪烁方式。用P0.0,P0.1,P0.2外接三个开关按

4、钮来控制跑马灯的闪烁频率。2.2 方案论证 在日常生活中,我们总能看到花样百出的流水灯光,但随着电子技术的飞速发展,人们对灯的花样要求也越来越高,如交错、全亮、全灭显示等,因此跑马灯得到广泛的应用。 用开关按键控制八个跑马灯的闪烁方式和亮灭时间,闪烁频率。程序流程图: 3 系统硬件设计3.1 AT89C51AT89C51引脚图AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的

5、单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:1 与MCS-51 兼容,2 4K字节可编程FLASH存储器3 寿命:1000写/擦循环4 数据保留时间:10年5 全静态工作:0Hz-24MHz6 三级程序存储器锁定 7 1288位内部RAM 8 32可编程I/O线 9 两

6、个16位定时器/计数器10 5个中断源11 可编程串行通道 12 低功耗的闲置和掉电模式管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出

7、电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带

8、内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复

9、位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信

10、号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 用P1口引脚连接LED灯,P0.0,P0.1,P0.2引脚连接三个开关,分别控制LED闪烁灯的闪烁频率和亮灭

11、时间。P2.0,P2,.2,P2,4引脚连接三个开关,分别控制LED闪烁灯的闪烁方式。XTAL1,XTAL2连接晶振,RST(复位引脚)外界一个电容。P3.2引脚连到两个三与门。3.2 灯控制电路设计 如上图所示,用光柱替代八个LED灯,用AT89C51芯片的P1端口对八个LED灯进行控制,对P1口赋值,“0”为灭,“1”为亮,用过软件编程,可是八个LED等的闪烁方式为:从上到下闪烁,从下往上闪烁,和每次两个连续LED灯闪烁。3.3 时钟电路设计如上图所示,采用内部时钟产生方式,在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击震荡。其发出的时钟脉冲直接送入片内定时控

12、制部件。3.4 PROTEUS仿真软件的使用 打开proteus软件,新建一个文本文件,单击P按钮打开pick devices在keywords中选择本实验中所要用到的元器件。选好后在文本框中布线路图,画好线路图后,将keil中编译生成的hex文件加载到AT89C51芯片中。然后进行调试,观察跑马灯的闪烁方式和闪烁频率。4 系统软件设计4.1 JNB伪指令为零则跳转。1, JNB P2.0,S1 JNB P2.2,S3 JNB P2.4,S5当与P2.0相连的开关被按下时,则P2.0为零,此时跳转到程序S1,此时八个LED等闪烁方式为从上往下依次亮。当与P2.2相连的开关被按下时,则P2.2为

13、零,此时跳转到程序S3,此时八个LED等闪烁方式为从下往上依次亮。当与P2.4相连的开关被按下时,则P2.4为零,此时跳转到程序S5,此时八个LED等闪烁方式为每次连续两个LED亮。 S1: MOV A,#01HLP1: MOV P1,A LCALL DELAY JNB P2.2,S3 JNB P2.4,S5 RL A LJMP LP1中的JNB的作用是当八个LED灯从上往下闪烁时。(1)如果与P2.2相连的开关被按下,则八个LED等的是很闪烁方式会变为从下往上闪烁。(2)如果与P2.4相连的开关被按下,则八个LED等的是很闪烁方式会变为每次连续两个LED亮。2, DELAY: JNB P0.

14、0,DELAY1 JNB P0.1,DELAY2 JNB P0.2,DELAY3DELAY1: MOV R0,#0FFHD1: MOV R1 ,#0FFHD2: NOP NOPL2: DJNZ R1 ,D2 DJNZ R0 ,D1 RETDELAY2: MOV R2,#0AAHD3: MOV R3 ,#0AAHD4: NOP NOPL3: DJNZ R3 ,D4 DJNZ R2 ,D3 RETDELAY3: MOV R4,#066HD5: MOV R5 ,#066HD6: NOP NOPL4: DJNZ R5 ,D6 DJNZ R4 ,D5 RET 中的JNB的作用是选择延时程序,(1)当与P

15、0.0相连的开关被按下,则P0.0为零时,此时跳转到程序DELAY1,此时八个LED的闪烁频率为最慢。(2)当与P0.1相连的开关被按下,则P0.1为零时,此时跳转到程序DELAY2,此时八个LED的闪烁频率速度一般。(3)当与P0.2相连的开关被按下,则P0.2为零时,此时跳转到程序DELAY3,此时八个LED的闪烁频率为最快4.2 MOV伪指令1: MOV A,#01HLP1: MOV P1,A LCALL DELAY JNB P2.2,S3 JNB P2.4,S5 RL A LJMP LP1S3: MOV A,#80HLP2: MOV P1,A LCALL DELAY JNB P2.0,

16、S1 JNB P2.4,S5 RR A LJMP LP2S5: MOV A,#03H MOV P1,A LCALL DELAY JNB P2.0,S1 JNB P2.2,S3 MOV A,#0CH MOV P1,A LCALL DELAY JNB P2.0,S1 JNB P2.2,S3 MOV A,#30H MOV P1,A LCALL DELAY JNB P2.0,S1 JNB P2.2,S3 MOV A,#0C0H MOV P1,A LCALL DELAY JNB P2.0,S1 JNB P2.2,S3 LJMP S5用MOV 伪指令对八个跑马灯赋值。给P1.0-P1.7赋值,为“1”时,

17、相应的LED灯会亮,当给P1.0-P1.7赋值为00000001时,则只有和P1.0引脚相连的LED灯(最上面的LED灯)会亮,再用延时函数DELAY后,再给P1.0-P1.7赋值为00000010,只有和P1.1引脚相连的LED灯(第二个LED灯)会亮,此时,第一个LED灯亮了之后第二个LED再亮。(1) 在程序S1中,依次给P1口赋值为00000001,00000010,00000100,00001000,00010000,00100000,01000000,10000000。实现了八个跑马灯从上往下闪烁的方式。(2) 在程序S3中,依次给P1口赋值为10000000,01000000,0

18、0100000,00010000,00001000,00000100,00000010,00000001。实现了八个跑马灯从下往上闪烁的方式。(3) 在程序S5中,依次给P1口赋值为00000011,00001100,00110000,11000000。实现了八个跑马灯连续两个闪烁的方式。4.3 DELAY延时函数DELAY: JNB P0.0,DELAY1 JNB P0.1,DELAY2 JNB P0.2,DELAY3DELAY1: MOV R0,#0FFHD1: MOV R1 ,#0FFHD2: NOP NOPL2: DJNZ R1 ,D2 DJNZ R0 ,D1 RETDELAY2: M

19、OV R2,#0AAHD3: MOV R3 ,#0AAHD4: NOP NOPL3: DJNZ R3 ,D4 DJNZ R2 ,D3 RETDELAY3: MOV R4,#066HD5: MOV R5 ,#066HD6: NOP NOPL4: DJNZ R5 ,D6 DJNZ R4 ,D5 RET END用延时函数控制跑马灯的闪烁频率和亮灭时间,DELAY1为频率最慢,DELAY2频率一般,DELAY3频率最快。DELAY: JNB P0.0,DELAY1 JNB P0.1,DELAY2 JNB P0.2,DELAY3用JNB伪指令选择DELAY函数。4.4 keil软件的使用。(1)打开ke

20、il软件,单击project/new vision project ,在D盘下新建文件夹T4,然后新建一个空的文件,保存为T4.asm。 右击Source Group 1 / ADD files to group / 。将T4.asm添加到group 1中。(2)在空文件中编写程序,然后编译文件,直到编译出现“0”错误时,单击target option / output 把create HEX files前面的方框中勾上,生成的HEX文件将被加载到AT89C51芯片中。5 调试步骤与性能分析5.1 调试步骤 打开proteus仿真软件,单击全速运行。(1)按下与P2.0相连的按键,则八路跑马灯

21、从上往下依次点亮,按下与P0.0相连的按键,跑马灯的闪烁频率最慢,按下与P0.1相连的按键,跑马灯的闪烁频率一般,按下与P0.2相连的按键,跑马灯的闪烁频率最快。(2)按下与P2.2相连的按键,则八路跑马灯从下往上依次点亮,按下与P0.0相连的按键,跑马灯的闪烁频率最慢,按下与P0.1相连的按键,跑马灯的闪烁频率一般,按下与P0.2相连的按键,跑马灯的闪烁频率最快。(3)按下与P2.2相连的按键,则八路跑马灯每次连续两个点亮,按下与P0.0相连的按键,跑马灯的闪烁频率最慢,按下与P0.1相连的按键,跑马灯的闪烁频率一般,按下与P0.2相连的按键,跑马灯的闪烁频率最快。5.2 性能分析 本实验实

22、现了八路跑马灯的三种不同闪烁方式,还有三种不同闪烁频率。三种闪烁方式分别为:从上往下闪烁,从下往上闪烁,每次连续两个闪烁。三种闪烁频率为:快,一般,慢。6 设计总结通过这次课程设计,加强了我们动手、思考和解决问题的能力. 此次为期两周的课程设计,我加深了对单片机以及汇编语言的认识和理解,使各部分的知识得到了进一步的巩固。将平时学的理论知识真正应用到实际中,实现了学与用相结合,应用单片机这一开发环境,软硬件结合来达到设计一实物的目的。同时还了解了两个专业软件:KEILC和PROTEUS仿真软件,现在基本熟悉了他们的应用与相关知识。此次课程设计,关键的是整个课设过程,这中间有着我们的辛勤劳动和认真

23、的思考,过程有些枯燥,但却十分有意义。仿真和程序的编写都会遇到很多问题,但我们保持耐心,认真对待,问题终会解决。整个过程认真坚持下来,你会收获很多,体会很多,不管是对以后的学习,还是对我们的自身本事的锻炼,这些都是我们非常宝贵的财富。课设过程中遇到的苦难,通过对设计的认真分析以及与同学们的讨论,找到了其中的出错点,将其改正,每个问题都这样一一改正,整个课设完成的十分成功。此次课设还锻炼了我们的动手能力,开阔了我们的思维境界,使我们的知识更丰富,不仅加深了我们对所学专业的认识,更增加了我们对所学专业的兴趣!参考文献单片机原理及应用 中国铁道出版社 江世明 黄同成 编著PROTEUS入门实用教程

24、机械工业出版社 周润景 编著附录1 系统硬件电路图附录2 程序清单 ORG 0000H LJMP START ORG 0003H LJMP INTER0 ORG 0040HSTART: MOV A,#00H SETB IT0 SETB EX0 SETB EA SETB IT1 SETB EX1LOOP: MOV P1,A LCALL DELAY RL A LJMP LOOP INTER0: JNB P2.0,S1 JNB P2.2,S3 JNB P2.4,S5 SJMP EXITS1: MOV A,#01HLP1: MOV P1,A LCALL DELAY JNB P2.2,S3 JNB P2

25、.4,S5 RL A LJMP LP1S3: MOV A,#80HLP2: MOV P1,A LCALL DELAY JNB P2.0,S1 JNB P2.4,S5 RR A LJMP LP2S5: MOV A,#03H MOV P1,A LCALL DELAY JNB P2.0,S1 JNB P2.2,S3 MOV A,#0CH MOV P1,A LCALL DELAY JNB P2.0,S1 JNB P2.2,S3 MOV A,#30H MOV P1,A LCALL DELAY JNB P2.0,S1 JNB P2.2,S3 MOV A,#0C0H MOV P1,A LCALL DELAY

26、 JNB P2.0,S1 JNB P2.2,S3 LJMP S5EXIT: RETI DELAY: JNB P0.0,DELAY1 JNB P0.1,DELAY2 JNB P0.2,DELAY3DELAY1: MOV R0,#0FFHD1: MOV R1 ,#0FFHD2: NOP NOPL2: DJNZ R1 ,D2 DJNZ R0 ,D1 RETDELAY2: MOV R2,#0AAHD3: MOV R3 ,#0AAHD4: NOP NOPL3: DJNZ R3 ,D4 DJNZ R2 ,D3 RETDELAY3: MOV R4,#066HD5: MOV R5 ,#066HD6: NOP NOPL4: DJNZ R5 ,D6 DJNZ R4 ,D5 RET END

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

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