亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? datacurrent.c

?? 控制常用的最小系統
?? C
字號:
/*數控恒流源*/
 #include<reg51.h>
 #include<absacc.h>
 #include <intrins.h>
 #define uchar unsigned char
 #define JP373 XBYTE[0x87ff]
 #define DM373 XBYTE[0x97ff]
 #define WM373 XBYTE[0xa7ff]
 #define R62256 XBYTE[0X0000]
 #define DAC0832 XBYTE[0Xefff]
 sbit P1_6=P1^6;
 sbit P3_2=P3^2;
 sbit CS=P1^4;
 sbit SID=P1^5;
 sbit CLK=P1^7;

 void delay10ms(unsigned char time);
 uchar ksp(void);
 void int0_jp(void);
 uchar keyscan(void);
 void  increase(void);
 void  reduce(void);
 void  enter(void);
 void int1_jp(void);
 void  write_ad7705( unsigned char temp);
 unsigned int ADRAD(void);
 void  PROCESS(void);
 void  measure(void);
 void  clear(void);
 void compare(void);
 void SendByte(uchar ucSendData);
 void Write_Command(uchar ucCommand);
 void Write_Data(uchar ucData);
 void Lcd_Display(uchar data1);
 void Lcd_Initial();
 void  lcdmain(uchar qw, uchar bw, uchar sw, uchar gw);

 uchar ucBuffer;
 uchar data a,d;
 uchar  key,temp,THUN,HUN,TEN,ONE;
 uchar  qw,bw,sw,gw;
 uchar  I,J;
 uchar  l=0X10,m=0X10,n=0X10;
 unsigned int sum,k;
 unsigned int dout;
 double res;


