首页 数控直流恒流源的设计与制作数控恒流源程序

数控直流恒流源的设计与制作数控恒流源程序

举报
开通vip

数控直流恒流源的设计与制作数控恒流源程序数控恒流源程序 #include #include #include #include #define unit unsigned int #define uchar unsigned char #define DELAY_TIME 60 #define TRUE 1 #define FALSE 0 uchar keyup; uchar keydown; uchar keyupstate; uchar keydownstate; static unsigned int s=0; static unsign...

数控直流恒流源的设计与制作数控恒流源程序
数控恒流源程序 #include #include #include #include #define unit unsigned int #define uchar unsigned char #define DELAY_TIME 60 #define TRUE 1 #define FALSE 0 uchar keyup; uchar keydown; uchar keyupstate; uchar keydownstate; static unsigned int s=0; static unsigned int b=1; static unsigned int q=0; static unsigned int c=0; static unsigned int a; code unsigned char table[19]= {11,17,23,28,34,39,45,51,56,62,68,73,79,84,90,96,101,107,113}; code unsigned char Seg7Code[11]=                //用十六进数作为数组下标,可直接取得对应的七段编码字节 {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xBF}; sbit SCL=P1^4; sbit SDA=P1^5; void DELAY(unsigned int t) /*延时函数*/     {         while(t!=0)             t--;     } void I2C_Start(void)     {         /*启动I2C总线的函数,当SCL为高电平时使SDA产生一个负跳变*/         SDA=1;         SCL=1;         DELAY(DELAY_TIME);         SDA=0;         DELAY(DELAY_TIME);         SCL=0;         DELAY(DELAY_TIME);     } void I2C_Stop(void)     {         /*终止I2C总线,当SCL为高电平时使SDA产生一个正跳变*/         SDA=0;         SCL=1;         DELAY(DELAY_TIME);         SDA=1;         DELAY(DELAY_TIME);         SCL=0;         DELAY(DELAY_TIME);     } void SEND_0(void)   /* SEND ACK */     {         /*发送0,在SCL为高电平时使SDA信号为低*/         SDA=0;         SCL=1;         DELAY(DELAY_TIME);         SCL=0;         DELAY(DELAY_TIME);     } void SEND_1(void)     {         /*发送1,在SCL为高电平时使SDA信号为高*/         SDA=1;         SCL=1;         DELAY(DELAY_TIME);         SCL=0;         DELAY(DELAY_TIME);     } bit Check_Acknowledge(void)     {         /*发送完一个字节后检验设备的应答信号*/         SDA=1;         SCL=1;         DELAY(DELAY_TIME/2);         F0=SDA;         DELAY(DELAY_TIME/2);         SCL=0;         DELAY(DELAY_TIME);         if(F0==1)             return FALSE;         return TRUE;     } void WriteI2CByte(char b)reentrant     {         /*向I2C总线写一个字节*/         char i;         for(i=0;i<8;i++)             if((b<0;i--); } void main( void ) { c=Read_One_Byte(0x10);  a=Read_One_Byte(0x20);  if (c>18||a>100)  {c=0;a=10;}  P2=table[c];   jisuan();  DisplayBrush();  EA=1;IT0=1;IT1=1;EX0=1;EX1=1; while (1)  {  if (keyupstate!=keyup)   { delays();   if (c<=18)    {if (a==100)     goto L1;        else a+=5;      c++;}  L1: keyupstate=keyup;   P2=table[c];    jisuan();   DisplayBrush();   Write_One_Byte(0x10,c);   Write_One_Byte(0x20,a);   } ///////////////////////////////////////////////////////  if (keydownstate!=keydown)   { delays();   if (a==10)      goto L2;      else a-=5;   c--;  L2: keydownstate=keydown;   P2=table[c];    jisuan();   DisplayBrush();   Write_One_Byte(0x10,c);   Write_One_Byte(0x20,a);   }   DisplayBrush();  } }   void intsvr0(void)  interrupt 0 using 1 {    keyup=!keyup; } void intsur0(void)  interrupt 2 using 1 {   keydown=!keydown; }
本文档为【数控直流恒流源的设计与制作数控恒流源程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_611360
暂无简介~
格式:doc
大小:28KB
软件:Word
页数:0
分类:生活休闲
上传时间:2018-09-07
浏览量:16