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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(数码管显示实验.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数码管显示实验.docx

1、数码管显示实验 数码管显示实验原理及分析报告 学 院 计算机工程学院专 业 计算机应用年级班别 09计算机科学与技术2班学 号 2009404010202学生姓名 黄正指导教师 李 永日 期 2011 年 12月25日单片机数码管显示课程设计目 录1 引言 12 设计任务和要求 12.1 设计目的 12.2 设计意义 13 总原理图及主要模块的流程图 13.1 总原理图及元器件清单 13.2 主要流程图 14 性能测试与分析 35 结论与心得 4致谢 4参考文献 4单片机数码管显示课程设计1 引言从上世纪70年代第一批单片机问世,短短二三十年时间,单片机技术已经成为计算机技术的一个重要分支,广

2、泛运用到工业控制、仪器、仪表、消费产品,汽车、办公自动化和通信等领域。因此,单片机技术已经成为电子、测控、自动化、通信等许多工科专业学生的必备技能。我用AT89C51芯片来设计一个简单的数码管显示。此设计给出了源代码,通过仿真测试,其性能指标达到了设计要求。关键词:单片机,AT89C51,数码管2 设计任务和要求2.1 设计目的1.学习基本理论在实践中综合运用的初步经验,掌握模拟电路设计的基本方法、设计步骤,培养综合设计与调试能力。2.了解AT89C51这个芯片的使用和性能指标测试方法。3.培养实践技能,提高分析和解决实际问题的能力。4了解数码管动态显示的原理及了解74LS164扩展端口的方法

3、。2.2 设计意义 为了更好地熟悉和掌握单片机的基本功能和编程,掌握数码管动态扫描显示原理及实现方法。自我动态扫描显示电路驱动程序的编写方法。通过课程设计,达到理论与实际应用相结合,提高学生对微机硬件结构的软件设计方法的理解,使学生能够根据实际应用,初步实现硬件及软件的设计,对硬件开发有更深层的认识,为今后打软硬件开发,打下坚实的基础。3 总原理图及及主要模块的流程图3.1本实验仪提供了8段码数码管LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,采用动态方式显示。8段数码管是由8155的PB0、PB1经74LS164“串转并”后输出得到。6位位码由8155的

4、PA0口输出,经uA2003反向驱动后,选择相应显示位。74LS164是串行输入并行输出转换电路,串行输入的数据位由8155的PB0控制,时钟位由8155的PB1控制输出。写程序时,只要向数据位地址输出数据,然后向时钟位地址输出一高一低两个电平就可以将数据位移到74LS164中,向显示位选通地址输出高电平就可以点亮相应的显示位。本实验仪中数据位输出地址为0e102H,时钟位输出地址为0e102H,位选通输出地址为 0e101H。本实验涉及到了8155 I0/RAM扩展芯片的工作原理以及74LS164器件的工作原理。3.2七段数码管的字型代码表如下表:显示字形gfedcba段码001111113

5、fh1000011006h210110115bh a f b g e c d 。dp310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hB11111007chC011100139hD10111105ehE111100179hF111000171h3.2 课程设计电路图如下1 数码管电路图如下 28155键显模块3.2 主要流程图1. 主程序的流程图 4 实验步骤:1、将KEIL仿真器上40芯排线一端和实验箱上51CPU板上的40芯排针连接起来,将仿真器连接的USB或串口线

6、与PC机对应的USB或串口连接起来,打开实验箱电源。2、进入KEIL软件界面,点击项目/打开项目在C:KEILUV23000TC51配套实验例程中选择实验一,内有ASM和C51两种程序,进入ASM文件夹打开LED项目文件进入如图所示界面点击“调试/启动/停止调试”,进入调试界面,点击“调试/运行”可看到8段数码管交替显示0F5 程序调试过程及运行结果 通过用Uvision按编译运行没错误后执行但不调试 看到每一步执行结果运行状态的各个内存外存数据变化情况调试菜单如图所示 寄存器状图 6 结论与心得这周的实习真的有点郁闷,程序里面的好多内容不懂,自我感觉是单片机我们所学的内容还不足以编出这两个撑

7、血,但是只好硬着头皮去看去理解。但在学习过程中也充满了乐趣,当看懂了一个程序里的一些语句,画出了要求的设计图,那我的喜悦那种成就感就油然而生。这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从没有真正的用心弄下单片机。知识从理论的角度去理解枯燥乏味的代码,但在实习中见过甚至使用了单片机极其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作和团结的力量。当遇到不会的或者是设计不出来的地方,我们就会在区里讨论或者是同学之间互相帮助。团结就是力量。无论在现在的学习中还是在以后的工作中团结都是至关重要的,有了团结才有更多的理

8、念,更多的思维,更多的情感。通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。单片机是一门实践性强的课程。老师和一些工作的朋友都曾说过。如果

9、学号一门单片机,就凭这个技术这门艺术找个好工作也不成问题。尽管我们在课堂学到的内同有限,但在以后的学习中单片机还需要好好的深入研究和学习,学号了单片机也就多了一项生存的本钱,最后感谢老师对我们的精心指导和帮助谢谢同学们的对我的帮助这个设计过程中,我遇到过许多次失败的考验,就比如,我在软件上仿真软件上能实现其功能,但是把它写进开发板就无法运行,我不停地找原因。最后我找到了答案,这样我明白,做设计不但是软件可以运行,用在硬件上一样是那么重要的。我做的这个设计主要是用AT89C51这个芯片来实现,这个芯片具有很多优点,程序简单易读,结构清楚,最重要的是成本低。很适合我们学生用来学生。在做这个设计的过

10、程中,我也了解到了自己的不足,在日后的学习中,我还需加倍努力学习。设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作参考文献)1梁炳东.单片机原理与应用。北京:人民邮电出版社,200923致谢 在此次课程设计中,我遇到不懂的问题,老师和同学都帮我,让我把问题顺利地得到解决,最后完成此次课程设计报告。从中我学到了很多东西,在此,谢谢我的老师和同学,感谢你们在我遇到难题的时候帮我解答。6 程序汇编代码如下 主程序和子程序都存放在AT89C

