如何用数码管制作电压表,三位数码管怎么做电压表

首页 > 科学 > 作者:YD1662022-12-30 01:44:03

单片机入门-C51实现用TLC549模数转换用数码管设计电压表视频教程如下:

一、电路图如下:

如何用数码管制作电压表,三位数码管怎么做电压表(1)

二、代码如下:

#include<reg51.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

unsigned char dispbuf[4];

sbit cs=P2^3;

sbit clock=P2^4;

sbit dataout=P2^2;

void disp(uchar*buff);

void delay(uchar time);

uchar i;

uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar code BIT[4]={0x7f,0xbf,0xdf,0xef};

uchar tlc549()

{

uchar i,temp;

cs=1;

clock=0;

cs=0;

_nop_();

_nop_();

for(i=0;i<8;i )

{

temp<<=1;

temp|=dataout;

clock=1;

_nop_();

clock=0;

}

cs=1;

for(i=17;i>0;i--)

{

_nop_();

}

return temp;

}

void main()

{

uchar vol;

disp(dispbuf);

while(1)

{

vol=tlc549();

vol=vol*1.0/255*500;

dispbuf[3]=vol/100;

dispbuf[2]=vol/10;

dispbuf[1]=vol;

disp(dispbuf);

}

}

void disp(uchar*buff)

{

uchar ddata;

for(i=0;i<4;i )

{

P0=BIT[i];

ddata=*buff ;

if(i==3)

{

P1=tab[ddata]|0x80;

}

else

{

P1=tab[ddata];

}

delay(100);

}

}

void delay(uchar time)

{

uchar i;

for(i=time;i>0;i--);

}

,

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.