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

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

?? led.c

?? 基于STC12C5410AD單片機的溫度控制顯示程序,帶控制標志,數碼管閃爍和快閃慢閃,連加連減,自動閃爍停止手動閃爍停止功能
?? C
字號:
/****************************************
*數碼管顯示子程序 led.c*
*采用動態掃描方式顯示,P3端口為數據口和控制口復用口*
說明:采用連續刷新顯示,刷新控制可放在定時器中進行()
如果相應位的閃爍標志置位并且定時時間到則顯示緩存中置不顯示代碼,在此之前應先暫存原顯存中的數
以便顯示的時候顯示原數
****************************************/
#include<msp430x44x.h>

/*************************定義全局變量***************************/
unsigned char Led_Disp_Data=0x00,      //LED顯示緩沖區
              Led_Disp_Bit=0x00,       //led顯示位選
              Dip=0x01,       //小數點(0x00第一位后顯示小數點,0x01第二位后顯示小數點,當Dip>LED_IN_USE不顯示小數點)
              Nwei_Show=0x00,          //刷新控制寄存器
              Flash_DefrFlag=0x00,     //化霜閃爍標志(二個狀態:不閃0x00、閃0x02,)
              Flash_CoolFlag=0x00,     //制冷閃爍標志(三個狀態:不閃0x00、閃0x02,慢閃0x03)
              Flash_ShowFlag=0x00,     //顯示閃爍標志(二個狀態:不閃0x00、閃0x02,)
              Led_Flash_Flag=0x00,      //led閃爍標志位
              Led_Flash_Flag1=0x00,    //led閃爍標志位1(制冷慢閃)
              zhishi_flag=0xfe;        //控制標志寄存器(指示燈的開關)
unsigned char led_show_buf[LED_IN_USE]={0x0e,0x4,0x23,0x43,0x23,0x21};      //顯示緩沖區,對應每一位


