单片机计数器实验33604487

单片机计数器实验33604487

ID:39554506

大小:46.50 KB

页数:4页

时间:2019-07-06

单片机计数器实验33604487_第1页
单片机计数器实验33604487_第2页
单片机计数器实验33604487_第3页
单片机计数器实验33604487_第4页
资源描述:

《单片机计数器实验33604487》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验4计数器实验一、实验目的掌握MCS-51计数器的使用方法二、实验设备AT89c51基本实验单元、计算机设备系统、LCD1602液晶屏、按钮开关三、实验原理(一)实验说明(1)使用一个按钮开关来代替光电开关的作用。(2)使用计数器T1方式2,记录光电开关管被遮断的次数。利用教材中提供的LCM1602显示程序,在主程序中循环读取T1寄存器TL1中的计数值,进行十进制准换后,分为百位、十位、个位,装入LCM1602显示程序的数据缓冲区,进行显示。(3)LCM原理参考教材第五章5.3节,四线数据接口的LCM1602显示程序参考上节,LCM1602应用程序参考第七章7.5.2节例3.(

2、二)程序流程图运行程序判定开关状态开关遮断NY计算百位值计数大于999Y清零N计数加1计算十位值计算个位值显示(三)参考程序#include#defineuintunsignedint#defineucharunsignedcharsfrdata1=0x90;sbitrs=P2^6;sbite=P2^7;uchara[4];voiddelay(uintx){ucharj;for(;x>0;x--)for(j=250;j>0;j--);}voiden(void){e=1;delay(1);e=0;}voidcmd(ucharcmd1){ucharcmd2;cmd2

3、=cmd1;cmd2>>=4;delay(1);rs=0;data1&=0xf0;data1

4、=cmd2&0x0f;en();data1&=0xf0;data1

5、=cmd1&0x0f;en();}voidclr(void){cmd(0x01);delay(1);delay(1);delay(1);delay(1);}voidinit(void){cmd(0x28);en();cmd(0x28);cmd(0x0c);clr();}voidwrite(uchardat){uchardat1;dat1=dat;dat1>>=4;delay(1);rs=1;data1&=0xf0;dat

6、a1

7、=dat1&0x0f;en();data1&=0xf0;data1

8、=dat&0x0f;en();}voidpos(ucharx,uchary){if(y)cmd(x

9、0xc0);elsecmd(x

10、0x80);}voidprints(ucharx,uchary,uchar*str){pos(x,y);while(*str){write(*str);str++;}}voidmain(void){char*p;P2=0;TMOD=0x60;TL1=0;TH1=0;TR1=1;init();prints(2,0,"THENUMBERIS");while(1){if(TL0>99

11、9)TL0=0;a[0]=TL1/100+0x30;a[1]=TL1%100/10+0x30;a[2]=TL1%10+0x30;a[3]='';p=&a;prints(3,1,p);}}一、实验步骤:1.根据实验原理图编写程序,用“KeiluVision4”编译软件进行编译,如未通过,修改程序,直至通过。2.用STC-ISP.EXE软件将所编程序的“hex”码下载到试验板子的STC89C52芯片中。3.运行程序,观察实验板上LCD1602是否出现“000”,用手指或纸片遮挡实验板左下方的光电开关管,观察LCD1602是否加1变成“001”。没遮挡一次计数就加1,如果不符合要求

12、,改写程序,按照步骤1重新开始做实验,直至成功。二、思考题为了简化编程,本实验提供的子程序只能采用计数器方式2,。如果采用方式1,如何将计数器值全部显示出来。三、实验原理图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。