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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2248|回復: 2
收起左側

某人需求的 用單片機來制作充電樁改造的程序

[復制鏈接]
ID:276663 發表于 2021-12-29 17:53 | 顯示全部樓層 |閱讀模式
本帖最后由 IdeaMing 于 2021-12-30 09:26 編輯

應該很簡單,51單片機連接8個按鍵,io口大佬看心情寫,高低電平隨意。
這8個按鍵分別控制7個io口輸出,io口隨意,高低電平隨意。
要求就是1-7號按鍵分別控制1-7號io口輸出,按一下按鍵延時6小時后恢復,在這6小時期間再次按下重新計時,7路互不干擾,一一對應。
8號按鍵用來中斷所有io口輸出。
用來制作充電樁改造的。
我來回答

單片機源程序如下:
  1. /** 使用stc15w408as單片機 sop20腳
  2.     P3接按鍵,可以接8個,P1口控制繼電器,低電平是關閉
  3.     關閉按鍵 接在復位腳 哈哈哈   */
  4. #include "stc15.h"
  5. #define BASE6HOUR (6*60*60*1000)///6小時倒計時
  6. unsigned long CountTab[8] = {0,0,0,0,0,0,0,0};//倒計時
  7. unsigned short time_ms;

  8. void Delay(unsigned short t)
  9. {
  10.   time_ms = t;
  11.   while(time_ms);
  12. }

  13. void Timer0Init(void)                //1毫秒@11.0592MHz
  14. {
  15.         AUXR |= 0x80;                //定時器時鐘1T模式
  16.         TMOD &= 0xF0;                //設置定時器模式
  17.         TL0 = 0xCD;                //設置定時初始值
  18.         TH0 = 0xD4;                //設置定時初始值
  19.         TF0 = 0;                //清除TF0標志
  20.         TR0 = 1;                //定時器0開始計時
  21. }

  22. void IO_Init(void)
  23. {
  24.   P0M1 = 0x00;
  25.   P0M0 = 0xff;
  26.   P3M0 = 0x00;
  27.   P3M1 = 0x00;
  28.   P1 = 0;
  29. }

  30. void main(void)
  31. {  
  32.   unsigned char res;
  33.   unsigned char key;
  34.   unsigned char i;
  35.   
  36.   Timer0Init();
  37.   IO_Init();
  38.   EA = 1;

  39.   while(1)
  40.   {
  41.     res = P3;
  42.     if(res != 0XFF)
  43.     {
  44.       key = res;
  45.       Delay(20);//消抖
  46.       key = P3;
  47.       if(res == key)
  48.       {      
  49.               EA = 0;//臨界保護
  50.         for(i=0; i<8; i++)
  51.         {
  52.           if((res&0x01)== 0)
  53.           {
  54.             P1 |= (0x01<<i);
  55.             CountTab[i] = BASE6HOUR;
  56.           }
  57.           res >>= 1;
  58.         }      
  59.         EA = 1;
  60.       }
  61.     }        
  62.   }
  63. }

  64. void tm0_isr() interrupt 1
  65. {
  66.   unsigned char i;

  67.   if(time_ms)time_ms--;
  68.   for(i=0; i<8; i++)
  69.   {
  70.     if(CountTab[i])
  71.     {
  72.       CountTab[i]--;
  73.       if(CountTab[i] == 0)
  74.       {
  75.         P1 &= ~(0x01<<i);
  76.       }
  77.     }
  78.   }
  79. }
復制代碼


stc15.h頭文件:http://www.zg4o1577.cn/bbs/dpj-117121-1.html

評分

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

查看全部評分

回復

使用道具 舉報

ID:397211 發表于 2021-12-30 07:55 | 顯示全部樓層
這個東西做子很簡單啊,要想實現效果好的話最好是加一個時鐘模塊,用定時器的話時間久了不準
回復

使用道具 舉報

ID:276663 發表于 2021-12-30 09:27 | 顯示全部樓層
保持微笑 發表于 2021-12-30 07:55
這個東西做子很簡單啊,要想實現效果好的話最好是加一個時鐘模塊,用定時器的話時間久了不準

不就是簡單才寫個玩嗎,復雜的話,怎么滴也得收個費吧。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 噜啊噜在线 | 97在线观视频免费观看 | 最新午夜综合福利视频 | 欧美啪啪网站 | 美女天天干天天操 | 一区二区在线 | 超碰av免费| 亚洲一区精品视频 | 亚洲精品v日韩精品 | 自拍偷拍亚洲一区 | 国产黄色免费网站 | 国产精选一区 | 国产精品美女久久久久久免费 | 久久久久精| 二区在线视频 | 亚洲视频免费观看 | 亚洲精品亚洲人成人网 | 日本一区二区三区免费观看 | 视频一区二区三区中文字幕 | 国产999精品久久久久久 | 9999精品视频 | 久久成人精品视频 | 人操人免费视频 | 日韩欧美三级在线 | 国产99视频精品免视看9 | 久久久久亚洲国产| 日韩在线视频一区 | 亚洲网站在线观看 | 天天操夜夜爽 | 久久狠狠| 国产精品视频二区三区 | 亚洲成人一区 | 亚洲天堂男人的天堂 | 成年人在线观看 | 精品国产一区一区二区三亚瑟 | 一区二区三区在线观看视频 | 欧美日韩网站 | 日韩欧美亚洲 | 国产ts人妖系列高潮 | 国产视频导航 | 免费av观看 |