<wbr id="pbjqz"><pre id="pbjqz"><noscript id="pbjqz"></noscript></pre></wbr>

            <nav id="pbjqz"></nav>
              <wbr id="pbjqz"><legend id="pbjqz"><video id="pbjqz"></video></legend></wbr>

              PLC企業資訊
                風淋室單片機主程序匯總
                發布者:hzmy555  發布時間:2011-06-21 09:53:44

                風淋室單片機主程序匯總

                前面我們了解了風淋室軟件系統是如何設計的,現在就再深入一步,探討風淋室單片機的主程序。

                #include

                #include"isd1720.h"

                #define uint unsigned int

                #define uchar unsigned char

                 

                sbit   dula=P0;

                sbit   a=P2^6;

                sbit   b=P2^7;

                sbit   fs=P2^5;//風扇

                sbit   mc=P2^0;//脈沖輸出

                sbit   fx=P2^1;//電機方向

                sbit   key=P3^5;//按鍵

                sbit   tc=P3^6; //探測

                 

                uchar  shi,ge;

                uchar  time=15,number=3;

                uint   t;

                 

                uchar code table[]={

                       0x3f,0x06,0x5b,0x4f,

                       0x66,0x6d,0x7d,0x07,

                       0x7f,0x6f,0x77,0x7c,

                       0x39,0x5e,0x79,0x71};

                 

                //風淋室開關門子程序

                void men(void)

                {

                    uchar num;

                       for(num=0;num<60;num++)

                         {

                                fx=0;

                               mc=0;

                                delay(20);

                             mc=1;

                                delay(20);

                        }

                        delay(3000);

                        for(num=0;num<60;num++)

                         {

                                fx=1;

                               mc=0;

                                delay(20);

                             mc=1;

                                delay(20);

                        }

                }

                //顯示子程序

                void display(uchar date)

                {

                     shi = date/10;

                       ge  = date%10;  

                 

                       b=1;a=0;

                       P0=table[shi];

                       delay(1);

                 

                       a=1;b=0;

                       P0=table[ge];

                       delay(1);

                }

                //定時器0中斷初始化程序

                void timer0_init()

                {    

                       a=0;

                       b=0;

                       P0=0x00;

                       TMOD=0x01;

                       TH0=(65536-2000)/256;

                       TL0=(65536-2000)%256;

                       EA=1;

                       ET0=1;

                       //TR0=1;

                }

                //定時器0中斷服務程序

                void timer0() interrupt 1

                {

                       TH0=(65536-2000)/256;

                       TL0=(65536-2000)%256;

                       shi = time/10;

                       ge  = time%10;

                       display(time);

                       t++;

                       if(t>500)

                       {

                              time--;

                              t=0;

                              if(time==0)

                              {

                                     TR0=0;

                              }

                       }

                }

                //主函數

                void main()

                {    

                    key = 0;

                       tc = 1;

                       fs=0;

                       P2=0;

                       P0=0;

                    Cpu_Init(); // 系統初始化

                       ISD_Init(); // ISD1700 初始化

                       timer0_init();//初始化子程序

                       while(1)

                       {

                        while(!key);

                           men();//開關門

                           delay(3000);

                              number=3;

                              while(tc&&number)

                              {

                                     zhuanhuan(2); //請站在感應區內

                                     number--;

                                     delay(2000);

                              }

                              if(number==0){goto esc;}

                              TR0 = 1;

                              fs=1;

                              while(TR0);

                              P2=0;

                              P0=0;

                              fs=0;

                              zhuanhuan(1);//吹淋完畢,請從后門出去

                              delay(2000);

                           men();//開關門

                           delay(3000);

                       esc:;                            

                       }

                }

                 

                文章來源:http://www.klcfilter.com/ TEL:蘇小姐-13570963006 黃生-13570963007

                版權聲明PLC信息網轉載作品均注明出處,本網未注明出處和轉載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內容的真實性。如轉載作品侵犯作者署名權,或有其他諸如版權、肖像權、知識產權等方面的傷害,并非本網故意為之,在接到相關權利人通知后將立即加以更正。聯系電話:0571-87774297。
              0571-87774297  
              免费人成激情视频在线看