标题: 根据别人的程序修改完善的数码管程序 [打印本页]

作者: pluslaw    时间: 2016-5-22 20:15
标题: 根据别人的程序修改完善的数码管程序
#include<STC89C5xRC.H>
typedef unsigned short int uint;
typedef unsigned char uchar;
sbit sclk=P1^0;
sbit rclk=P1^1;
sbit dio=P1^2;
uchar code number[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8E};
uint i,j,k;
void sclkup(uint num,bit dot){
        dio=dot;
        sclk=0;
        sclk=1;
        for(i=0;i<7;i++)
        {
                num<<=1;
                if(num&0x80){
                        dio=1;
                }else{
                        dio=0;
                }
                sclk=0;
                sclk=1;
        }
}
void rclkup(uint num,bit dot,uchar position){
        uchar *table=number+num;
        sclkup(*table,dot);
        sclkup(position,0);
        rclk=0;
        rclk=1;
}
void display(float num){
        uint number,number0,number1,number2,number3;
        if(num<0||num>=100){
                rclkup(10,1,0x08);
                rclkup(10,1,0x04);
                rclkup(10,1,0x02);
                rclkup(10,1,0x01);
        }else if(num>=0&&num<10){
                number=num*100;
                number2=number/100;
                number1=number%100/10;
                number0=number%10;
                rclkup(number2,0,0x04);
                rclkup(number1,1,0x02);
                rclkup(number0,1,0x01);
        }else if(num>=10&&num<100){
                number=num*100;
                number3=number/1000;
                number2=number%1000/100;
                number1=number%100/10;
                number0=number%10;
                rclkup(number3,1,0x08);
                rclkup(number2,0,0x04);
                rclkup(number1,1,0x02);
                rclkup(number0,1,0x01);
        }
}
main(){
        while(1){
                float number=;
                display((int)(number*100+0.5)/100.0);
        }
}






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1