单片机C语言编程简易数字电子时钟
#include unsigned char X=10,sec,flag;unsigned char key[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};// 数码管显示数字表unsigned char key2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};unsigned char key1[]={0,0,0,0};//key1[0]=9 key1[1]=1 key1[2]=2 key1[3]=3void delay02s(void);void dislplay(void);void dislplay1(void);void tim1(void);void main()tim1();while(1)if(flag==0) dislplay();else dislplay1();void time1(void) interrupt 3TR1=0;X=X-1;if(X==0)flag=flag+1;if(flag==2)flag=0;sec=sec+1;if(sec==60)sec=0;key1[3]=key1[3]+1;if(key1[3]==10);key1[3]=0;key1[2]=key1[2]+1;if(key1[2]==6)key1[2]=0;key1[1]=key1[1]+1;if(key[0]!=2)if(key1[1]==10)key1[1]=0;key1[0]=key1[0]+1;if(key[0]==2)if(key[1]==4)key1[1]=0;key1[0]=0;X=10;TL1=0xb0;TH1=0x3c;TR1=1;void tim1(void)TMOD =0X10;TL1=0xb0;TH1=0x3c;void dislplay(void)P2=0xfe;P0=key[key1[0]];delay02s();P2=0xfd;P0=key[key1[1]];delay02s();P2=0xfb;P0=key[key1[2]];delay02s();P2=0xf7;P0=key[key1[3]];delay02s();void dislplay1(void)P2=0xfe;P0=key[key1[0]];delay02s();P2=0xfd;P0=key2[key1[1]];delay02s();P2=0xfb;P0=key[key1[2]];delay02s();P2=0xf7;P0=key[key1[3]];delay02s();void delay02s(void)unsigned char i,j,k;for(i=2;i>0;i--)for(j=15;j>0;j--) //198for(k=25;k>0;k--)//248{}我空间还有其他的?Ptlang=2052&ADUIN=615543707&ADSESSION=1276219802&ADTAG=CLIENT.QQ.2653_Mysrv.0
用plc编程24小时时钟程序
没有分没有写程序动力,告诉你思路吧
1、OB35设定1000ms循环
2、在ob35中个累加,并且安分钟和小时寄存
3、比较,当分钟的寄存器=30时,继电器输出1s
4、分钟继存器=0时,写一段循环程序:当当前小时大于临时寄存器进行下面的程序,继电器的输出1s和一个临时寄存器的累加,当临时寄存器的累加值大于当前小时,就不进行循环,
5、秒闪烁这个就是500ms输出,然后弄一个500ms定时器进行不输出。
就这么多了,很简单的程序,
更多追问追答
能不能帮我画一下梯形图
不知道你的PLC,再说这么简单直接就可以写啊,
如果你不熟悉,思路都告诉你了,当然我上面是y以step7为基础写的,其他的基本类似,吧ob35换成循环分段的程序块就可以了。
如果你还是新手,求人不如求己,花个半天学习下手册,基本上面的程序应该已经可以写出来了,当然你需要一定的电气基础。
慢慢学吧,学会的总是自己的。
plc是西门子s7-200
课程设计:单片机设计一个完整的时钟
一般可以用单片机内部时钟以及时钟芯片来做。有问 题 可 找 我。
求:模拟时钟转动程序的c++课程设计
C++的没得时间做,给你一个我做的Java程序做参考吧.importnbsp;java.applet.Applet;importnbsp;java.awt.*;importnbsp;java.util.*;importnbsp;java.awt.event.*;publicnbsp;classnbsp;SHowTimenbsp;extendsnbsp;Appletnbsp;{nbsp;nbsp;TextFieldnbsp;txt_Hour;nbsp;TextFieldnbsp;txt_Min;nbsp;TextFieldnbsp;txt_Sec;nbsp;Labelnbsp;lab_Hour;nbsp;Labelnbsp;lab_Min;nbsp;Labelnbsp;lab_Sec;nbsp;TextFieldnbsp;txt_show;nbsp;finalnbsp;intnbsp;Clock_X=20;nbsp;//表显示区域的左上X坐标nbsp;finalnbsp;intnbsp;Clock_Y=40;nbsp;finalnbsp;intnbsp;Clock_Size=150;nbsp;//表盘大小nbsp;finalnbsp;intnbsp;Clock_CenX=Clock_X+(Clock_Size/2);nbsp;//表盘中心X坐标nbsp;finalnbsp;intnbsp;Colok_CenY=Clock_Y+(Clock_Size/2);nbsp;//表盘中心Y坐标nbsp;Colornbsp;bgcolor=Color.lightGray;nbsp;nbsp;Pointnbsp;Old_SecPoint1;nbsp;//用来保存秒针上一次的坐标位置,以便在下一次画的时候覆盖上一次画的指针nbsp;Pointnbsp;Old_SecPoint2;nbsp;nbsp;Pointnbsp;Old_MinPoint1;nbsp;Pointnbsp;Old_MinPoint2;nbsp;Pointnbsp;Old_HourPoint1;nbsp;Pointnbsp;Old_HourPoint2;nbsp;nbsp;publicnbsp;voidnbsp;init()nbsp;{nbsp;nbsp;txt_Hour=newnbsp;TextField();nbsp;nbsp;txt_Min=newnbsp;TextField();nbsp;nbsp;txt_Sec=newnbsp;TextField();nbsp;nbsp;lab_Hour=newnbsp;Label(“H:“);nbsp;nbsp;lab_Min=newnbsp;Label(“M:“);nbsp;nbsp;lab_Sec=newnbsp;Label(“S:“);nbsp;nbsp;txt_show=newnbsp;TextField(““,20);nbsp;nbsp;txt_show.setBackground(Color.cyan);nbsp;nbsp;thIS.add(lab_Hour);nbsp;nbsp;this.add(txt_Hour);nbsp;nbsp;this.add(lab_Min);nbsp;nbsp;this.add(txt_Min);nbsp;nbsp;this.add(lab_Sec);nbsp;nbsp;this.add(txt_Sec);nbsp;nbsp;shownbsp;s=newnbsp;show();nbsp;nbsp;s.start();nbsp;nbsp;Old_SecPoint1=newnbsp;Point(0,0);nbsp;nbsp;Old_SecPoint2=newnbsp;Point(0,0);nbsp;nbsp;Old_MinPoint1=newnbsp;Point(0,0);nbsp;nbsp;Old_MinPoint2=newnbsp;Point(0,0);nbsp;nbsp;Old_HourPoint1=newnbsp;Point(0,0);nbsp;nbsp;Old_HourPoint2=newnbsp;Point(0,0);nbsp;}nbsp;publicnbsp;voidnbsp;PAint(Graphicsnbsp;g)nbsp;{nbsp;nbsp;g.setColor(bgcolor);nbsp;nbsp;g.fillOval(Clock_X,nbsp;Clock_Y,nbsp;Clock_Size,nbsp;Clock_Size);nbsp;nbsp;g.setColor(Color.black);nbsp;nbsp;for(intnbsp;i=0;iamp;lt;360;i+=6)nbsp;nbsp;{nbsp;nbsp;nbsp;Pointnbsp;p1;nbsp;nbsp;nbsp;Pointnbsp;p2;nbsp;nbsp;nbsp;if(i%30==0)nbsp;nbsp;nbsp;{nbsp;nbsp;nbsp;nbsp;p1=getPoint(i,Clock_Size/2);nbsp;nbsp;nbsp;nbsp;p2=getPoint(i,Clock_Size/2-10);nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp;nbsp;elsenbsp;nbsp;nbsp;{nbsp;nbsp;nbsp;nbsp;p1=getPoint(i,Clock_Size/2);nbsp;nbsp;nbsp;nbsp;p2=getPoint(i,Clock_Size/2-5);nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp;nbsp;g.drawLine(p1.x,nbsp;p1.y,nbsp;p2.x,nbsp;p2.y);nbsp;nbsp;}nbsp;}nbsp;publicnbsp;Pointnbsp;getPoint(intnbsp;arc,intnbsp;length)nbsp;{nbsp;nbsp;P