久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)制作媚眼激活儀的c代碼

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2009年09月01日   【字體:

這是一個(gè)完整的用51系列單片機(jī)做的媚眼激活儀的代碼,有這方面需要的朋友可以看看,代碼已經(jīng)測(cè)試成功。
/*
項(xiàng)目名稱:?jiǎn)纹瑱C(jī)媚眼激活儀器
相關(guān)知識(shí)點(diǎn):?jiǎn)纹瑱C(jī)驅(qū)動(dòng)發(fā)熱器件,數(shù)碼管顯示,按鍵操作等。
程序開(kāi)發(fā):http://www.zg4o1577.cn單片機(jī)教程網(wǎng)。
*/
#include < reg51.H>
#define uint unsigned int
#define uchar unsigned char
#define duan P0  //將P1口段顯示定義為duan標(biāo)號(hào)
#define keyio P3 //將P3口設(shè)為按鍵檢測(cè)的端口

uchar time,guannum,guantime1,guantime2;//time為分鐘值,光顯示時(shí)間值
uint b;     //50MS為1次,則1分鐘為1200次即可
bit xsd,onandoff;  //小數(shù)點(diǎn)閃爍位變量,開(kāi)關(guān)機(jī)變量標(biāo)志位

sbit xuanled=P2^3;
sbit guanled=P2^5;
sbit rfled=P2^7;//三個(gè)指示燈位控制
sbit xsdbit=P0^6;// 小數(shù)點(diǎn)實(shí)際硬件輸出引腳定義
sbit gewela=P2^0;//個(gè)位數(shù)碼管位控制
sbit shiwela=P2^1;//十位數(shù)碼管鎖定位控制
sbit guanout=P1^0;//光譜輸出
sbit rfout=P1^1;    //RF發(fā)熱頭輸驅(qū)動(dòng)
sbit xuanout=P1^2;  //旋磁輸出
sbit fmqout=P1^3;


uchar code tab[]={0x48,0xee,0x54,0x64,0xe2,0x61,0x41,0xec,0x40,0x60,0xf7};//數(shù)碼管段顯示編碼0~9,待編寫
void chushi(void);   //進(jìn)入主函數(shù)時(shí)初始化
void key(void);      //按鍵檢測(cè)
void display(uchar time);//數(shù)碼管顯示處理程序
void chushi1(void);  //進(jìn)行大循環(huán)函數(shù)初始化處理

void delay(uchar num)//延時(shí)模塊程序
{
  uchar c,d;
   for(c=num;c>0;c--)
     for(d=40;d>0;d--);
}


void main()           //主函數(shù)程序體
{
  uchar a;
  chushi();
 
  while(1)
   {
     chushi1();
     key();      //按鍵檢測(cè)
  if(keyio!=0xff)
  fmqout=0;
  else fmqout=1;
  if(onandoff!=0)
   {
     for(a=100;a>0;a--)
     {
      duan=tab[10];  //開(kāi)段顯示,顯示中間筆段
      gewela=0;
      shiwela=0;
      delay(10);
      gewela=1;
      shiwela=1;
     }
    
           while(onandoff!=0)
         {
           display(time);
           key();
        if(time==0&&b>=1000)
       fmqout=xsd;
        else if(keyio==0xff)
         fmqout=1;
          else fmqout=0;
    
          }
      for(a=200;a>0;a--)
      display(time);
   }
   }
   
}

void time0() interrupt 1
{
  TH0=0x3c;
  TL0=0xb0;
  b++;
  if(b==1200)
   {
   b=0;
   if(time!=0)
    time--;
   else onandoff=0;   //置零標(biāo)志位
  }

     if(b%10==0)
  xsd=~xsd;        //小數(shù)點(diǎn)的位變量按1S的周期進(jìn)行變化
  if(guannum==2||guannum==3)
   {
    guantime2--;
     if(guantime2==0)
      {
       guantime2=guantime1;
       guanout=~guanout;
      }
   }
}

void chushi(void) //進(jìn)主MAIN函數(shù)體時(shí)直接初始化
{
  TMOD=0x01;  //定時(shí)器定時(shí)模式
  TH0=0x3c;
  TL0=0xb0;
  ET0=1;
  EA=1;
  TR0=1;
  xuanled=1;
  guanled=1;
  rfled=1;   
}

