实验五——电子秒表显示器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验课程:单片机原理及应用实验名称:实验五——电子秒表显示器实验日期:2013年4月12日一、实验目的掌握定时/计数器的工作原理,熟悉定时/计数器中断法编程与调试内容。二、实验内容1、按图绘制实验五电路原理图:2、采用12MHz晶振,50msT0定时方式1+中断(20次中断为1s)法编程:3、实现如下功能程序运行开始时先显示“00”,随后显示数值逐渐增大。待计数到59后,自动从“00”开始。4、观察仿真结果,完成实验报告。三、实验要求提交的实验报告中应包括电路原理图,T0定时方式1中断原理阐述,源程序(含编程分析与源程序),运行效果图,实验小结。提交实验报告的电子邮件主题及存盘1、电路原理图电路分析上图为实验原理图。电路由80C51芯片,两个开关LED显示器,电阻,还包括时钟电路和复位电路组成。上拉电阻接在P0口,因为P0口内部没有上拉电阻,为使漏极开路有效,必须通过外接上拉电阻与电源连通。数码管的初始显示值为00:当1s产生时,秒计数器加1:秒计数到60时清零,并从“00”重新开始,如此周而复始的进行下去。定时器T0每50ms产生一次中断,每产生20次中断时,秒计数器加1并将数值显示在数码管上,其中P0口显示十位,P1口显示个位,定时1s无限循环。2、T0定时方式1中断原理阐述当M1M0=01时(定时器的工作与方式1。方式1为16位的定时/计数器,满计数值为2^16,初值不能自动重装。定时器Tx工作于方式1的逻辑结构框图如下图,当Tx工作于方式1时,由THx作为高8位,TLx作为低8位,构成一个16位的计数器。若Tx工作于定时方式1,计数初值位a,则其定时时间按下式计算:定时时间:t=(2^16-a)*12/fosc(us)最大计数值为65536。3、C51程序(含程序流程图与源程序)源程序,#includereg51.hunsignedcharcount=0;//定义中断次数计数器,countunsignedcharsecond=0;//定义秒计数器,secondunsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义显示字模数组并赋初值)table[]timer0()interrupt1//T0中断函数声明{count++;//count增1if(count==20){//若count=20,count清零,second增1count=0;主函数等待中中断允许启动定时数码显示初始化设置定时常数置T0中断工作方式秒数加1秒数清0将秒数输出显示开定时器T0定时器T0重装初值T0中断服务函数计到60s计够1sYNNsecond++;}if(second==60)second=0;//若second=60,second清零P0=table[second/10];//P0与P2口分别显示count值P2=table[second%10];TH0=0x3c;//T0重装载计数初值TL0=0xb0;}main()//主函数声明{TMOD=0x01;//T0定时(50ms)方式1初始化TH0=0x3c;//T0赋计数初值TL0=0xb0;P0=table[second/10];//P0与P2口显示“00”值P2=table[second%10];ET0=1;//启动T0EA=1;//开中断TR0=1;while(1);//原地循环}4、仿真运行效果如上图所示(数码管的初始显示值为00)当1s产生时(秒计数器加1)秒计数到60时清零(并从“00”重新开始(如此周而复始的进行下去。定时器T0每50ms产生一次中断(每产生20次中断时(秒计数器加1并将数值显示在数码管上(其中P0口显示十位(P1口显示个位(定时1s无限循环。5、实验小结通过实验对Protues有了更多的了解(同时了解到计时系统在实际中的更好应用。经过编程操作起来更加熟练(能很快的完成绘图(编程时也更得心应手(能熟练的运用软件找出自己所编程序中的语法问题及其他问题(并予以改正。对于程序流程图也有了更深刻的认识。相信在今后的学习与试验中能取得更大的进步。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功