/****************************************************************
名稱:init_led
描述:led初始化子程序
***************************************************************/
void init_led(void)
{
  P3DIR|=0xff;                //P3口為輸出方向
  P3OUT|=0xff;                //P3口輸出高電平
  P4DIR|=WEI_CTRL;
  P4DIR|=DAT_CTRL;            //控制口為輸出方向
  P4OUT|=(DAT_CTRL+WEI_CTRL); //控制口輸出高電平
  //led_ctrl=0x00;
  zhishi_flag=0xff;
  zhishi_flag&=(~COOL_FLAG);     //顯示制冷標志
  //Flash_ShowFlag=0x02;
  //Flash_DefrFlag=0x02;
  //Flash_SetFlag=0x02;
  Flash_CoolFlag=0x03;
  //Flash_ShowFlag=0x02;
}
/**********************************************************
名稱:show_delay()
***********************************************************/
void show_delay(void)
{
  unsigned int i=300;
  while(i)
   {i--;}
}
/************************************************************
名稱:led_display
描述:進行硬件操作,顯示數據
說明:對更新好的全局變量Led_Disp_Data和Led_Disp_Bit進行顯示
注意:顯示新一位數據前應先熄滅前一位
*************************************************************/
void led_display(void)
{ P3OUT=0x00;               //顯示位送入端口(此為不顯示)
  P4OUT|=WEI_CTRL;          //打開控制鎖存
  P4OUT&=~WEI_CTRL;         //打開控制鎖存,控制某一位的顯示

  P3OUT=Led_Disp_Data;      //顯示數據送入端口
  P4OUT|=DAT_CTRL;          //打開數據鎖存
  P4OUT&=~DAT_CTRL;         //關閉數據鎖存,將數據鎖存

  P3OUT=Led_Disp_Bit;       //顯示位送入端口
  P4OUT|=WEI_CTRL;          //打開控制鎖存
  P4OUT&=~WEI_CTRL;         //打開控制鎖存,控制某一位的顯示
  show_delay();
}
/*********************************************************
名稱:take_data
描述:取字符代碼子程序,從字庫中取出字符代碼
入口參數:i為顯示緩存中的第某位數據
**********************************************************/
void take_data(unsigned char i)
{   register unsigned char j;
    if(i!=LED_IN_USE-1)              //判斷是否為最高指示位
    {
      j=led_show_buf[i];             //取顯示緩存的某位數據
      if(i==Dip)                     //判斷小數點的位置
        Led_Disp_Data=led_table1[j]; //從led字符表中查找對應的字符編碼(帶小數點的編碼)
      else
        Led_Disp_Data=led_table[j];  //從led字符表中查找對應的字符編碼
    }
    else
      Led_Disp_Data=zhishi_flag;      //顯示指示位(包括負號,設置標志,化霜標志,制冷標志)
}
/***********************************************
名稱:led_chang
描述:對led顯示的數據進行更新
說明:對全局變量Led_Disp_Data和Led_Disp_Bit進行操作
以更新顯示數據和顯示位
入口參數:char i_Show
出口參數:無
*************************************************/
void led_chang(unsigned char i_Show)
{
  switch(i_Show)
  {
  case 0x00:
    Led_Disp_Bit=WEI1_SEL;  //右邊第一位顯示
    take_data(0x00);           //取顯示緩沖區的第一個字節數據
    break;
  case 0x01:
    Led_Disp_Bit=WEI2_SEL;  //右邊第二位顯示
    take_data(0x01);           //取顯示緩沖區的第二個字節數據
    break;
  case 0x02:
    Led_Disp_Bit=WEI3_SEL;  //右邊第三位顯示
    take_data(0x02);           //取顯示緩沖區的第三個字節數據
    break;
  case 0x03:
    Led_Disp_Bit=WEI4_SEL;  //右邊第四位顯示
    take_data(0x03);           //取顯示緩沖區的第四個字節數據
    break;
  case 0x04:
    Led_Disp_Bit=WEI5_SEL;  //右邊第五位顯示
    take_data(0x04);           //取顯示緩沖區的第五個字節數據
    break;
  case 0x05:
    Led_Disp_Bit=WEI6_SEL;  //右邊第六位顯示
    take_data(0x05);           //取顯示緩沖區的第六個字節數據
    break;
  default:
    break;
  }
}
/***********************************************************************
名稱:led_blink
描述:led閃爍子程序,根據標志位確定三個指示燈或顯示值的閃爍
說明:如果相應的標志置位并且定時時間到則關閉顯示
注意:此為顯示緩存的操作,為了不破壞原來的顯示數據,應在調用此
子程序前將相應的顯示緩存暫存
*************************************************************************/
void led_blink(void)
{
  if(Flash_DefrFlag==QUICK_FLASH)           //判斷"化霜"閃爍標志
  {
    if(Led_Flash_Flag==0x01)         //如果閃爍定時到
      zhishi_flag|=DEFR_GLAG;        //指示緩存中"化霜標志"所對應的控制位置1(即熄滅)
  }

  if(Flash_CoolFlag==QUICK_FLASH)    //判斷"制冷"快閃爍標志
  {
    if(Led_Flash_Flag==0x01)         //如果閃爍定時到
      zhishi_flag|=COOL_FLAG;        //指示緩存中"制冷標志"所對應的控制位置1(即熄滅)
  }
  if(Flash_CoolFlag==SLOW_FLASH)     //判斷"制冷"慢閃爍標志
  {
    if(Led_Flash_Flag1==0x01)
      zhishi_flag|=COOL_FLAG;        //指示緩存中"設置標志"所對應的控制位置1(即熄滅)
  }

  if(Flash_ShowFlag==QUICK_FLASH)    //判斷"顯示"閃爍標志
  {
    if(Led_Flash_Flag==0x01)
    {
      led_show_buf[0]=0x0c;          //字庫中0x12所對應的字符碼(不顯示)
      led_show_buf[1]=0x0c;          //(如果要擴展到別的單片機
      led_show_buf[2]=0x0c;          //對應三位閃爍,如果只閃爍兩個可去掉一行)
    }
  }
}
/************************************************************
名稱:led_refresh
描述:led刷新子程序,對led各顯示位刷新一次
說明:局部變量i控制對某位的刷新顯示
**************************************************************/
void led_refresh(void)
{
  unsigned char k,m,zancun[LED_IN_USE-1];
    for(k=0;k<LED_IN_USE-1;k++)
       zancun[k]=led_show_buf[k];    //將顯示患存的數據暫存,防止在閃爍的過程中被破壞
    m=zhishi_flag;                   //暫存指示標志

    led_blink();                     //根據標志位和時間標志將對應的位進行打開或關閉
    led_chang(Nwei_Show);            //對要顯示的位和數據進行刷新
    led_display();                   //顯示

    for(k=0;k<LED_IN_USE-1;k++)
       led_show_buf[k]=zancun[k];    //將顯示緩存的數據恢復
    zhishi_flag=m;                   //恢復指示標志

    Nwei_Show++;
    if(Nwei_Show==LED_IN_USE)
    Nwei_Show=0;
}

