数码管前三位显示一个跑表从000到999之间以一秒的速度运行,按下一个独立键盘跑表停止,松手跑表继续运行

数码管前三位显示一个跑表从000到999之间以一秒的速度运行,按下一个独立键盘跑表停止,松手跑表继续运行,第1张

#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电路图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9693589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存