单片机计数显示器.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机计数显示器

电子秒表显示器 设计要求及目的 设计要求:在Keil C中用C51语言编程,并在Proteus中模拟51单片机的电子秒表显示器,并在电子秒表显示器中加入中断和定时,使得电子秒表显示器反复的显示某个区间(0~60)的值。 设计目的:熟悉51单片机的基本输入/输出应用,掌握Proteus ISIS模块的原理图绘图方法及单片机系统仿真运行方法,同时,掌握C51语言的编程方式和数据结构,掌握中断和定时的概念以及在51系列单片机中的应用。 实验环境 操作平台:Windows 编程软件:Keil C 模拟仿真软件:Proteus8 元器件列表 元件类别 电路符号 元件名称 Microprocessor ICs U1 80C51 Miscellaneous X1/12MHz CRYSTAL Capacitors C1~C2/1nF CAP Capacitors C3/22uF CAP-ELEC Resistors Packs RP1/7~100 Ω RESPACK-7 Resistors R1/100 Ω RES Optoelectronics LED1~LED2 7SEG-COM-CAT-GRN SwitchesRelays BUT BUTTON 表格 1 元器件清单 实验原理 实验电路原理图如图1所示,图中有如下5个分支点路:由共阴极数码管LED1和LED2、P0口、P2口、上拉电阻RP1以及Vcc组成的输出电路;由按钮开关BUT、P3.7、P3.4和接地点组成的输入电路;由C1、C2、晶振X1、引脚XTAL1、XTAL2与接地点组成的时钟电路;由C3、R1、引脚RST和Vcc组成的上电复位电路;由Vcc和引脚EA组成片内ROM选择电路(简称片选电路)。 图表 1 实验原理图 数码管的初始显示值为“00”;当1s产生时,秒计数器加1;秒计数器到60时清零,并从“00”重新开始,如此周而反复。 软件编程原理:采用T0定时方式1中断法编程,其中1s定时采用20次50ms定时中断的方案实现。程序设计的流程图如图2所示。 图表2 程序流程图 程序源代码 #includereg51.h unsigned char count1=0; //中断计数器 unsigned char count2=0; //计数器变量 0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; //LED显示字符 timer0() interrupt 1{ //T0中断函数 count1++; //计数器增1 if(count1==20){ count1=0; count2++; } if(count2==60) count2=0; //计数器达到 60时清零 P0=table[count2/10]; //显示十位数字 P2=table[count2%10]; //显示个位数字 TH0=0x3c; TL0=0xb0; main(){ TMOD=0x01; //设置T0技术方式为1 TH0=0x3c; //计数初值 TL0=0xb0; P0=table[count2/10]; //显示初值00 P2=table[count2%10] ET0=1; EA=1; //开启中断 TR0=1; //启动T0 while(1); //循环 实验结果 图表3 数码管初始显示 图表4 数码管经过一个定时周期显示 说明:图3显示的是初始时刻数码管的显示(“00”),图4显示的是数码管在经过一个定时周期60s后显示的值(“59”)。当数码管显示如图4所示时,在下一时刻,数目管将从“00”开始重新显示,如此反复。 总结 通过一个学期的单片机知识的学习和平时实验课的学习,使我对51单片机的原理有了深刻的认识,并对51单片机的应用有了一定的了解和掌握。同时,通过本次设计计数显示器的实验学习,使我对51系列单片机的中断、定时的概念以及有关单片机的并行I/O口有了很好的理解,并学会了与中断和定时相关的编程,不仅如此,在对51系列单片机的C语言编程方面有了更好的提高。但是,在实验过程中,也存在很多的问题等待自己去进一步的学习,比如对模拟仿真软件的使用不够熟练、在定时和中断的编程方面有时不能灵活运用等。

文档评论(0)

000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档