数控直流稳压电源 用AT89C51单片机写的程序=。= 加注释
答案:4 悬赏:10 手机版
解决时间 2021-11-08 13:43
- 提问者网友:寂寞撕碎了回忆
- 2021-11-07 17:59
数控直流稳压电源 用AT89C51单片机写的程序=。= 加注释
最佳答案
- 五星知识达人网友:woshuo
- 2021-11-07 19:06
#include
#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77};
uchar data tab[2];
uchar ws[2]={0,0};
uchar code table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7};
uchar code tablewei[]={0x0e,0x0d};
sbit dula=P1^5;
sbit dawr=P2^6;//DA写数据段
sbit dacs=P2^7;//DA始能段
uchar num1,f,f1,f2,f3,f4,f5,f6,keynum;
//f为数字键标志位;f1为DA转换标志位;f2,f4分别为+,-0.1标志位;f3为清零标志位
void delay(uint z)//延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uint number)//显示LED
{
uchar i,j;
tab[0]=number%10; //个位数
tab[1]=number/10; //十位数
for(i=0,j=0;i<2;i++,j++)
{
dula=1;
P2=tablewei[j]; //数码管位控
if(i==0)
P0=table[tab[i]]; //显示个位数
else
P0=table2[tab[i]]; //显示十位数
dula=0;
delay(5);
}
#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77};
uchar data tab[2];
uchar ws[2]={0,0};
uchar code table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7};
uchar code tablewei[]={0x0e,0x0d};
sbit dula=P1^5;
sbit dawr=P2^6;//DA写数据段
sbit dacs=P2^7;//DA始能段
uchar num1,f,f1,f2,f3,f4,f5,f6,keynum;
//f为数字键标志位;f1为DA转换标志位;f2,f4分别为+,-0.1标志位;f3为清零标志位
void delay(uint z)//延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uint number)//显示LED
{
uchar i,j;
tab[0]=number%10; //个位数
tab[1]=number/10; //十位数
for(i=0,j=0;i<2;i++,j++)
{
dula=1;
P2=tablewei[j]; //数码管位控
if(i==0)
P0=table[tab[i]]; //显示个位数
else
P0=table2[tab[i]]; //显示十位数
dula=0;
delay(5);
}
全部回答
- 1楼网友:摆渡翁
- 2021-11-07 21:47
main()主函数呢?
- 2楼网友:玩家
- 2021-11-07 21:15
这个程序不是很全啊,缺了好多
- 3楼网友:未来江山和你
- 2021-11-07 20:27
#include
#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77}; //table和table2一个为共阴一个为共阳
uchar data tab[2]; //number值的个位和十位存放
uchar ws[2]={0,0};
uchar code table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7};
uchar code tablewei[]={0x0e,0x0d}; //0,1对应的段选信号
sbit dula=P1^5;
sbit dawr=P2^6;//DA写数据段
sbit dacs=P2^7;//DA始能段
uchar num1,f,f1,f2,f3,f4,f5,f6,keynum;
//f为数字键标志位;f1为DA转换标志位;f2,f4分别为+,-0.1标志位;f3为清零标志位
void delay(uint z)//延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uint number)//显示LED
{
uchar i,j;
tab[0]=number%10; //计算number值(00~99)的个位
tab[1]=number/10; //计算number值(00~99)的十位
for(i=0,j=0;i<2;i++,j++)
{
dula=1; //开片选信号
P2=tablewei[j]; //段位显示
if(i==0) //共阴或共阳选择
P0=table[tab[i]]; //段位值显示
else //共阴或共阳选择
P0=table2[tab[i]]; //段位值显示
dula=0; //关片选信号
delay(5); //延时以确保能显示清晰
}
}
#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77}; //table和table2一个为共阴一个为共阳
uchar data tab[2]; //number值的个位和十位存放
uchar ws[2]={0,0};
uchar code table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7};
uchar code tablewei[]={0x0e,0x0d}; //0,1对应的段选信号
sbit dula=P1^5;
sbit dawr=P2^6;//DA写数据段
sbit dacs=P2^7;//DA始能段
uchar num1,f,f1,f2,f3,f4,f5,f6,keynum;
//f为数字键标志位;f1为DA转换标志位;f2,f4分别为+,-0.1标志位;f3为清零标志位
void delay(uint z)//延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uint number)//显示LED
{
uchar i,j;
tab[0]=number%10; //计算number值(00~99)的个位
tab[1]=number/10; //计算number值(00~99)的十位
for(i=0,j=0;i<2;i++,j++)
{
dula=1; //开片选信号
P2=tablewei[j]; //段位显示
if(i==0) //共阴或共阳选择
P0=table[tab[i]]; //段位值显示
else //共阴或共阳选择
P0=table2[tab[i]]; //段位值显示
dula=0; //关片选信号
delay(5); //延时以确保能显示清晰
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