/*********************************************************************
名稱:led_refresh1
描述:對led刷新顯示
說明:由于硬件的原因,導致子程序內部的局部變量i在(i<<led_ctrl)的過程中
led所顯示的位置跟i指示的不一致,實際的對應是:0x01:WEI3_SEL,0x02:WEI2_SEL
0x04:WEI1_SEL,0x08:WEI6_SEL,0x10:WEI5_SEL,0x20:WEI4_SEL,所以在實際的向顯示
緩存放入數據時可按此一一對應
*********************************************************************/
/*
void led_refresh1(void)
{
  unsigned i=0x01;
  P3OUT=0x00;                                //顯示位送入端口(即無顯示)
  P4OUT|=WEI_CTRL;                           //打開控制鎖存
  P4OUT&=~WEI_CTRL;                          //先將顯示熄滅

  P3OUT=led_table[led_show_buf[led_ctrl]];   // 設置顯示值
  P4OUT|=DAT_CTRL;                           //打開數據鎖存
  P4OUT&=~DAT_CTRL;                          //關閉數據鎖存,將數據鎖存

  P3OUT=(i<<led_ctrl);                        //設置哪只led顯示
  P4OUT|=WEI_CTRL;                           //打開控制鎖存
  P4OUT&=~WEI_CTRL;                          //打開控制鎖存,控制某一位的顯示
  led_ctrl=(led_ctrl+1)%LED_IN_USE;          //設置下一個要顯示的LED
}
*/
/**************************************************************
名稱:dec_showbuf
描述:將整數i轉換為十進制形式放入led顯示緩沖區
入口參數:i,待顯示處理的數據
說明:此轉換十進制子程序只能處理三位有效數字,將其放入顯示緩存
      然后由顯示程序顯示內容
***************************************************************/
void dec_showbuf(int i)
{
 if(i>=0)
  {
    led_show_buf[LED_IN_USE-4]=i%10;             //十分位
    led_show_buf[LED_IN_USE-3]=(i%100)/10;       //個位
    if(i>=100)                                   //如果有十分位則處理十分位
      led_show_buf[LED_IN_USE-2]=(i%1000)/100;   //十位
    else
      led_show_buf[LED_IN_USE-2]=0xff;           //沒有十分位,則此位顯示空白
    zhishi_flag|=MINUS_FLAG;                     //取消'-'負號標志
  }
  else
 {
    i=-i;
    led_show_buf[LED_IN_USE-4]=i%10;             //十分位
    led_show_buf[LED_IN_USE-3]=(i%100)/10;       //個位
    if(i>=100)
      led_show_buf[LED_IN_USE-2]=(i%1000)/100;   //十位
    else
        led_show_buf[LED_IN_USE-2]=0xff;
    zhishi_flag&=~MINUS_FLAG;                    //'-'標志
  }
  Dip=0x01;                                      //第二位數字后顯示小數點
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲一二三区| 欧美色视频一区| 国产性做久久久久久| 精品一区二区三区av| 国产亚洲一区二区三区在线观看| 国产不卡视频在线观看| ●精品国产综合乱码久久久久| 不卡的av电影在线观看| 亚洲人成人一区二区在线观看 | 北岛玲一区二区三区四区| 亚洲视频综合在线| 欧美色网一区二区| 久久草av在线| 国产精品视频免费看| 欧美在线视频不卡| 美女免费视频一区| 国产精品视频一二三区| 欧美亚洲国产一卡| 国产又粗又猛又爽又黄91精品| 国产精品污www在线观看| 欧美亚洲一区二区在线观看| 蜜臀精品久久久久久蜜臀 | 国产精品伦一区| 在线视频国产一区| 美女视频一区在线观看| 欧美国产精品一区二区三区| 欧美日韩中文字幕一区| 久久99国产乱子伦精品免费| 亚洲特黄一级片| 日韩欧美一区二区免费| 波多野结衣中文一区| 日日骚欧美日韩| 国产精品区一区二区三区| 欧美日韩久久久一区| 国产精品88av| 日韩av不卡在线观看| 国产精品久久网站| 日韩亚洲欧美中文三级| 99久久久久免费精品国产 | 欧美日韩成人综合天天影院| 国产不卡一区视频| 免费看日韩精品| 亚洲欧美日韩电影| 国产日韩av一区| 欧美一区二区三区影视| 色婷婷综合五月| 懂色av一区二区夜夜嗨| 日本不卡视频一二三区| 亚洲综合激情网| 欧美国产综合色视频| 日韩欧美一区二区三区在线| 在线亚洲免费视频| 97se亚洲国产综合自在线| 国产真实乱子伦精品视频| 视频一区中文字幕国产| 成人欧美一区二区三区白人| 久久久久久久综合日本| 欧美一区二区在线免费观看| 91成人看片片| 色综合 综合色| 国产成人精品亚洲日本在线桃色 | 国产精品一区二区黑丝| 人人狠狠综合久久亚洲| 香蕉成人啪国产精品视频综合网| 中文字幕一区二区日韩精品绯色| 久久精品一二三| 久久网这里都是精品| 日韩一级大片在线观看| 欧美精品精品一区| 欧美老肥妇做.爰bbww视频| 在线观看不卡视频| 在线视频观看一区| 在线中文字幕一区二区| 91国偷自产一区二区使用方法| 成人高清视频在线| eeuss鲁片一区二区三区在线看| 成人免费看的视频| 高清不卡在线观看| 成人av免费网站| 99国产精品一区| 色素色在线综合| 欧美日韩国产首页| 欧美精品日韩一本| 日韩你懂的电影在线观看| 日韩午夜在线播放| 精品国精品国产| 国产欧美日韩精品在线| 国产精品伦理一区二区| 中文字幕人成不卡一区| 日韩毛片精品高清免费| 一区二区三区电影在线播| 亚洲成人激情综合网| 日韩精品一区第一页| 日韩1区2区日韩1区2区| 美女视频黄久久| 国产永久精品大片wwwapp| 丁香五精品蜜臀久久久久99网站 | 日精品一区二区三区| 美女网站色91| 成人午夜免费视频| 蜜臀av性久久久久蜜臀aⅴ四虎 | 色婷婷久久综合| 欧美视频在线一区| 日韩美女在线视频| 国产精品二三区| 日日欢夜夜爽一区| 国产精品一区二区x88av| 色网综合在线观看| 91精品国产高清一区二区三区| 久久久亚洲综合| 一区二区三区成人| 韩国欧美国产一区| 色综合天天综合狠狠| 欧美一区二区福利在线| 国产精品国产三级国产a| 亚洲成人综合在线| 国产传媒一区在线| 欧美无乱码久久久免费午夜一区 | 欧美在线观看视频在线| 精品福利av导航| 亚洲日韩欧美一区二区在线| 成人黄色av网站在线| 欧美视频一二三区| 久久精品人人做人人爽人人| 亚洲一区二区影院| 激情综合五月天| 精品一区精品二区高清| 粉嫩蜜臀av国产精品网站| 91精品国产欧美一区二区18| 在线播放国产精品二区一二区四区| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲男人的天堂一区二区| 日本午夜一本久久久综合| 色综合天天做天天爱| 日韩三级视频中文字幕| 亚洲高清免费观看高清完整版在线观看| 日韩av不卡一区二区| 色婷婷综合激情| 精品福利一二区| 奇米一区二区三区| 国产91丝袜在线播放九色| 91精品国产综合久久香蕉的特点 | 国产精品理伦片| 免费在线一区观看| 成人午夜电影网站| 2023国产一二三区日本精品2022| 亚洲一区二区精品久久av| 国产综合久久久久影院| 制服丝袜国产精品| 综合在线观看色| 成人精品一区二区三区中文字幕| 91麻豆精品国产91久久久资源速度| 亚洲欧洲一区二区三区| 久久精品国产精品亚洲精品| 制服丝袜中文字幕一区| 国产精品免费人成网站| 高清日韩电视剧大全免费| 26uuu国产电影一区二区| 午夜精品一区在线观看| 欧美性极品少妇| 亚洲欧美中日韩| 波多野结衣在线一区| 久久这里只有精品视频网| 精品一区二区三区香蕉蜜桃| 69p69国产精品| 五月天久久比比资源色| 欧美少妇性性性| 亚洲激情综合网| 日本福利一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 国产乱码精品一区二区三区忘忧草 | 奇米777欧美一区二区| 欧美一区二区成人| 亚洲最新视频在线播放| 欧美优质美女网站| 一级日本不卡的影视| 99精品视频在线观看免费| 亚洲美女屁股眼交| 99re视频这里只有精品| 亚洲另类在线制服丝袜| 欧美亚一区二区| 洋洋av久久久久久久一区| 在线播放一区二区三区| 天天色天天操综合| 欧美xxx久久| 日本亚洲电影天堂| 欧美电视剧免费观看| 国产成人午夜视频| 国产亚洲欧洲997久久综合 | 亚洲女人小视频在线观看| 国产成人亚洲综合色影视| 国产香蕉久久精品综合网| av激情综合网| 一区二区三区四区不卡视频| 欧美精品1区2区| 美女视频黄免费的久久 | 成人91在线观看| 国产精品久久免费看| 欧美影片第一页| 激情都市一区二区|