新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機測量自行車的速度程序-帶仿真

單片機測量自行車的速度程序-帶仿真

作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
這是一個用51單片機來測量自行車速度的小制作,

電路圖和仿真文件請到http://www.51hei.com/bbs/dpj-20396-1.html這里下載
下面是程序源代碼:
#include "d:c51eg51.h"
#include "d:c51intrins.h"

本文引用地址:http://butianyuan.cn/article/201611/323802.htm


sbit LCM_RS=P3^0;
sbit LCM_RW=P3^1;
sbit LCM_EN=P3^7;

#define BUSY 0x80 //常量定義
#define DATAPORT P1
#define uchar unsigned char
#define uint unsigned int
#define L50

uchar str0[16],str1[16],count;
uint speed;
unsignedlongtime;

void ddelay(uint);
void lcd_wait(void);
void display();
void initLCM();
void WriteCommandLCM(uchar WCLCM,uchar BusyC);
void STR();
void account();


/*********延時K*1ms,12.000mhz**********/

void int0_isr(void) interrupt 0 /*遙控使用外部中斷0,接P3.2口*/
{
unsigned int temp;
time=count;
TR0=0;
temp=TH0;
temp=((temp << 8) | TL0);
TH0=0x3c;
TL0=0xaf;
count=0;
TR0=1;
time=time*50000+temp;
}

void time0_isr(void) interrupt 1 /*遙控使用定時計數(shù)器1 */
{
TH0 =0x3c;
TL0 =0xaf;
count++;
}

void main(void)
{
TMOD=0x01; /*TMOD T0選用方式1(16位定時) */
IP|=0x01; /*INT0 中斷優(yōu)先*/
TCON|=0x11; /*TCON EX0下降沿觸發(fā),啟動T0*/
IE|=0x83;
TH0=0x3c;
TL0=0xaf;

initLCM();
WriteCommandLCM(0x01,1); //清顯示屏
for(;;)
{
account();
display();
}
}

void account()
{
unsignedlonga;
if (time!=0)
{
a=L*360000000/time;
}
speed=a;
}

void STR()
{
str0[0]=S;
str0[1]=p;
str0[2]=e;
str0[3]=e;
str0[4]=d;
str0[5]= ;
str0[6]=(speed%100000)/10000+0x30;
str0[7]=(speed%10000)/1000+0x30;
str0[8]=(speed%1000)/100+0x30;
str0[9]=.;
str0[10]=(speed%100)/10+0x30;
str0[11]=speed%10+0x30;
str0[12]=k;
str0[13]=m;
str0[14]=/;
str0[15]=h;
}

void ddelay(uint k)
{
uint i,j;
for(i=0;i {
for(j=0;j<60;j++)
{;}
}
}


上一頁 1 2 下一頁

關(guān)鍵詞: 單片機自行車速度程

評論


技術(shù)專區(qū)

關(guān)閉