数控直流稳压电源 用AT89C51单片机写的程序=。= 加注释

数控直流稳压电源 用AT89C51单片机写的程序=。= 加注释,第1张

#include<reg51.h>

#include<intrins.h>

#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=zx>0x--)

for(y=110y>0y--)

}

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=0i<2i++,j++)

{

dula=1 //开片选信号

P2=tablewei[j] //段位显示

if(i==0)//共阴或共阳选择

P0=table[tab[i]] //段位值显示

else //共阴或共阳选择

P0=table2[tab[i]] //段位值显示

dula=0 //关片选信号

delay(5) //延时以确保能显示清晰

}

}

电源的容量关系着电源的整个设计过程,请说明对容量的要求。

电源的设计是个系统工程,不是几个字和几张图就可以搞定的。

不过,通用单片机不适合制作数控电源,使用专用的电源芯片会比较靠谱。


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

原文地址: http://outofmemory.cn/yw/11041567.html

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

发表评论

登录后才能评论

评论列表(0条)

保存