单片机入门-C51实现用TLC549模数转换用数码管设计电压表视频教程如下: 一、电路图如下: 二、代码如下: #include #include #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<> { temp<> 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%10; dispbuf[1]=vol%10; disp(dispbuf); } } void disp(uchar*buff) { uchar ddata; for(i=0;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--); } |
|
来自: 昵称21467945 > 《待分类》