标题:
自行车测速系统程序
[打印本页]
作者:
待卿归
时间:
2017-11-28 15:20
标题:
自行车测速系统程序
自行车测速系统 基于单片机c
自行车测速 c.docx
(11.66 KB, 下载次数: 10)
2017-11-28 15:20 上传
点击文件名下载附件
下载积分: 黑币 -5
#include <AT89X51.H>
#define uchar unsigned char
#define uint unsigned int
uchar code seg7code[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uint sec,miaoshu,tcnt,count;
sbit p00=P0^0; //各个口定义
sbit p01=P0^1;
sbit p02=P0^2;
sbit p03=P0^3;
sbit p04=P0^4;
sbit p05=P0^5;
void Delay(uchar t)
{
uchar i;
while(t--)
{
for ( i = 0; i < 200 ;i ++);
}
}
void t0(void) interrupt 1 using 0 //定时T0中断服务函数
{
tcnt++; //每过250ust tcnt 加一
if(tcnt==40) //计满40 次(1/100 秒)时
{
tcnt=0; //重新再计
sec++;
if(sec==100) //定时1 秒,在从零开始计时
{
sec=0;
TH0=0x06; //对TH0 TL0 赋值
TL0=0x06;
miaoshu=count;
count=0;
}
}
}
void t1(void) interrupt 3 using 0 //计数T1中断服务函数
{
count=count+1;
TF0=1;
TH1=255;
TL1=255;
TR1=1;
EA=1;
}
void LED()
{
if (miaoshu>=100)
{
p04=0;P1=0x00;
}
else
{
p04=1;P1=0xFF;
}
P2=seg7code[miaoshu/1000];
p00=1;
Delay(5);
p00=0;
P2=seg7code[miaoshu/100%10];
p01=1;
Delay(5);
p01=0;
P2=seg7code[(miaoshu%100)/10];
p02=1;
Delay(5);
p02=0;
P2=seg7code[miaoshu%10];
p03=1;
Delay(5);
p03=0;
}
void main(void)//主程序
{
TMOD=0x62; //定时器T0工作在方式2 自动重装方式,计数器T1工作在方式2 自动重装方式
TH0=0x06; //对TH0 TL0 赋值
TL0=0x06;
TR0=1; //开始定时
ET0=1; //允许T0 产生中断
EA=1;
TH1=255;
TL1=255;
TR1=1;
ET1=1;
EA=1;
sec=0;
miaoshu=0;tcnt=0;count=0;
while(1)//调用各个函数模块,死循环
{
LED();
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1