您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 10.-00-99计数器
课程设计实验报告一.题目:00-99计数器二.主要元器件:单片机89C52··········1个共阴数码管··············2个蜂鸣器······················1个按钮开关··················1个单片机底座··············1个12MH晶振·············1个22PF电容················2个极性电容··················1个1K电阻····················2个4.7K排阻················2个NPN三极管···········1个导线若干三.主要功能:利用AT89C52单片机来制作一个手动计数器,按一下加1,计数器从00一直加到99,实现100个数值的计数功能。在AT89C52单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示。四.工作原理:1.原理图:2.方框图:3.工作过程:(1.单片机对按键的识别的过程处理(2.单片机对正确识别的按键进行计数,计数满时,又从零开始计数;(3.单片机对计的数值要进行数码显示,计得的数是十进数,含有十位和个位,我们要把十位和个位拆开分别送出这样的十位和个位数值到对应的数码管上显示。如何拆开十位和个位我们可以把所计得的数值对10求余,即可个位数字,对10整除,即可得到十位数字了。(4.通过查表方式,分别显示出个位和十位数字。4.程序:#includereg52.hunsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedcharCount;sbitp=P3^7;sbitb=P3^0;voidmain(void){Count=0;b=0;P0=table[Count/10];P2=table[Count%10];while(1){if(p==0){Count++;if(Count==99)b=1;if(Count==100){Count=0;b=0;}P0=table[Count/10];P2=table[Count%10];while(p==0);}}}五.产品实物图六.实验体会:经过自己动手来制作单片机产品,感觉乐趣颇多。但是在产品设计过程中,还是自己出了些小错误,导致自己的小产品不能完成预定的功能。经过自己和同学的帮助,最后终于把它弄好了,好高兴。过程虽然有点小辛苦,但是看到自己的劳动成果,心里有种付出最终得到回报的感觉。总体来说,亲自动手,是自己的动手能力得到了锻炼,对单片机有个更深入的了解,我对这样的课程作业表示很喜欢,谢谢老师对我们大家的精心教导。
本文标题:10.-00-99计数器
链接地址:https://www.777doc.com/doc-6222766 .html