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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2167|回復: 2
打印 上一主題 下一主題
收起左側

單片機手電程序(長按開關機,短按換擋)

[復制鏈接]
跳轉到指定樓層
樓主
ID:91521 發表于 2022-1-23 15:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include <tiny13a.h>
  2. #include <delay.h>

  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. #define key PINB.1

  6. //#define LED PORTB.0

  7. uchar key_code = 0;
  8. uchar time_counter = 0;

  9. bit change_flag = 0;

  10. void key_scan(void)
  11. {
  12.     if(key)
  13.     {                                                
  14.         if((time_counter > 3) && (time_counter < 100))//短按
  15.         {
  16.             if(change_flag)
  17.             {
  18.                 key_code++;
  19.                 if(key_code == 5) key_code = 1;
  20.             }
  21.         }
  22.         time_counter = 0;
  23.     }   
  24.     else   
  25.     {  
  26.         time_counter++;
  27.         delay_ms(10);  
  28.         if(time_counter == 100)//長按
  29.         {
  30.             if (key_code != 0)        //如果狀態不處于關機狀態,則執行關機
  31.             {
  32.                 key_code = 0;
  33.                 change_flag = 0;
  34.             }
  35.             else
  36.             {
  37.                 key_code = 1;         //如果已經在關機狀態則執行開機
  38.                 change_flag = 1;
  39.             }
  40.         }
  41.         if(time_counter > 100)
  42.             time_counter = 101;   
  43.     }
  44. }

  45. void main(void)
  46. {
  47. // Input/Output Ports initialization
  48. // Port B initialization
  49. // Function: Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=Out
  50. DDRB=(0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (1<<DDB0);
  51. // State: Bit5=T Bit4=T Bit3=T Bit2=T Bit1=P Bit0=0
  52. PORTB=(0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (1<<PORTB1) | (1<<PORTB0);

  53. TCCR0A=0x03;
  54. TCCR0B=0x01;

  55.     while (1)
  56.     {
  57.         key_scan();

  58.         switch (key_code)
  59.         {
  60.             case 0x00:              //初始關機狀態
  61.                 TCCR0A=0x03;
  62.                 PORTB.0 = 1;
  63.                 break;
  64.             case 0x01:
  65.                 TCCR0A=0x83;
  66.                 OCR0A = 0x19;       //10%亮度
  67.                 break;
  68.             case 0x02:
  69.                 OCR0A = 0x40;       //25%亮度
  70.                 break;
  71.             case 0x03:
  72.                 OCR0A = 0x80;       //50%亮度
  73.                 break;
  74.             case 0x04:
  75.                 OCR0A = 0xc0;       //75%亮度
  76.                 break;                  
  77.             default:
  78.                 break;
  79.         }   
  80.     }
  81. }
復制代碼


評分

參與人數 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:229641 發表于 2022-1-23 17:29 來自手機 | 只看該作者
這是哪家的單片機芯片?
回復

使用道具 舉報

板凳
ID:91521 發表于 2022-1-24 18:45 | 只看該作者
AVR單片機,AT tiny13a
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品综合一区二区 | 国产精品一区二区欧美黑人喷潮水 | 中文字幕在线精品 | 欧美在线色| 成人精品福利 | 国产极品粉嫩美女呻吟在线看人 | 国产精品永久在线观看 | 99reav| 国产精品一区二区福利视频 | 精品一区二区久久久久久久网站 | 中文在线一区二区 | 中文字幕免费观看 | 久久伊人在 | 欧美视频区| 久久9999久久 | 国产精品一区二区在线 | 中文一区| 欧美成年网站 | www.99热| 在线日韩不卡 | 亚洲国产精品一区二区www | aaa在线观看| 伊人春色成人网 | 国产污视频在线 | 亚洲精品欧美一区二区三区 | 羞羞视频网站在线观看 | 亚欧精品一区 | av免费观看在线 | 国产精品九九九 | 不卡视频一区二区三区 | 久久久久久久91 | 性色视频 | 国产中文字幕在线观看 | www.一区二区三区 | 九九精品网 | 久久人爽 | www.日本精品 | 国产精品96久久久久久 | 欧美精品久久久久 | 伊人伊人伊人 | 91精品国产色综合久久 |