code  unsigned char  tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*代碼段數組*/


             void   main (void)   //主程序
                  {
                    d=1;
                   while(1)
                   {
                      IE=0X81;
                      IP=0X01;
                      TCON=0X00;
                      P1=0Xf0;
                     while(d);
                     compare();
                   while(1)
                   {  P0=JP373;
                      P0&=0x0f;
                      delay10ms(10);
                      if(P0==0x0f) break;
                    }
                     EA=1;
                     d=1;
                    }
                   }
             void Delay()   //40ms
            {
                uchar i,j;
               for(i=0x0ff;i>0;i--)
               for(j=0x0ff;j>0;j--);
            }

             void delay10ms(unsigned  char time)//延時10ms
                 {unsigned  char i;
                  while(time--)
                  {for(i=0;i<120;i++);}
                  }
             uchar ksp(void) //去抖動
                   {uchar temp;
                    P1=0XF0;
                   P0=JP373;
                   temp=P0;
                   temp&=0x0f;
                   return temp;
                   }


             void int0_jp(void)interrupt 0    //處理中斷0
               {   I=ksp();
                   if(I==0x0f)
                   { while(1);}
                   I=ksp();
                   if(I==0x0f) {while(1);}
                   d=0;
                   EA=0;
                 }




             uchar keyscan(void) //按鍵掃描子程序
              {    P1=0XFE;
                   P0=JP373;
                   temp=P0;
                   temp&=0x0F;
                 switch(temp)
                 {case  0x0E: {key=0; return key;} break;
                  case  0x0D: {key=4; return key;} break;
                  case  0X0B: {key=8; return key;} break;
                  case  0X07: {key=12;return key;} break;
                  default:break;
                   }

                  P1=0XFD;
                  P0=JP373;
                  temp=P0;
                  temp&=0x0F;
                 switch(temp)
                 {case  0x0E: {key=1; return key;} break;
                  case  0x0D: {key=5; return key;} break;
                  case  0X0B: {key=9; return key;} break;
                  case  0X07: {key=13;return key;} break;
                  default:break;
                  }

                   P1=0XFB;
                   P0=JP373;
                   temp=P0;
                   temp&=0x0F;
                 switch(temp)
                 {case  0x0E: {key=2; return key;} break;
                  case  0x0D: {key=6; return key;} break;
                  case  0X0B: {key=10;return key;} break;
                  case  0X07: {key=14;return key;} break;
                  default:break;
                  }

                   P1=0XF7;
                   P0=JP373;
                   temp=P0;
                   temp&=0x0F;
                 switch(temp)
                 {case  0x0E: {key=3; return key;} break;
                  case  0x0D: {key=7; return key;} break;
                  case  0X0B: {key=11;return key;} break;
                  case  0X07: {key=15;return key;} break;
                  default:break;
                  }

               }

          void  increase(void)
           {if((l!=0X10)||(m!=0x10)||(n!=0x10))
             if(sum<200)
             {sum+=1;}
             R62256=sum;
             DAC0832=sum;
             measure();

             }

          void  reduce(void)
           {if((l!=0X10)||(m!=0x10)||(n!=0x10))
             if(sum>=1)
            {sum-=1;}
            R62256=sum;
            DAC0832=sum;
            measure();

           }


         void enter(void)
        {if((l!=0x10)||(m!=0x10)||(n!=0x10))
          {if((l!=0x10) && (m!=0x10 )&& (n!=0x10) ) //三位數
              {sum=l*100+m*10;
               sum+=n;
              }
             else  if((l!=0x10) && (m!=0x10 ) && (n==0x10 )) //兩位數
              {sum=l*10+m;}
             else if((l==0x10) && (m!=0x10) && ( n!=0x10))   //兩位數
              {sum=m*10+n;}
             else if((l!=0x10) &&( m==0x10) &&( n==0x10))    //一位數
              {sum=l;}
             else if ((l==0x10) &&(m!=0x10) &&(n==0x10))   //一位數
              {sum=m;}
             R62256=sum;
             DAC0832=sum;
             measure();
          }
         }

        void SendByte(uchar ucSendData)
        {
         uchar i;
         for(i=8;i>0;i--)
         {
                CLK=0;//上升沿發送數據
                if(ucSendData&0x80)//如果是1
                 SID=1;
                else
                        SID=0;
                CLK=1;
                ucSendData=_crol_(ucSendData,1);//左移一位
         }
        }

       void Write_Command(uchar ucCommand) //按時序操作
         {
           uchar temp=0xf8;//write command
           delay10ms(1);
           CS=1;//使能
           SendByte(temp);//send command,the first byte
           temp=ucCommand&0xf0;
           SendByte(temp);//send the second byte
           temp=_crol_(ucCommand,4)&0xf0;
           SendByte(temp);//send the third byte
           CS=0;
         }

      void Write_Data(uchar ucData)
        {delay10ms(1);
         CS=1;
         ucBuffer=0xfa;//數據從MCU到LCD,所寫數據為顯示數據
         SendByte(ucBuffer);//the first byte
         ucBuffer=ucData&0xf0;//高四位
         SendByte(ucBuffer);//the second byte
         ucBuffer=_crol_(ucData,4)&0xf0;//低四位
         SendByte(ucBuffer);//the third byte
         CS=0;
        }

       void Lcd_Display(uchar data1)
        //  data1--字符編碼
       {   Write_Data(data1);

        }

       void Lcd_Initial()
       {
         Delay();//延時40MS
         Write_Command(0x30);//功能設定:8位數據,基本指令30
         Write_Command(0x04);//點設定:畫面右移
         Write_Command(0x0f);//lcd開,光標開
         Write_Command(0x01);//清屏
         Write_Command(0x02);//地址歸位

       }

      void  lcdmain(uchar qw, uchar bw, uchar sw, uchar gw)
       {
        Lcd_Initial();
        Write_Command(0x90);//設定DDRAM起始地址
        Lcd_Display(0xca);  //輸
        Lcd_Display(0xe4);
        Lcd_Display(0xb3);  //出
        Lcd_Display(0xf6);
        Lcd_Display(0xb5);  //電
        Lcd_Display(0xe7);
        Lcd_Display(0xc1);  //流
        Lcd_Display(0xf7);

        Write_Command(0X94);
        Lcd_Display(0x3a);// :
        Lcd_Display(qw);
        Lcd_Display(bw);
        Lcd_Display(sw);
        Lcd_Display(gw);

       }




     void int1_jp(void) interrupt 2 //處理外中斷1
                  {EA=0X00;
                   a=0;
                   }
     void  write_ad7705( unsigned char temp)
            {
             ACC=temp;
             TI=0;
             SBUF=ACC;
             while(!TI);
             }

     unsigned int ADRAD(void)
            {
               while(RI==0);
               RI=0;
               ACC=SBUF;
               I=ACC;
               while(RI==0);
               RI=0;
               ACC=SBUF;
               J=ACC;

               temp=I>>7;
               temp+=(I&0X40)>>5;
               temp+=(I&0X20)>>3;
               temp+=(I&0X10)>>1;
               temp+=(I&0X08)<<1;
               temp+=(I&0X04)<<3;
               temp+=(I&0X02)<<5;
               temp+=I<<7;
               I=temp;
               k=I;
               temp=J>>7;
               temp+=(J&0X40)>>5;
               temp+=(J&0X20)>>3;
               temp+=(J&0X10)>>1;
               temp+=(J&0X08)<<1;
               temp+=(J&0X04)<<3;
               temp+=(J&0X02)<<5;
               temp+=J<<7;
               J=temp;
               k=k<<8;
               k+=J;
                return k;

             }
     void  PROCESS(void)
        {
         dout=ADRAD();
         res=1000*2.06*dout/(65535.0*0.5*2*1.17);   //增益為1時的放大倍數為1.17*2
         THUN=(int)res/1000;
         HUN=(int)res%1000/100;
         TEN=(int)res%100/10;
         ONE=(int)res%10;
         qw=0X30+THUN;
         bw=0X30+HUN;
         sw=0X30+TEN;
         gw=0X30+ONE;
         lcdmain(qw,bw,sw,gw);
         d=1;
         while(1)
         {
           DM373=tab[THUN];
           WM373=0X01;
           WM373=0X00;
           DM373=tab[HUN];
           WM373=0X02;
           WM373=0X00;
           DM373=tab[TEN];
           WM373=0X04;
           WM373=0X00;
           DM373=tab[ONE];
           WM373=0X08;
           WM373=0X00;
           IE=0X81;
           IP=0X01;
           TCON=0X00;
           P1=0Xf0;
           if(d==0)
           { break;}
          }
        }


     void  measure (void)
            { IP=0X04;
              TCON=0X00;
              a=1;
              SCON=0X00;
              P1_6=0;
              delay10ms(1);
              P1_6=1;
              write_ad7705(0x04);     //選擇時鐘寄存器
              write_ad7705(0x30);     //送時鐘控制命令,晶振選2.4567MHZ,時鐘分頻
              write_ad7705(0x08);     //選擇SET UP寄存器
              write_ad7705(0x22);     //自校準,增益為1,單極性輸入,無緩沖模式
              IE=0X84;
              while(a);
              write_ad7705(0x1c);      //選擇數據寄存器,并讀數據
              SCON=0X10;               //允許接收數據
              PROCESS();
             }

       void clear(void)
       { l=0X10;m=0X10;n=0X10;
         sum=0;
         DAC0832=sum;
         measure();

        }

        void compare(void)
          { I=keyscan();
             switch(I)
             { case 0:
                 {if((l==0x10)&&(m==0x10)) {l=I;}
                  else if(m==0X10) {m=I;}
                  else if(n==0X10) {n=I;}
                 } break;

                case 1:
                 {if((l==0X10)&&(m==0x10) ) l=I;
                  else if(m==0X10) m=I;
                  else if(n==0X10) n=I;
                  } break;

                 case 2:
                 {
                  if((l==0X10)&&(m==0x10)) l=I;
                  else if(m==0X10)  m=I;
                  else if((n==0X10) && (l!=2) )   n=I;
                  } break;

                 case  3:
                 {
                  if(m==0X10  )  m=I;
                  else if(n==0X10)  n=I;
                  } break;


                case  4:
                 {
                  if(m==0X10)
                    { m=I;}
                  else if(n==0X10)  {n=I;}
                  } break;


                case  5:
                 {
                  if(m==0X10 )  m=I;
                  else if(n==0X10)  n=I;
                  }break;


                case  6:
                 {
                  if(m==0X10 )  m=I;
                  else if(n==0X10 )  n=I;
                  }break;

                case  7:
                  {
                   if(m==0X10 )  m=I;
                   else if(n==0X10 )  n=I;
                  }break;

                case  8:
                 {
                  if(m==0X10)  m=I;
                  else if(n==0X10)  n=I;
                  }break;


                case  9:
                 {
                  if(m==0X10 )  m=I;
                  else if(n==0X10)  n=I;
                  }break;

                case  10:
                 {increase();}break;
                case  11:
                 {reduce();}  break;
                case  12:
                 {enter();}   break;
                case  13:
                 {measure();} break;
                case  14:
                 {clear();}   break;
                default:break;
              }

            }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区成人在线观看| 国产精品一区二区在线观看网站| 在线观看国产精品网站| 91免费在线播放| 91老师片黄在线观看| 亚洲四区在线观看| 亚洲一区二区视频在线| 在线精品视频小说1| 亚洲超碰精品一区二区| 国产成人av影院| 6080日韩午夜伦伦午夜伦| 久久精品亚洲麻豆av一区二区| 玉足女爽爽91| 国产不卡高清在线观看视频| 欧美成人猛片aaaaaaa| 中文字幕在线视频一区| 中文字幕在线不卡视频| 色噜噜狠狠色综合中国| 国产精品色哟哟网站| 国产一区二区免费看| 制服丝袜亚洲色图| 国产一区二区影院| 亚洲三级在线免费观看| 欧美中文字幕亚洲一区二区va在线| 亚洲.国产.中文慕字在线| 欧美成人精品福利| 9l国产精品久久久久麻豆| 久久先锋影音av鲁色资源| 老汉av免费一区二区三区| 欧美色偷偷大香| 亚洲三级电影全部在线观看高清| 欧美亚洲动漫精品| 亚洲精品成人精品456| 欧美一级久久久| 日韩av电影一区| 91视频www| 美脚の诱脚舐め脚责91| 91精品国产麻豆国产自产在线| 亚洲网友自拍偷拍| 在线亚洲人成电影网站色www| 奇米777欧美一区二区| 91蝌蚪porny成人天涯| 美女脱光内衣内裤视频久久网站| 欧美精彩视频一区二区三区| 国产成人av福利| 亚洲国产一区在线观看| 亚洲国产精品ⅴa在线观看| 国产激情视频一区二区在线观看 | 亚洲欧美电影院| 色域天天综合网| 亚洲男人的天堂在线观看| 精品久久久久久久人人人人传媒| 94色蜜桃网一区二区三区| √…a在线天堂一区| 精品国产1区2区3区| 国产成a人亚洲精品| 青青草国产精品97视觉盛宴| 亚洲欧美视频在线观看| 26uuu久久天堂性欧美| 欧美日韩高清不卡| 日本不卡高清视频| 一区二区三区**美女毛片| 欧美区一区二区三区| 99re热视频这里只精品| 国产成人免费在线观看| 麻豆久久一区二区| 午夜精品一区在线观看| 日韩一区二区免费在线观看| 91国偷自产一区二区三区观看| 国产99精品视频| 国产一区二区三区美女| 激情综合色综合久久| 精品久久久久久无| 日韩欧美电影一二三| 国产精品自在欧美一区| 裸体歌舞表演一区二区| 日本三级亚洲精品| 日韩高清不卡一区二区| 偷拍一区二区三区| 午夜久久福利影院| 日本在线播放一区二区三区| 午夜精品久久久久久久久久久| 亚洲福利一区二区三区| 天天av天天翘天天综合网| 精品国产乱码久久久久久1区2区| 欧美二区三区91| 成人久久18免费网站麻豆| 婷婷激情综合网| 午夜在线成人av| 日韩精品成人一区二区在线| 日韩avvvv在线播放| 麻豆精品在线观看| 国产综合久久久久久久久久久久| 国产一区二区免费视频| 国产成人精品一区二| 懂色av一区二区夜夜嗨| 成人91在线观看| 极品少妇一区二区三区精品视频| 黄色资源网久久资源365| 精品一区二区三区视频在线观看| 精品一区二区三区视频| 丁香啪啪综合成人亚洲小说| 94-欧美-setu| 欧美视频一区在线| 欧美电视剧在线看免费| 国产日韩欧美麻豆| 亚洲欧美日韩精品久久久久| 亚洲国产va精品久久久不卡综合| 麻豆精品在线视频| 成人三级伦理片| 欧美亚洲愉拍一区二区| 91精品国产综合久久精品app| 亚洲精品在线三区| 最近日韩中文字幕| 免费精品99久久国产综合精品| 国产精品18久久久久| 一本色道久久综合亚洲aⅴ蜜桃| 91精品国产一区二区三区香蕉| 国产免费观看久久| 亚洲香肠在线观看| 国产一区二区调教| 色屁屁一区二区| 精品人在线二区三区| 国产精品久久99| 另类小说色综合网站| 97se亚洲国产综合自在线不卡| 欧美一级欧美一级在线播放| 国产精品视频一二三区| 午夜在线成人av| 成人毛片视频在线观看| 日韩网站在线看片你懂的| 最新中文字幕一区二区三区| 美女脱光内衣内裤视频久久网站| 91网站在线观看视频| 日韩欧美电影一二三| 一区二区三区免费| 粉嫩一区二区三区性色av| 欧美色图一区二区三区| 中文字幕在线观看不卡| 久久久久久久久久久久电影| 欧美一区二区三区视频免费播放 | 色悠悠亚洲一区二区| 在线观看精品一区| 精品成人a区在线观看| 夜夜亚洲天天久久| 不卡视频在线观看| 精品国产成人在线影院 | 中文字幕成人网| 爽好多水快深点欧美视频| 成+人+亚洲+综合天堂| 日韩欧美www| 亚洲成国产人片在线观看| 99久久久久久99| 久久亚洲捆绑美女| 日韩电影在线一区| 欧美午夜不卡在线观看免费| 自拍偷自拍亚洲精品播放| 国产精品99久久久| 欧美mv日韩mv| 日韩中文字幕1| 欧美日韩精品高清| 亚洲另类色综合网站| 99久久国产综合精品麻豆| 中文字幕乱码一区二区免费| 国产一区二区在线观看视频| 精品久久久久久久久久久久包黑料 | 一区二区成人在线| 一本大道av伊人久久综合| 国产精品免费aⅴ片在线观看| 国产乱码一区二区三区| 欧美tickling网站挠脚心| 裸体健美xxxx欧美裸体表演| 欧美一区二区二区| 蜜乳av一区二区| 精品美女一区二区三区| 激情综合网最新| 久久久精品免费免费| 国产精品66部| 国产精品乱码久久久久久| 成人激情免费电影网址| 亚洲色图一区二区三区| 在线精品视频免费播放| 日韩精品久久理论片| 精品对白一区国产伦| 国产老肥熟一区二区三区| 亚洲国产成人一区二区三区| 成人黄页毛片网站| 亚洲美女电影在线| 欧美日韩色综合| 麻豆一区二区三| 国产日韩欧美高清| 99国产麻豆精品| 亚洲成av人片一区二区三区| 日韩一区二区三区视频在线观看| 激情深爱一区二区| 国产精品超碰97尤物18| 欧美午夜精品一区二区蜜桃| 五月天激情综合网| 精品国产一区二区三区久久久蜜月| 国产精品资源在线看|