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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

如何添加按鍵使單片機程序通過按鍵啟動?

[復制鏈接]
跳轉到指定樓層
樓主
ID:1084356 發表于 2023-6-20 20:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
現在是接通電源后,流水燈直接亮,那如何修改讓它接通電源后,按下按鍵P2.0后流水燈開始運行
/**********************************************************
霓虹燈模擬控制主程序
**********************************************************/
       #include<AT89X52.h>
unsigned char i10,i8,i6;
unsigned charmod1,mod2;
void main(void)
{
   i10=10;          //設置軟件計數10次,每次100ms
   i8=8;            //設置循環點亮階段輸出次數
i6=6;            //設置間隔閃爍階段輸出次數
mod1=0x01;      //設置循環點亮階段控制碼初值
mod2=0xAA;     //設置間隔閃爍階段控制碼初值
F0=0;           //設置循環點亮階段標志,F0=0為循環點亮階段
TMOD=0x10;     //設置T1方式1定時
TH1=0x3C;        //送100ms定時初值
TL1=0xB0;
IE=0x88;           //允許T1中斷
P1_0=1           //
TR1=1;         //啟動T1定時
while(1);          //等待中斷
}

/**********************************************************
T1中斷服務程序
**********************************************************/
void timer0(void)  interrupt 3 using 1
{
  TH1=0x3C;        //100ms時間到,重裝定時初值
TL1=0xB0;
  i10--;
  if(i10==0)
  {
i10=10;           //1s到重設軟件計數器
  if(F0==0)
  {
   P1=~mod1;        //循環點亮階段控制碼取反送P1口
   mod1= mod1<<1;   //mod1值左移一位
   i8--;
   if(i8==0)
{
i8=8;            //完成重設循環點亮階段輸出次數
F0=1;           //設置間隔閃爍階段標志
          }
}
else
{
   P1=mod2;         //輸出間隔閃爍階段控制碼
   Mod2=~mod2;     //控制碼取反
   i6--;
   if(i6==0)
   {
i6=6;           //完成重設間隔閃爍階段輸出次數
F0=0;          //設置循環點亮階段標志
}
}
}
}




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

使用道具 舉報

沙發
ID:161164 發表于 2023-6-21 11:06 | 只看該作者

回復

使用道具 舉報

板凳
ID:213173 發表于 2023-6-21 11:32 | 只看該作者
如果只是簡單的做一次性啟動可以加一句while(P2_0);,如果想一鍵開關機就要用掉電喚醒模式。
void main(void)
{
        i10=10;          //設置軟件計數10次,每次100ms
        i8=8;            //設置循環點亮階段輸出次數
        i6=6;            //設置間隔閃爍階段輸出次數
        mod1=0x01;      //設置循環點亮階段控制碼初值
        mod2=0xAA;     //設置間隔閃爍階段控制碼初值
        F0=0;           //設置循環點亮階段標志,F0=0為循環點亮階段
        TMOD=0x10;     //設置T1方式1定時
        TH1=0x3C;        //送100ms定時初值
        TL1=0xB0;
        IE=0x88;           //允許T1中斷
        P1_0=1           //
        while(P2_0);
        TR1=1;         //啟動T1定時
        while(1);          //等待中斷
}
回復

使用道具 舉報

地板
ID:1084404 發表于 2023-6-21 11:57 | 只看該作者
首先在程序的開頭加入一句定義,sfr SAP = 0xe7;
SAP 是名稱,可以隨意改寫
之后在外部中斷或程序內添加一個按鍵檢測的語句

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:1085295 發表于 2023-6-21 16:05 | 只看該作者
1、創建項目文件。
2、按鍵:S1=P3^2,點亮: led=P1^5。
3、創建C語言主函
5、選擇輸出的效果。
6、當按下一個按鍵時,關閉燈,整個程序運行,再按一次,程序停止。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜丰满寂寞少妇精品 | 亚洲成人一级 | 欧美日韩综合一区 | 日韩精品久久一区二区三区 | 久久艹免费视频 | 男女黄网站 | 中文字幕日韩欧美一区二区三区 | 久久激情视频 | 精品在线一区二区 | 久久99精品久久久久久国产越南 | 中文字幕在线一区二区三区 | 欧美日韩福利视频 | 免费久久网 | 一区二区三区欧美 | 日韩成年人视频在线 | 日韩小视频在线 | 国产乱码精品一区二区三区五月婷 | 亚洲成人精品 | 久久久.com | 国产黄色在线观看 | 日本激情视频在线播放 | 成人3d动漫一区二区三区91 | 日韩中文一区 | 国产一区三区在线 | 日韩av在线一区 | 国产色视频网站 | 免费a v网站 | 欧美视频二区 | 国产精品国产成人国产三级 | 精品九九| 欧美中文字幕一区二区 | 日韩精品一区二区三区中文字幕 | 可以在线观看av的网站 | 黑人巨大精品欧美一区二区免费 | 五月天国产 | 中文字幕二区 | 九九九国产| 午夜在线免费观看视频 | 日韩欧美中文在线 | 91久久国产综合久久 | 国产精品美女一区二区三区 |