11、51单片机中。主程序的功能是:显示数字。子程序的功能有:延时。程序代码:OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段控制口(接164时钟位)DAT164 equ 0e102h ; 段控制口(接164数据位)IN equ 0e103h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲Num equ 70h ; 显示的数据DelayT equ 75h ; org 0000h ljmp StartLEDMAP: ; 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h,

12、 7ch, 39h, 5eh, 79h, 71hDelay: ; 延时子程序 mov r7, #0DelayLoop: djnz r7, DelayLoop djnz r6, DelayLoop retDisplayLED: mov r0, #LEDBuf mov r1, #6 ; 共6个八段管 mov r2, #00100000b ; 从左边开始显示Loop: mov dptr, #OUTBIT mov a, #00h movx dptr, a ; 关所有八段管 mov a, r0 mov B, #8 ; 送164DLP: rlc a mov r3, a mov acc.0, c ANL A

13、, #0FDH mov dptr, #DAT164 movx dptr, a mov dptr, #CLK164 orl a,#02h movx dptr, a anl a,#0fDh movx dptr, a mov a, r3 djnz B, DLP mov dptr, #OUTBIT mov a, r2 movx dptr, a ; 显示一位八段管 mov r6, #1 call Delay mov a, r2 ; 显示下一位 rr a mov r2, a inc r0 djnz r1, Loop mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 关所

14、有八段管 retStart: mov dptr,#0e100h mov a,#03h movx dptr,a mov sp, #40h mov Num, #0MLoop: inc Num mov a, Num mov b, a mov r0, #LEDBufFillBuf: mov a, b anl a, #0fh mov dptr, #LEDMap movc a, a+dptr ; 数字转换成显示码 mov r0,a ; 显示在码填入显示缓冲 inc r0 inc b cjne r0, #LEDBuf+6, FillBuf mov DelayT,#30DispAgain: call DisplayLED ; 显示 djnz DelayT,DispAgain ljmp MLoop END

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

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