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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机课设数码管显示滚动控制Word格式.docx

1、1.1设计题目1.2设计要求 自制一个单片机最小系统,包括串口下载、复位电路,采用两个四位一体数码管作为显示器件,通过按钮选择实现四种滚动显示模式,例如从左至右,从右至左,内缩,外扩等,滚动信息可以是数字或有意义的英文字符。2、系统方案设计2.1硬件电路设计本设计的硬件电路主要包括的模块有:单片机最小系统、七段数码管显示模块、1.单片机最小系统简介单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。结构图如下:图2.1单片机最小系统各部分的功能介绍如下:复位电路:复位是单片机的初始化操作,其主

2、要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。MCS-51单片机的复位电路由片内、片外两部分组成,进行复位操作时,外部电路需在复位引脚RST端产生大于两个机器周期的高电平信号,RST引脚通过片内施密特触发器与复位电路相连(施密特触发器的作用是脉冲整型和抑制噪声)。MCS-51单片机的复位操作有两种方式:上电复位和上电按钮复位。图2.2复位电路图晶振电路(时钟电路): 时钟电路是单片机的心脏,它用于产生单片机工作所需要的时钟信号。单片机本身就是一个复杂的

3、同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。单片机的时钟产生方法有内部时钟方式和外部时钟方式,大多数单片机应用系统采用内部时钟方式,本系统采用的亦是内部时钟方式。在MCS-51芯片内部有一个高增益反相放大器,XTAL1、XTAL2引脚分别为该反相放大器的输入端和输出端,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。 图2.3时钟电路图2.数码管显示电路图2.4数码显示电路2.3硬件选型及说明1. ST89C51单片机MCS-51把微型计算机的主要部件都集成在一块心片上,使得数据传送距离大大缩短,可

4、靠性更高,运行速度更块。由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。因此,在工业测控系统中,使用单片机是最理想的选择。单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。8051是MCS-51系列单片机的典型产品。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线:引脚介绍:电源:VCC - 芯片电源,接+5V;VSS - 接地端;时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端控制线: ALE/PRO

5、G:地址锁存允许/片内EPROM编程脉冲: ALE功能:用来锁存P0口送出的低8位地址; PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源: RST(Reset)功能:复位信号输入端; VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源: EA功能:内外ROM选择端; Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。I/O线:4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号

6、输入输出和控制信号(属控制总线)。图2.5 89c51引脚图2. 四位一体七段共阴极显示数码管图2.6数码管引脚图3、系统原理图设计与仿真3.1系统仿真图图3.1系统仿真图3.2系统仿真结果图3.2系统正在运行图3.3系统正在运行4、程序设计4.1程序设计 数码管动态显示程序包含显示数字、部分字母符号、小数点、数码管闪烁、数码管消隐等。其它程序输出到显示程序的数据既可以是BCD码、二进制码、ASCII码、自定义显示码等。由硬件电路工作原理可知,为了显示稳定的数据,每秒必须显示数据50次以上,才能达到预期目的。MCS-51 单片机内部有两个16 位可编程的定时器/计数器T0 和T1。它们即可用作

7、定时器方式,又可用作计数器方式。其中T0 由TH0 和TL0 计数器构成;T1 由TH1 和TL1 计数器构成。工作于定时器方式时,通过对机器周期(新型51单片机可以对振荡周期计数)的计数,即每一个机器周期定时器加1,来实现定时。故系统晶振频率直接影响定时时间。如果晶振频率为12MHZ,则定时器每隔(1/12MHZ)12=1us 加1。工作于计数器方式时,对P3.4 或P3.5 管脚的负跳变(10)计数。它在每个机器周期的S5P2 时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,计数器加1。因此需要两个机器周期来识别一个有效跳变,故最高计数频率为晶振频率的1/24。特殊功能

