有XS128的
//延时控制
void delay(void)
{
int m,n;
for(m=14000;m;m--)
{
for(n=1000;n;n--)
{}
}
}
void LED(void)
{
PORTB=0XFE;
delay();
PORTB=0XFC;
delay();
PORTB=0XF8;
delay();
PORTB=0XF0;
delay();
PORTB=0XE0;
delay();
PORTB=0XC0;
delay();
PORTB=0X80;
delay();
PORTB=0X00;
delay();
PORTB=0X00;
delay();
PORTB=0X80;
delay();
PORTB=0Xc0;
delay();
PORTB=0Xe0;
delay();
PORTB=0Xf0;
delay();
PORTB=0Xf8;
delay();
PORTB=0Xfc;
delay();
PORTB=0Xfe;
delay();
}
电路图科技名词定义
中文名称:电路图 英文名称:circuit diagram 定义1:用图形符号并按工作顺序排列,详细表示电路、设备或成套装置的全部基本组成和连接关系,而不考虑其实际位置的一种简图。目的是便于详细理解电路的作用原理,分析和计算电路特性。 应用学科:电力(一级学科);通论(二级学科) 定义2:用图形符号,表示电路设备装置的组成和连结关系的简图。 应用学科:机械工程(一级学科);机械制图、公差与配合(二级学科);机械制图(三级学科) 以上内容由全国科学技术名词审定委员会审定公布
求助编辑百科名片
电路图示例电路图(circuit diagram)的定义:用导线将电源、开关(电键)、用电器、电流表、电压表等连接起来组成电路,再按照统一的符号将它们表示出来,这样绘制出的就叫做电路图。
目录
意义
分类
组成
绘制软件
电路中电压、电阻与电流之间的关系
画法
举例
单元电路图识图方法
二极管
反向性
击穿二极管的特性曲线
二极管的反向击穿
二极管的应用
编辑本段二极管的工作原理
编辑本段二极管的类型
编辑本段根据构造分类点接触型二极管
键型二极管
合金型二极管
扩散型二极管
台面型二极管
平面型二极管
合金扩散型二极管
外延型二极管
肖特基二极管
编辑本段根据用途分类意义
分类
组成
绘制软件
电路中电压、电阻与电流之间的关系
画法
举例
单元电路图识图方法
二极管反向性击穿
二极管的特性曲线 二极管的反向击穿二极管的应用编辑本段二极管的工作原理编辑本段二极管的类型编辑本段根据构造分类
点接触型二极管 键型二极管 合金型二极管 扩散型二极管 台面型二极管 平面型二极管 合金扩散型二极管 外延型二极管 肖特基二极管编辑本段根据用途分类展开 编辑本段意义
电路图是人们为了研究和工程的需要,用国家标准化的符号绘制的一种表示各元器件组成的图形。通过电路图可以详细的知道他的工作原理,是分析性能、安装电子产品的主要设计文件。在设计电路时,也可以从容地在纸上或电脑上进行,确认完善后再进行实际安装,通过调试、改进,直至成功;而现在,我们更可以应用先进的计算机软件来进行电路的辅助设计,甚至进行虚拟的电路实验,大大提高了工作效率。
编辑本段分类
常遇到的电子电路图有原理图、方框图、装配图和印板图等 (一)原理图 图,又被叫做“电原理图”。这种图,由于它直接体现了电子电路的结构和工作原理,所以一般用在设计、分析电路中。分析电路时,通过识别图纸上所画的各种电路元件符号,以及它们之间的连接方式,就可以了解电路实际工作时的原理,原理图就是用来体现电子电路的工作原理的一种工具。 (二)方框图(框图) 方框图是一种用方框和连线来表示电路工作原理和构成概况的电路图。从根本上说,这也是一种原理图,不过在这种图纸中,除了方框和连线,几乎就没有别的符号了。它和上面的原理图主要的区别就在于原理图上详细地绘制了电路的全部的元器件和它们的连接方式,而方框图只是简单地将电路按照功能划分为几个部分,将每一个部分描绘成一个方框,在方框中加上简单的文字说明,在方框间用连线(有时用带箭头的连线)说明各个方框之间的关系。所以方框图只能用来体现电路的大致工作原理,而原理图除了详细地表明电路的工作原理之外,还可以用来作为采集元件、制作电路的依据。 (三)装配图 它是为了进行电路装配而采用的一种图纸,图上的符号往往是电路元件的实物的外形图。我们只要照着图上画的样子,依样画葫芦地把一些电路元器件连接起来就能够完成电路的装配。这种电路图一般是供初学者使用的。 装配图根据装配模板的不同而各不一样,大多数作为电子产品的场合,用的都是下面要介绍的印刷线路板,所以印板图是装配图的主要形式。 在初学电子知识时,为了能早一点接触电子技术,我们选用了螺孔板作为基本的安装模板,因此安装图也就变成另一种模式。 (四)印板图 印板图的全名是“印刷电路板图”或“印刷线路板图”,它和装配图其实属于同一类的电路图,都是供装配实际电路使用的。 印刷电路板是在一块绝缘板上先覆上一层金属箔,再将电路不需要的金属箔腐蚀掉,剩下的部分金属箔作为电路元器件之间的连接线,然后将电路中的元器件安装在这块绝缘板上,利用板上剩余的金属箔作为元器件之间导电的连线,完成电路的连接。由于这种电路板的一面或两面覆的金属是铜皮,所以印刷电路板又叫“覆铜板”。印板图的元件分布往往和原理图中大不一样。这主要是因为,在印刷电路板的设计中,主要考虑所有元件的分布和连接是否合理,要考虑元件体积、散热、抗干扰、抗耦合等等诸多因素,综合这些因素设计出来的印刷电路板,从外观看很难和原理图完全一致;而实际上却能更好地实现电路的功能。 随着科技发展,现在印刷线路板的制作技术已经有了很大的发展;除了单面板、双面板外,还有多面板,已经大量运用到日常生活、工业生产、国防建设、航天事业等许多领域。 在上面介绍的四种形式的电路图中,电原理图是最常用也是最重要的,能够看懂原理图,也就基本掌握了电路的原理,绘制方框图,设计装配图、印板图这都比较容易了。掌握了原理图,进行电器的维修、设计,也是十分方便的。因此,关键是掌握原理图。
编辑本段组成
电路图主要由元件符号、连线、结点、注释四大部分组成。 元件符号表示实际电路中的元件,它的形状与实际的元件不一定相似,甚至完全不一样。但是它一般都表示出了元件的特点,而且引脚的数目都和实际元件保持一致。 连线表示的是实际电路中的导线,在原理图中虽然是一根线,但在常用的印刷电路板中往往不是线而是各种形状的铜箔块,就像收音机原理图中的许多连线在印刷电路板图中并不一定都是线形的,也可以是一定形状的铜膜。 结点表示几个元件引脚或几条导线之间相互的连接关系。所有和结点相连的元件引脚、导线,不论数目多少,都是导通的。 注释在电路图中是十分重要的,电路图中所有的文字都可以归入注释—类。细看以上各图就会发现,在电路图的各个地方都有注释存在,它们被用来说明元件的型号、名称等等。
我这写了一个!使用数码管显示的!可以用键盘校对时间!你参考下。还写了一个液晶显示的!你要的话也可以发给你!
#include<reg52h>
#define uchar unsigned char
#define uint unsigned int
sbit K1=P3^0;
sbit K2=P3^1;
sbit K3=P3^2;
uchar table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
uchar table1[]={0x5b,0x66,0x6d,0x6f,0x6d,0x6f};
uchar table2[]={0,1,0,0,0,0};
int shi=1,fen=0,miao=0;
uchar a,i,j,temp=-2,temp1;
void sfm(uchar dz,uchar shu);//将计的数的十位和个位分开
void display();//将时间显示出来
void display1(uchar dz);//只显示要校对的数
void init();//初始化
void jiaoshi();//定义一个校时函数
void delay(uchar z)//定义一个延时函数
{
uchar x,y;
for(x=0;x<50;x++)
for(y=0;y<z;y++);
}
void main()
{
init();
while(1)
{
jiaoshi();
}
}
void init()
{
EA=1;
ET0=1;
ET1=1;
TR1=1;
TR0=0;
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
K1=K2=1;
temp1=0;
while(TR1)
{
for(i=0;i<6;i++)
{
delay(3);
P1=i;
P2=table1[i];
delay(3);
}
}
}
void sfm(uchar dz,uchar shu)
{
if(shu==60&dz!=0) shu=0;
table2[dz]=shu/10;
table2[dz+1]=shu%10;
}
void display()
{
uchar j;
for(j=0;j<6;j++)
{
delay(3);
P1=j;
P2=table[table2[j]];
delay(3);
}
}
void display1(uchar dz)
{
uchar j;
for(j=0;j<2;j++)
{
delay(3);
P1=dz+j;
P2=table[table2[dz+j]];
delay(3);
}
}
void jiaoshi()
{
uchar a;
if(K1==0)
{
delay(5);
if(K1==0)
{
TR0=0;
a++;
temp+=2;
if(a==4|temp==6)
{
a=0;
temp=-2;
TR0=1;
}
}
}
while(!K1)
{
delay(5);
display1(temp);
}
while(!K1);
display1(temp);
if(K2==0)
{
delay(5);
if(K2==0)
{
if(a==1)
{
temp=0;
if(shi==24)
shi=0;
shi++;
sfm(0,shi);
}
if(a==2)
{
temp=2;
if(fen==59)
fen=-1;
fen++;
sfm(2,fen);
}
if(a==3)
{
temp=4;
if(miao==59)
miao=-1;
miao++;
sfm(4,miao);
}
}
}
while(!K2)
{
delay(5);
display1(temp);
}
while(!K2);
if(K3==0)
{
delay(5);
if(K3==0)
{
if(a==1)
{
shi--;
if(shi==0)
shi=24;
sfm(0,shi);
}
if(a==2)
{
fen--;
if(fen==-1)
fen=59;
sfm(2,fen);
}
if(a==3)
{
miao--;
if(miao==-1)
miao=59;
sfm(4,miao);
}
}
}
while(!K3)
{
delay(5);
display1(temp);
}
while(!K3);
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==16)
{
a=0;
miao++;
sfm(4,miao);
if(miao==60)
{
miao=0;
display();
fen++;
sfm(2,fen);
if(fen==60)
{
fen=0;
shi++;
sfm(0,shi);
if(shi==25)
{
shi=1;
sfm(0,shi);
}
}
}
}
display();
}
void timer1() interrupt 3
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
j++;
if(j==20)
{
TR0=1;
TR1=0;
}
}
数字时钟
这段程序是在PRTUES上完全好使
你可以根据 程序自己在PROTUES上画图
#include<reg51h>
#define uint unsigned int
char code tab[]=;
char code table[]=;
sbit duan=P2^5;
sbit wei=P2^6;
sbit button1=P1^0;
sbit button2=P1^1;
sbit button3=P1^2;
sbit button4=P1^3;
sbit button5=P1^4;
sbit button6=P1^5;
sbit button7=P1^6;
sbit button8=P1^7;
void delay(uint z);
void start();
void display();
static char a,b,c,d,k,e,f,g,h;
static char num1,num2,num3,num4;
void main()
{ start();
while(1)
if(button2==0)
if(button3==0)
if(button4==0)
{ delay(10);
if(button4==0)
}}
while(button4==0)
}
if(button5==0)
{ delay(10);
if(button5==0)
}
while(button5==0)
}
if(button6==0)
{ delay(10);
if(button6==0)
}
while(button6==0)
}
if(button7==0)
{delay(10);
if(button7==0)
{num3--;
if(num3<0)
}
while(button7==0)
}
if(button8==0)
{delay(10);
if(button8==0)
while(button8==0)
}
display();
} }
void start()
{ EA=1;
TMOD=0x01;ET0=1;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;}
void delay(uint z )
{ uint x,y;
for(x=z;x>0;x--)
for(y=120;y>0;y--);}
void timer1() interrupt 1
{ TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
k++;
if(k==2) //总忘k把清零
{k=0;num1++;
if(num1==100)
{num1=0;num2++;
if(num2==60){num2=0;num3++;
if(num3==60){num3=0;num4++;
if(num4==24)}
}} }}
void display()
{a=num1/10;b=num1%10;c=num2/10;d=num2%10;
e=num3/10;f=num3%10;g=num4/10;h=num4%10;
wei=1;P0=0x80;wei=0;
duan=1;P0=tab[b];duan=0;delay(1);
P0=0x00;
wei=1;P0=0x40;wei=0;
duan=1;P0=tab[a];duan=0;delay(1);
P0=0x00;
wei=1;P0=0x20;wei=0;
duan=1;P0=tab[d];duan=0;
duan=1;P0=table[d];duan=0;delay(1);
P0=0x00;
wei=1;P0=0x10;wei=0;
duan=1;P0=tab[c];duan=0;delay(1);
P0=0x00;
wei=1;P0=0x08;wei=0;
duan=1;P0=table[f];duan=0;delay(1);
duan=1;P0=tab[f];duan=0;delay(1);
P0=0x00;
wei=1;P0=0x04;wei=0;
duan=1;P0=tab[e];duan=0;delay(1);
P0=0x00;
wei=1;P0=0x02;wei=0;
duan=1;P0=tab[h];duan=0;
duan=1;P0=table[h];duan=0;delay(1);
P0=0x00;
wei=1;P0=0x01;wei=0;
duan=1;P0=tab[g];duan=0;delay(1);
P0=0x00;
}
以上就是关于(51单片机)找一个电子时钟的(C语言)程序,用LED灯做秒表,四个数码管做时-分。急急急!全部的内容,包括:(51单片机)找一个电子时钟的(C语言)程序,用LED灯做秒表,四个数码管做时-分。急急急!、8位数码管的51单片机电子钟程序用电路图、数字时钟C语言设计.用的是51单片机。 00 秒 00 分 00 小时 还有小数点。 麻烦把程序代码告诉我把等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)