欢迎来到天天文库
浏览记录
ID:39631389
大小:51.00 KB
页数:13页
时间:2019-07-07
《51单片机测电机转速LCD显示》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、主程序*文件名称:Jiuzhouxuese.c转速计的设计(LCD显示)的主程序*原理:T1计数,T0计时,电动机每转动一周产生16个脉冲,T1采集一分钟内的脉冲数,后即可计算出转速*版本信息:2011-10-23---------------------------------------------------------------*/#include"LCD1602.h"#include#defineuintunsignedint#defineucharunsignedcharbitflag;//计满1秒钟标志位ucha
2、rcount=100;//储存定时器T0中断次数uintSpeed;//储存电机转速ucharDispBuffer[4];//存放转换成液晶显示字符(ASCII)的数组/*------------------------------------------------------------功能:主函数说明:使用晶振为12MHz的芯片,定时0.01秒。计时器初值为C=65536-0.01/10^(-6)=0D8F0H---------------------------------------------------------------*/v
3、oidmain(void){TMOD=0x51;//T1工作于计数模式1,T0工作于计时模式1;TH0=0xd8;//定时器T0赋初值TL0=0xf0;EA=1;//开总中断ET0=1;//定时器T0中断允许TR0=1;//启动定时器T0while(1){TR1=1;//计数T1启动TH1=0;//计数T1高8位赋初值0TL1=0;//计数T1低8位赋初值0flag=0;//时间还未满1秒钟while(flag==0)//时间未满等待Speed=(TH1*256+TL1)*60/16;//计算速度,每周产生16个脉冲}}/*-----------
4、--------------------------------------------------函数功能:定时器T0的中断服务函数--------------------------------------------------------------*/voidTime0(void)interrupt1using1//定时器T0的中断编号为1,使用第1组工作寄存器{count--;//T0每中断1次,count减1LCD_Initial();//液晶初始化if(count%4==0){DispBuffer[0]=Speed/1000+0x
5、30;//将显示数据并分解出千位转换成ASCII码}if(count%4==1){DispBuffer[1]=Speed%1000/100+0x30;//将显示数据并分解出百位转换成ASCII码}if(count%4==2){DispBuffer[2]=Speed%100/10+0x30;//将显示数据并分解出十位转换成ASCII码}if(count%4==3){DispBuffer[3]=Speed%10+0x30;//将显示数据并分解出个位转换成ASCII码}LCD_Prints(1,0,DispBuffer);//LCD显示数据while(
6、0);if(count==0)//若累计满100次,即计满1秒钟{flag=1;//计满1秒钟标志位置1count=100;//清0,重新统计中断次数}TH0=0xf0;//定时器T0重新赋初值TL0=0xd8;}LCM1602驱动程序/**************************************************************************FileName:LCD1602.hAuthor:JiuzhouxunseCreated:2011/10/23****************************
7、***********************************************/#ifndef_LCD_1602_H#define_LCD_1602_H#include#include#defineuintunsignedint#defineucharunsignedchar定义接口*************************************sbitLcdRs=P2^0;sbitLcdRw=P2^1;sbitLcdEn=P2^2;sfrDBPort=0x80;//P0=0x80
8、,P1=0x90,P2=0xA0,P3=0xB0.数据端口//内部等待函数*******************************
此文档下载收益归作者所有