#include<reg52h>
#include<intrinsh>
#define uint unsigned int
#define uchar unsigned char
sbit wela=P2^7;
sbit dula=P2^6;
sbit key1=P3^4;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
uchar bai,shi,ge;
void display(uchar,uchar,uchar);
uchar num;
void keyscan();
void init();
void delay(uint z)
{
uchar i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
init();
while(1)
{
display(bai,shi,ge);
keyscan();
}
}
void keyscan()
{
if(key1==0)
{
delay(10);
if(key1==0)
{
TR0=0;
while(!key1);
TR0=1;
}
}
}
void init()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void display(uchar a,uchar b,uchar c)
{
dula=1;
P0=table[a];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delay(10);
dula=1;
P0=table[b];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delay(10);
dula=1;
P0=table[c];
dula=0;
P0=0xff;
wela=1;
P0=0xfb;
wela=0;
delay(10);
}
void T0_time() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num==1000)
num=0;
bai=num/100;
shi=num%100/10;
ge=num%10;
}
我刚写的
汽车调表器,适应的车型广泛,涵盖电磁式、正弦式、脉冲式、 霍尔式、光电式传感器的车。下面我们随我具体了解下汽车调表器的使用 方法 。
汽车调表器的使用方法
把调表器主机插入汽车点烟器插孔,打开车钥匙(不发动引擎),即开始工作。调整调表器上的调节钮,把车速调到你需要的速度。
现在的汽车电子化程度很高,里程表都用电子式的代替机械软轴传动的,不再能通过拨数码轮调整里程表。司机又需要增加里程数时,用这种跑表器就可以很轻松地实现。这种跑表器使用集成电路设计,体积小巧,运行稳定,适用于各种电子传感器的汽车上使用。
这种小巧的仪器有着比 其它 同类产品明显的优点,是目前性能最好、最可靠最先进的仪器:
可靠和稳定性第一。设计技术精湛,严密。强调稳定性可靠性,优化电路设计,适应最不利的环境,可靠性高。元件经过精心筛选,超宽电适应,超余量设计,超稳定工作,周到的恒流设计和各种保护设计,电压过高或接错线都不会损坏仪器,更不会影响汽车电路,绝对不会烧坏任何汽车电路。
电压经过宽电压范围的严格考验,使仪器能在电压、温度、湿度、灰尘污染等复杂的变化因素多的条件下能稳定工作。
体积小巧,携带方便。只有烟盒一半大,装在口袋中,随时可以拿出来使用。
*** 作简单,使用方便。打开钥匙就跑数,车不用开,原地不用动,里程表快速加数。
汽车调表器的使用小技巧
我们必须先在车的引擎盖下找到传动轴的里程表传感器插头,然后拔掉。
将走表器输出插片插入刚刚拔掉的的传感器插销中的信号插孔去。。
然后把走表器准确的插入点烟器。
在车钥匙上面旋转一下,启动所有的仪表盘,调节走表器上的那个小小的调节按钮。把车子的时速调到你自己想调节的速度就行了。
开始启动的时候,数字就会自动的增大,这样就可以将你的里程表调节了。
汽车调表器的使用注意事项
PB1型适用于各类工具车、面包车。
PB2型适用于进口、国产大部分车型。如帕萨特、桑塔纳等。
PB3型通用型速度可调整范围大,很方便地用旋钮调整速度,防烧坏汽车线 路的绝对安全设计。
PB4型24V大客车/24V大货车专用型
适用范围最广
速度快效率高,快慢可以方便地通过旋钮调整。
#include<reg51h>
#include "intrinsh"
#include "absacch"
#define uchar unsigned char
uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff};//0-9
unsigned char sec=0,dat=0,scanled;
unsigned char key=0,mode,time;
unsigned char disdat[4];
void dischg()
{
disdat[3]=dat%10;
disdat[2]=dat/10;
disdat[1]=sec%10;
disdat[0]=sec/10;
}
void ext0() interrupt 0
{
key++;
key%=3;
}
void t0isr() interrupt 1 //秒计时
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
dat++;
if(dat>=100)
{
dat=0;
sec++;
if(sec>99)sec=0;
}
dischg();
}
void t1isr() interrupt 3 //显示
{
TH1=0xec;
TL1=0x78;
P0=0xff;
switch(scanled)
{
case 0:
P2=0x01;
P0=~ledtab[disdat[0]];
break;
case 1:
P2=0x02;
P0=~(ledtab[disdat[1]]|0x80);
break;
case 2:
P2=0x04;
P0=~ledtab[disdat[2]];
break;
case 3:
P2=0x08;
P0=~ledtab[disdat[3]];
break;
default:break;
}
scanled++;
scanled%=4;
}
main()
{
TMOD=0x11;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TH1=0xec;
TL1=0x78;
TR1=1;
TR0=0;
ET0=1;
ET1=1;
EX0=1;
IT0=1;
EA=1;
scanled=0;
time=0;
mode=1;
dischg();
while(1)
{
switch(key)
{
case 0:sec=0;dat=0;break;
case 1:TR0=1;break;
case 2:TR0=0;break;
}
}
}
以上就是关于数码管前三位显示一个跑表从000到999之间以一秒的速度运行,按下一个独立键盘跑表停止,松手跑表继续运行全部的内容,包括:数码管前三位显示一个跑表从000到999之间以一秒的速度运行,按下一个独立键盘跑表停止,松手跑表继续运行、汽车调表器的使用方法_调表器如何使用、51单片机 秒表 从0-99.99S循环 设置启停按钮 需程序和proteus电路图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)