欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    基于51单片机的计数器设计.doc

    • 资源ID:6059517       资源大小:12.32MB        全文页数:18页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于51单片机的计数器设计.doc

    单片机课程设计 目 录 1 课程设计的目的.1 2 设计思路.1 3 设计过程.2 3.1 方案论证 .2 3.2 电路的设计 .5 4 应用程序.6 5 系统调试与焊接.8 5.1 电路的安装与焊接.8 5.2 系统试调 .9 6 结论.10 7 心得体会.10 参考文献.13 附录 1:总体电路原理图.14 附录 2:实物图.15 附录 3:元器件清单.16 1 课程设计的目的 1利用单片机定时器/计数器中断设计计数器,0 到 99 的累加。 2综合运用所学的单片机原理与应用理论知识,通过实践加 强对所学知识的理解,具备设计单片机应用系统的能力。 3通过本次课程设计加深对单片机掌握定时器、外部中断的设置 和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了 解。 4通过本次试验,增强自己的动手能力。认识单片机在日常生活 中的应用的广泛性,实用性。 明确学习目的,端正学习态度,提高对 课程设计重要性的认识,以积极认真的态度参加课程设计工作,按要求 完成规定的设计任务。 2 设计思路 本实验利用单片机的定时器/计数器定时和计数的原理,通过采用 仿真软件来模拟实现。模拟利用 AT89C2052 单片机、LED 数码管以及 各种控制器件来控制表的计数以及计数的开启/计数与复位等。利用单 片机 AT89S51 单片机来制作一个手动计数器,在 AT89S51 单片机的 P3.7 管脚接一个轻触开关,作为手动计数的按钮,用单片机的 P2.0-P2.7 接 一个共阴数码管,作为 00-99 计数的个位数显示,用单片机的 P0.0-P0.7 接一个共阴数码管,作为 00-99 计数的十位数显示,用单片机 P1.0-P1.6 接一个并排的 7 个 LED 灯,作为 00-99 计数的二进制显示。设计总图 如图 2-1 所示 图 2-1 设计总图 3 设计过程 3.1 方案论证 AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪存 可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反 复擦除 1000 次。该器件采用 ATMEL 高密度非易失存储器制造技术制 造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种 高效微控制器,AT89C2051 是它的一种精简版本。AT89C51 单片机为 很多嵌入式控制系统提供了一种灵活性高并且价廉的方案。 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一, 动态驱动是将所有数码管的 8 个显示笔划a,b,c,d,e,f,g,dp的同名端连在 一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通 由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都接收 到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对 位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通 控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时 轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这 就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上 各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是 一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一 样的,能够节省大量的 I/O 端口,而且功耗更低。 用单片机技术来实现双显计数器的控制。多功能定时计数器控制系 统的原理。它主要由单片机、发光二极管、晶振和双位数码管等部分组 成。 A单片机采用 STC89C51 型。 B数据显示电路:七段四位共阴极数码管,P1 口接 7 个 LED 二 极管,用二进制显示数据;P0 和 P2 口分别接两个数码管,用十进制显 示数据。 C数据输入电路:有触发按键完成输入,一次按键 LED 显示和数 码管显示分别加 1,LED 满二进位,数码显示满十进位。 D电源指示电路:电路接通电源后电源指示灯亮起,表示电源接 通。 设计总体框架图如图 3-1 所示 图 3-1 总体框架图 最小控制系统的设计,STC89C51 单片机最小系统包括晶体振荡电 路、复位开关和电源部分。STC89C51 单片机的最小系统图如图 3-2 所 示 图 3-2 单片机最小控制系统 当 RST 引脚有一个高电平并维持两个机器周期,则CPU 就可以响 应并将系统复位。需要 100 欧,10k 电阻各一个,22pf 电容一个,按键 一个。时钟电路需要在 XTAL1,2,两个端口跨接石英晶体及两个电容, 电容一般取 10uF 左右。 STC 89C51 数码 管显 示 LED 显示 触发 电路 3.2 电路的设计 1指示电路如图 3-3 所示 图 3-3 指示电路 2数码管为共阴极,八段选端接 P1 口,四个位选端接 P3 口,如 上图所示。数码管显示电路如图 3-4 所示。 图 3-4 数码管电路 3复位电路如图 3-5 所示。 图 3-5 复位电路 4 应用程序 #include #include #include void delay5ms(void) unsigned char i,j; for(i=10;i0;i-) for(j=248;j0;j-); void delay2ms(void) unsigned char i,j,k; for(i=20;i0;i-) for(j=20;j0;j-) for(k=248;k0;k-); unsigned char code LEDcode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; unsigned char code LEDcoda=0 x00,0 x01,0 x02,0 x03,0 x04,0 x05,0 x06,0 x07,0 x08,0 x09,0 x0a,0 x0b,0 x0c,0 x0d,0 x0e,0 x0f,0 x10,0 x11,0 x12,0 x13,0 x14,0 x15,0 x16,0 x17,0 x18, 0 x19,0 x1a,0 x1b,0 x1c,0 x1d,0 x1e,0 x1f,0 x20,0 x21,0 x22,0 x23,0 x24,0 x25,0 x26, 0 x27,0 x28,0 x29,0 x2a,0 x2b,0 x2c,0 x2d,0 x2e,0 x2f,0 x30,0 x31,0 x32,0 x33,0 x34, 0 x35,0 x36,0 x37,0 x38,0 x39,0 x3a,0 x3b,0 x3c,0 x3d,0 x3e,0 x3f,0 x40,0 x41,0 x42, 0 x43,0 x44,0 x45,0 x46,0 x47,0 x48,0 x49,0 x4a,0 x4b,0 x4c,0 x4d,0 x4e,0 x4f,0 x50, 0 x51,0 x52,0 x53,0 x54,0 x55,0 x56,0 x57,0 x58,0 x59,0 x5a,0 x5b,0 x5c,0 x5d,0 x5e,0 x5f,0 x60,0 x61,0 x62,0 x63; unsigned char count; sbit sp1=P37; void main(void) count=0; P0=LEDcodecount/10; P2=LEDcodecount%10; P1=LEDcodacount; while(1) if(sp1=0) delay5ms(); if(sp1=0) count+; if(count=100) count=0; P0=LEDcodecount/10; P2=LEDcodecount%10; P1=LEDcodacount; while(sp1=0); dodelay5ms(); while(sp1=0); dodelay5ms(); while(sp1=0); 5 系统调试与焊接 5.1 电路的安装与焊接 电路安装要注意几个原则: 1.先装矮后装高、先装小后装大、先装耐 焊等; 2.一定要注意排版,不能东倒西歪,方向应尽量一致; 3. 布线 尽量使电源线和地线靠近实验电路板的周边,以起一定的屏蔽作用; 4. 最好分模块安装。此外焊接时不能出现虚焊、假焊、漏焊,更不能出现 过焊, 因为有些器件,不能耐高温,比如焊接三极管时,电烙铁绝对 不能停留太久;同时过 焊铜片将脱落,给焊接带来不必要的麻烦、也 将影响板子的视觉效果。 5.在焊完之后,不要忙于去调试,而应该用 万用表来查其电路是否接触良好、是 否与电路图的布置一致、是否有 器件在焊接的过程中烧坏了等。 5.2 系统试调 系统通电后,进入计数设置功能,等待信号的数据输入,当完成设 置数值后,开始计数,此时如果对所记录的数据清零则返回到设置数值 界面,可以重新设置数值。当所记录的数值等于预设定的数时,蜂鸣器 发声报警。 在软件编写与调试时,我发现有很多我原来所没有注意到的问题, 硬件完成焊接后,先用万用表简单的进行是否短路检测,没有问题后进 行通电测试,发现上电指示灯亮,然后程序到单片机内检测是否能下载 程序;刚开始的时候,我的不能下程序,我首先按照原理图检查了一遍 最小系统,发现复位电路存在问题,经修改后还是不能下程序,怎么试 不行,我又检查了电路和最小系统发现都没有问题,最后听同学说可能 是杜邦线的问题,经过检查后发现我的四根杜邦线有两根都是坏的。这 是我所没有想到的,换了好的后,就可以程序了。 当编写完程序进行调试时,又发现存在很多的问题,首先是数码管 的段码的问题,这个需要自己根据自己的电路来计算而不是统一的一样, 这个问题直到我知道后才解决掉。然后是矩阵键盘扫描的程序的调试, 这个也要自己根据自己的电路接口来计算所要输送的十六进制数码,而 且还要通过软件去抖动,还要判断按键是否松开等问题,这个花费的时 间较长些,最后通过把按键扫描和数码管动态显示组合到一起,发现还 是有问题,这个当然是软件上的问题。实现这个功能之后,我要实现自 己的计数功能和显示功能,在这个过程中,设置的数的显示和所要计的 数的显示又存在问题,原因是他们会同时显示,出现重叠乱码现象,为 此我请教了很多同学,最后,通过分别定义不同变量,用数组解决了这 个问题。 最后经过讨论与研究终于找到了解决问题的办法。我们花费很多时 间,虽然出现了许多问题但在老师和同学的帮助下都慢慢克服。 6 结论 调试方法:首先用软件将 C 编译成 HEX 文件,打开软件,新建 一个文文件,输入 C 程序,保存成 C 格式文件,然后新建工程,连接 单片机为 AT89C51,选择 Options for target,选择 OUTPUT 子菜单,在 Create HEX 前打钩,子菜单中,Settings 选择 Proteus VSM Simulator,USE 前打钩,再次运行文件,成功后在目录下会生成 HEX 文件,打开 Proteus 软件,或直接点击 DSN 檔,双击单片机模板,点击 文件夹式样的图标选择对应的 HEX 驱动文件,然后点击开始,进行调 试经调试运行基本成功,不过也有小小的不足之处。经过查找错误,已 经调试成功。完成以 STC89C52 为核心的计数器的设计和制作,并能实 现计数显示和设置功能。 7 心得体会 经过两一的努力,我终于完成关于多功能定时计数器的控制的单片 机课程设计,通过两周不断的查资料让我积累了许多实际操作经验,已 初步掌握了单片机的应用技术,以及电路的知识和有关器件的应用,我 深刻体会到了单片机技术对当今现代社会的重要作用。 经过这次设计, 我学会了许多东西,学会了严密的思考,构想及怎样把计划付诸于实际 行动之中。同时与社会的不断高速发展的步伐相比,我认识到自己所学 的知识和技能还远远不足,有些实际性的问题还不能够解决,缺少很多 有实际运用价值的知识储备,缺乏应有的动手解决实际问题的能力,缺 乏高效利用及筛选大量资料的能力,缺乏资源共享及应有的团队合作精 神,有待进一步提高,我应当学好自己的专业知识以适应不断发展的社 会。 在这次课程设计中,我学会了如何有效的利用网络资源及图书馆的 藏书,找到了几个很不错的专业网站,通过这次课程设计,加强了我动 手、思考和解决问题的能力.但是控制器控制信号灯不好。虽然花了很 多的时间,但学到了很多东西。做课程设计的时候,自己把整个书本都 看了几遍,增强了自己对知识的理解,很多以前不是很懂的问题现在都 已经一一解决了。在课程设计的过程中,我想了很多种方案,对同一个 问题都想了很多种不同的接法,运用不同的芯片进行了比较,最后还是 采取了上面的方法进行连接。为以后的查阅专业方面的信息和相互之间 的交流打下了坚实的基础,学会了如何看电路图,识别电路图,提高了 自己的专业技能,同时也培养了自己独立解决实际问题的能力,也培养 了自己认真和严谨的科学态度,收到了很大的启发,为以后的工作积累 了些宝贵的经验。 本课设过程中一开始就出现数码管的焊接错误, 其实在焊接前就 问同学数码管的管脚 是从哪开始数。但在线路的布置时,却不知而然 的顺时针数,后来发现要重新把数码管的焊点吸出,重新焊接,所以觉 得麻烦,而且浪费时间和影响美观等,接着想到把数码管引脚倒过来插。 所以今后做如此的焊接实验时必须更仔细点。在数码管这一块,以为直 接 焊上去就可以达到灯亮和基数的效果,结果没达到理想效果,通过 网上查阅才明白怎么样焊接。在最后过程中,老师提出应该用不同的数 码管,接不通的电路;同时老师在检查时提到原理问题时,其实在做 之前是看过、查阅过的,只不过因为当时头脑一热,只有几个词语,所 以一言不语,当时也不明白数码管的具体结构组成以及其目的等 (认 为这是在实验报告中要完成的任务) ,所以在今后还是要做好充分的准 备工作,做到细心、谨慎、负责。通过实验意识到要从现在开始养成那 种细心的好习惯。还有由于知识的局限性,对一些深层次的问题还是有 所欠缺。这对以后的课程设计、毕业设计甚至是今后工作 上都非常有 帮助。再者通过这次实习锻炼了自己的动手及查资料的能力,也体会到 了 成功带来了的喜悦和自己的不足之处,可以说是受益匪浅。 参考文献 1 李学龙. 使用单片机控制的智能遥控电风扇控制器J. 电子电路制 作, 2003,9:1315. 2 耿长清.单片机应用技术M.北京:化学工业出版社,2001,8:1416. 3 杨西明.单片机编程与应用技术入门M.北京:机械工业出版社, 2004,9:2728 4 公茂法 .单片机人机接口实例集M.北京:北京航天航空大学出版 社,1998,10:1011 5 李全力.单片机原理及应用技术M.北京:高等教育出版社, 2001,7:3435. 6 李学龙. 使用单片机控制的智能遥控电风扇控制器J. 电子电路制 作, 2003,9:1315. 7 蓝厚荣. 单片机的 PWM 控制技术J. 工业控制计算机, 2010,23(3): 9798 . 8 龚运新.单片机实用技术教程M.北京:北京师范大学出版社, 2005,14:8889. 9 胡汉才. 单片机原理及其接口技术(第 2 版)M. 北京:清华大学 出版社.2004.4977. 10 胡全. 51 单片机的数码管动态显示技术J .信息技术, 2009,13:2526. 11 马云峰. 单片机与数字温度传感器 DS18B20 的接口设计J. 计算机 测量与控制,2007,10(4):278280. 附录 1:总体电路原理图 附录 2:实物图 附录 3:元器件清单 序号名称型号规格数量 1单片机AT89C20521 2发光二极管-7 3电阻1008 4电阻10k1 5晶振12M1 6电容22pf2 7电容10uf1 8轻触开关-2 9开关-1 10拍阻-2 11数码管共阴极2

    注意事项

    本文(基于51单片机的计数器设计.doc)为本站会员(罗晋)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开