欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3438|回復: 7
收起左側

如何用51單片機和定時計數器設計一個按2s交替閃爍的三盞燈系統 求思路

[復制鏈接]
ID:755420 發表于 2020-5-19 09:20 來自觸屏版 | 顯示全部樓層 |閱讀模式
如題
回復

使用道具 舉報

ID:749852 發表于 2020-5-19 17:27 | 顯示全部樓層
點亮燈1
關閉燈3
延時2s
點亮燈2
關閉燈1
延時2s
點亮燈3
關閉燈2
延時2s
回復

使用道具 舉報

ID:756427 發表于 2020-5-20 11:39 | 顯示全部樓層
stcx 發表于 2020-5-19 17:27
點亮燈1
關閉燈3
延時2s

做一個循環,在循環體內,三個燈依次輪流為低電平,并加入延時函數為兩秒
回復

使用道具 舉報

ID:756622 發表于 2020-5-20 16:09 | 顯示全部樓層
如果樓主想要精確延時的話,推薦使用定時器中斷,再加一個全局變量或者是靜態的局部變量實現。每2s進一次中斷,變量值也隨之改變,當第三次進入時,再將其賦初值,然后主函數里通過判斷變量值來點亮不同的燈。
回復

使用道具 舉報

5#
無效樓層,該帖已經被刪除
ID:149144 發表于 2020-5-20 18:38 | 顯示全部樓層
51單片機和定時計數器是什么意思,既要單片機又要定時 又要計數 ?
單片機不是帶定時器嗎?
回復

使用道具 舉報

ID:715652 發表于 2020-5-20 21:12 | 顯示全部樓層
燈的端口為0時為亮
回復

使用道具 舉報

ID:715652 發表于 2020-5-20 21:13 | 顯示全部樓層
#include<reg51.h>
sbit D1=P0^0;  //可以找I/O口的任意三個端口
sbit D2=P1^1;
sbit D3=P2^2;
void DelayMs(int x)  //延時
{
        int i;
        while(x--)        for(i=0;i<120;i++);
}
void init()  //初始化
{
        TMOD=0x02;  //T0方式2定時 自動重裝的方式
        TR0=1;     //開寄存器
        TH0=256-200;  //設置200us的初值
}
void main()
{
        int t=0,t1=0;
        init();
        while(1)
        {
                if(TF0)        TF0=0,t++;  //清除溢出標志
                if(t==10000) t=0,t0++;   //當t為10000為2s
                switch(t0)
                {
                        case 0:D1=0,D2=1,D3=1;break;
                        case 1:D1=1,D2=0,D3=1;break;
                        case 2:D1=1,D2=1,D3=0;break;
                        default:t=0;
                }
        }
}
回復

使用道具 舉報

ID:715652 發表于 2020-5-20 21:14 | 顯示全部樓層
燈的端口為0時為點亮,希望有用!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表