void chushi1(void) //對(duì)大循環(huán)的初始化
{
 time=30;    //開(kāi)機(jī)時(shí)時(shí)間初值為30分鐘

  guanout=0;   //光譜輸出為低電平
 rfout=0;      //RF發(fā)熱頭輸驅(qū)動(dòng)為低電平
 xuanout=0;    //旋磁輸出低電平
 guannum=0;   //待機(jī)時(shí),光譜為0狀態(tài)

  xuanled=1;
  guanled=1;
  rfled=1;   

    
 duan=tab[10];  //開(kāi)段顯示,顯示中間筆段
 gewela=0;
 shiwela=0;
 delay(2);
 gewela=1;
 shiwela=1;
}


void key(void)  //按鍵檢測(cè)模塊
{
 uchar a,num1;
 keyio=0xff;
 if(keyio!=0xff)
  {
 fmqout=0;
   if(onandoff!=0)
    {
     for(a=100;a>0;a--)
     display(time);
    }
   else
    {  for(a=20;a>0;a--)
        {
         duan=tab[10];  //開(kāi)段顯示,顯示中間筆段
        gewela=0;
        shiwela=0;
        delay(2);
        gewela=1;
        shiwela=1;
        }
    }
   if(keyio!=0xff)
    {
     num1=keyio;
     switch(num1)
      {
       case 0xfe: onandoff=~onandoff;       //開(kāi)關(guān)機(jī)
          break;

       case 0xfd: b=0;
          if((onandoff!=0)&&(time!=99)) //時(shí)間加
           time++;
          break;

       case 0xfb: b=0;
          if((onandoff!=0)&&(time!=0))  //時(shí)間減
           time--;
          break;
      
       case 0xf7: if(onandoff!=0)
           {
            xuanout=~xuanout;         //旋磁轉(zhuǎn)動(dòng)變量變化
            if(xuanout!=0)
             xuanled=0;
            else xuanled=1;
           }
          break;

       case 0xef: if(onandoff!=0)      //光譜輸出變量變化
           {
            guannum++;
            if(guannum==4)
            guannum=0;

            if(guannum!=0)
             guanled=0;
            else guanled=1;
          
   if(guannum==1)
    guanout=1;
     else if(guannum==2)
      guantime1=guantime2=15;
       else if(guannum==3)
        guantime1=guantime2=8;
         else guanout=0;

   }
          break;
       case 0xdf: if(onandoff!=0)       //RF發(fā)熱變量變化
           {
            rfout=~rfout;
            if(rfout!=0)
             rfled=0;
             else rfled=1;
           }
          break;
       default:break;


      }    
    }
   
  }
}


void display(uchar min)//數(shù)碼管顯示模塊
{
 uchar ge,shi;
 shi=min/10;
 ge=min%10;

 duan=tab[shi];
 shiwela=0;
 delay(5);
 shiwela=1;

 duan=tab[ge];
 xsdbit=xsd;
 gewela=0;
 delay(5);
 gewela=1;  
}
 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 91麻豆久久久 | 欧美bondage紧缚视频 | 91视频在线观看 | 精品国产精品三级精品av网址 | 国产美女自拍视频 | 三级视频在线观看电影 | 成人九区| 国产精品视频在线观看 | 欧美成视频 | 性做久久久久久免费观看欧美 | 国产成人精品一区二区三区网站观看 | 久久91视频| 美女爽到呻吟久久久久 | 人人玩人人添人人澡欧美 | 丝袜美腿一区二区三区动态图 | 国产精品久久久久久久久久久久冷 | 97精品国产97久久久久久免费 | 久久精品毛片 | 国产精品久久国产精品久久 | 亚洲乱码国产乱码精品精98午夜 | 高清av在线 | 成人三级电影 | 亚洲第一成人影院 | 亚洲av毛片 | 免费a大片 | 亚洲一区二区三区在线视频 | 中文字幕日韩一区 | 黄色毛片黄色毛片 | 久久久一区二区 | 日本黄色影片在线观看 | 国产亚洲精品美女久久久久久久久久 | 在线成人一区 | 国产中文字幕亚洲 | 亚洲国产欧美91 | 久久99深爱久久99精品 | 国产一区二区三区色淫影院 | 亚洲免费一区二区 | 91精品国产乱码麻豆白嫩 | 亚洲日韩第一页 | 久久精品在线免费视频 | 伊人春色在线观看 |