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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機1602改變模式 程序問題請教

[復制鏈接]
跳轉到指定樓層
樓主
ID:693676 發表于 2020-3-20 15:42 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
外部按鍵按“選擇”時,光標跳到mode那里,可以切換模式,1~20。對應pon從50ms到1000ms。通過按模式+模式-來切換,用此來控制繼電器上電時間。請問各位大神可以幫忙弄完整程序嗎,50到1000ms遞進我寫在下面,可是切換模式太多錯誤了實在搞不懂,請大神幫忙



50~1000ms遞進延時繼電器,按鍵與定時器互鎖。繼電器延時期間鎖按鍵

單片機源程序如下:

#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char

sbit key=P1^0;
sbit OUT=P1^7;

uchar num=0;//鍵值變量
uchar flag=0;//中斷標志

/***********定時器初始化****************/
void Timer0Init()                //50毫秒@12.000MHz
{
        TMOD |= 0x01;                //設置定時器模式
        TH0 = 0x3C;                        //設置定時初值
        TL0 = 0xB0;                        //設置定時初值
        TF0 = 0;                                //清除TF0標志
//        TR0 = 1;                                //定時器0開始計時
        EA = 1;                                //開總中斷
        ET0 = 1;                                //開T0中斷
}
/***********按鍵掃描程序****************/
void keyscan()        
{
        static uchar count=0;                //消抖計數變量                        
        static bit sign=0;                        //按鍵自鎖標志
        if(key==0)                                                //檢測鍵按下
        {                                       
                if(++count>=100 && sign==0 && TR0==0)//消抖/自鎖/與定時器互鎖
                {                        
                        sign=1;
                        num++;
                        if(num>20)
                                num=0;
                        if(num!=0)
                        {
                                TR0=1;//開定時器
                                OUT=0;//閉合繼電器
                        }
                }
        }
        else //松手
        {
                count=0;                                        //消抖計數變量清0
                sign=0;                                        //按鍵自鎖標志清0
        }
}
/***********主函數****************/
void main()
{
        Timer0Init();
        while(1)
        {
                keyscan();
        }
}
/***********中斷服務程序****************/
void Timer0Interrupt() interrupt 1
{
        TH0 = 0x3C;
        TL0 = 0xB0;
        flag++;
        if(flag>=num)//50~1000ms遞進
        {
                flag=0;
                OUT=1;//斷開繼電器
                TR0=0;//關定時器
        }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:693676 發表于 2020-3-20 15:43 來自觸屏版 | 只看該作者
繼電器上電后再掉電,然后再上電。每個模式都會進行三次
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜爽爽爽男女免费观看 | 激情视频一区 | 最新av在线播放 | 亚洲少妇综合网 | 免费在线观看一区二区 | 超碰在线国产 | 久久久久久久久久一区二区 | 久久成人人人人精品欧 | 天天干狠狠 | 影视一区 | 日本理论片好看理论片 | 亚洲第一av网站 | 久久久久中文字幕 | 亚洲国产69| 日韩中文字幕一区二区 | 日本一区二区不卡 | 91看片官网 | 亚洲欧美一区二区三区国产精品 | av天天看 | 另类在线| 日本二区在线观看 | 久久精品一区 | 毛片网络 | 午夜精品一区二区三区在线视频 | 黄网站在线观看 | 欧美国产精品一区二区 | 免费艹逼视频 | 色婷婷av久久久久久久 | 黄色一级大片在线免费看产 | 久久精品亚洲精品国产欧美 | 国产日韩电影 | 国产在线看片 | 日本在线观看视频 | 99免费看 | 精品中文在线 | www成人免费视频 | 国产精品久久久久久久免费大片 | 蜜桃色网| 亚洲不卡在线观看 | 一区二区三区国产视频 | 在线观看www高清视频 |