8、寄存器TMOD 用于定时器/计数器的方式控制。高4 位用于设置T1,低4 位用于设置T0。单片机内部定时器/计数器的使用,简而概之:(1)如需用中断,则将EA和相关中断控制位置1;(2)根据需要设置工作方式,即对TMOD设置;(3)然后启动计数,即对TR0或TR1置1。(4)如使用中断,则计数溢出后硬件会自动转入中断入口地址;如使用查询,则必须对溢出中断标志位TF0或TF1进行判断。4.2程序流程图图4.1主程序图5、系统调试5.1系统硬件调试在领完课程设计所需的元器件并检查是否是自己所需要,并且根据电路原理图进行电路板的焊制,在焊接过程中注意不要虚焊和短路。焊接完成后首先对电路板上的线路进行

9、检查是否有错漏和重复。并且用万用表测试电路中有无虚焊短接的情况。在测试无误后,向单片机烧录程序,并接通电源进行测试。在第一次上电过程中,数码管并没有显示出如期的结果,用万用表对焊接点进行再一次的排查并对线路进行检查,发现单片机底座有几个虚焊点,并重新对其进行焊制。5.2系统软件调试在keil编译器下进行程序的编写,以子程序为单位进行调试,并且利用proteus软件进行仿真实验并结合电路板进行整机调试。六、总结与体会此次的课程设计是基于单片机的数码管滚动显示控制。单片机是自动化的重要课程,学习的时候十分用心,也同时也为这次的课程设计打下了理论基础。但是由于学习到的更多涉及于课本知识并没有灵活的掌

10、握,所以说在设计的过程中也需要不断的翻阅书籍,以此来达到完成顺利完成课程设计任务,在这段学习与制作的过程中巩固了我在课堂上学习到的内容,而且锻炼到了我个人的自我学习能力及制作能力。在课程设计最开始是做Proteus仿真,从最小系统开始做。单片机最小系统是指用最少的元件组成的单片机可以工作的系统。应该包括:单片机、晶振电路、复位电路等。我上学期做过数电的课程设计所以这次看到器件这么少电路图这么简单还觉得很高兴。然而做完仿真开始焊接时才发现从单片机芯片出来的连接数码管的线路在仿真中隐藏了只留下了引脚,导致我在焊接的时候一下多了十多根线打乱我的节奏,好在最后还是踉踉跄跄地焊完了。在第一次调试的时候并

11、没有现象,这令我十分惶恐,仔细检查才发现仿真中21 20引脚的都略去了而这几个针脚正是连接vcc跟地的引脚,后来将它焊上了。给我的启发是以后在做完仿真焊接的时候一定要每个引脚的过,因为仿真中它将芯片的引脚打乱了顺序而且有的引脚也省略了,仿真跟真实的焊接还是不同的。还有就是拿到仿真先别急着焊接,还是要大致地考虑器件的布局跟正反面的走线,提前理清思路焊的时候才能游刃有余,不至于慌忙。而且在制作仿真的过程中也有了瓶颈,大一学的c语言忘得差不多了好在同学的帮助下才解决了问题,另外焊接只是一方面,后续的检测诊断才是关键,不可能一下子焊好就可以使用,在焊接的过程中难免有一些焊点漏焊虚焊的。每一次的课程设计

12、对我都是一种拔高跟历练,在一次次的课程设计中我会不断地进步,提升自己的解决问题的能力,跟动手焊接能力,还有故障排查能力,做课程设计固然需要智慧然而坚持跟耐心也是很关键的,这几样缺一不可,否则很难做出成功的作品。我相信我会一步步地慢慢变好变强。附录一元器件清单器件名称数量Stc89c54单片机1电容若干七段共阴极数码管2电阻微动开关芯片插座3驱动晶振附录二#include/-定义使用的IO口-/#define GPIO_DIG P2 /段选#define GPIO_PLACE P0 /位选sbit k =P10;/-定义全局变量-/unsigned char code DIG_PLACE8 =

13、0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/位选控制 查表的方法控制unsigned char code DIG_CODE17 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码unsigned char DisplayData8;/用来存放要显示的8位数的值/-声明全局函数-/void Displaykey();void Runkey();void first();void step1();void step2();void step3();void step4();signed char delay;signed char i;unsigned char j;signed char i1;unsigned char step=1;/* 函 数 名 : main* 函数功能 : 主函数*/void main(void) unsigned char a; for(a=0; a8; a+) DisplayDataa = DIG_CODEa;

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

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