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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2358|回復(fù): 9
收起左側(cè)

想請問一下這個代碼是哪里有問題嗎?為什么仿真的時候燈都不亮呢?

[復(fù)制鏈接]
ID:897406 發(fā)表于 2021-4-11 09:58 | 顯示全部樓層 |閱讀模式
想請問一下這個代碼是哪里有問題嗎?為什么仿真的時候燈都不亮呢?求大神指點!

                      51hei圖片20210411095320.png
回復(fù)

使用道具 舉報

ID:328014 發(fā)表于 2021-4-11 20:28 | 顯示全部樓層
應(yīng)該是你的程序有問題,程序呢,沒程序大家無法分析啊
回復(fù)

使用道具 舉報

ID:897406 發(fā)表于 2021-4-11 21:08 來自觸屏版 | 顯示全部樓層
51hei團團 發(fā)表于 2021-4-11 20:28
應(yīng)該是你的程序有問題,程序呢,沒程序大家無法分析啊

#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit huang=P2^0;//黃燈sbit lv=P2^2;//綠燈sbit hong=P2^4;//紅燈sbit hongwai=P1^0;//熱釋電sbit butter=P2^6;//蜂鳴器低電平開蜂鳴器sbit  baojing=P1^1//直接報警按鍵;sbit  bufang=P1^7;//布防按鍵sbit  quxiao=P3^4;//取消按鍵uchar tt=0;//定時器變量uchar num=0;//定時的計時變量uchar flag=0;//標志位void timer1init(void)//定時器1,16位方式2{        EA=0;       TMOD=0x11;//設(shè)置定時器0為工作方式1        TH0=(65536-10000)/256;        TL0=(65536-10000)%256;        ET0=1;//開定時器0中斷        TR0=1;//啟動定時器0        tt=0;//        EA=0;//關(guān)總中斷} void delay(uint z)//延時函數(shù){        uint x,y;        for(x=z;x>0;x--)                for(y=110;y>0;y--);}void main()//主函數(shù){               huang=0;//初始黃燈亮                 lv=0;//初始綠燈亮                 hong=0;//初始紅燈亮                 timer1init();//初始化定時器                 while(1)                 {                               if(!baojing)//如果直接報警鍵被按下                                {                                        delay(5);//延時消抖                                        if(!baojing)//判斷報警鍵是不是被按下                                        {                                           hong=1;//紅燈亮                                          lv=0;        //綠燈滅                                          flag=7;//標志位等于7                                          butter=0;//蜂鳴器響                                          EA=0;//關(guān)中斷                                        }                                        while(!baojing);//判斷按鍵是不是彈開                                        delay(5);//如果彈開延時消抖                                        while(!baojing);//彈開后跳出程序                                }                         if((!bufang)&&(flag<4))//在初始狀態(tài)和按下取消鍵后可以進去這個函數(shù)                                {                                        delay(5);//延時消抖                                        if(!bufang)//如果布防被按下                                        {                                            EA=1;   //開定時器                                           flag=2;//另=2                                        }                                        while(!bufang);//布防鍵是不是彈開                                        delay(5);//延時                                        while(!bufang);//布防鍵彈開                                }                        if(!quxiao)//如果取消鍵按下                                {                                        delay(5);//延時消抖                                        if(!quxiao)//取消鍵是不是按下                                        {                                             flag=3;//FLAG等于3                                          butter=1;//蜂鳴器不響                                          tt=0;//                                          num=0;//定時初始0                                          EA=0;//關(guān)中斷                                        delay(5);//延時消抖                                          lv=0;//綠燈滅                                          hong=0;//紅燈滅                                        }                                        while(!quxiao);//取消按鍵抬開                                        while(!quxiao);//如果彈開跳出                                }                    if(flag==4)//如果布防時間到                          {                           tt=0;//清計數(shù)為0                           EA=0;//關(guān)中斷                           num=0;//記的秒數(shù)清零                           lv=1;//關(guān)綠燈                           flag=5;//flag等于5                          }                                if(hongwai)//如果感應(yīng)到人黃燈亮                           huang=1;                        else  huang=0;//感應(yīng)不到人黃燈滅                        if(flag==5)//如果flag等于5                           {                             if(hongwai)//如果感應(yīng)到人                                   {                                    butter=0;//蜂鳴器響                                    EA=1;//開中斷                                    }                           }                                                   }}void time0() interrupt 1{        TH0=(65536-50000)/256;        TL0=(65536-50000)%256;        tt++;        if(tt==10)          {tt=0; num++;}        if((flag==5)&&(num%2==0))//布防15秒后會讓flag=5 ,num為偶數(shù)燈亮             hong=1;        if((flag==5)&&(num%2==1))//布防15秒后會讓flag=5 ,num為奇數(shù)燈滅             hong=0;        if((flag==2)&&(num%2==0))//按鍵布防鍵后flag等于2,num為偶數(shù)燈亮              lv=1;        if((flag==2)&&(num%2==1)) // 按鍵布防鍵后flag等于2,num為奇數(shù)燈滅              lv=0;        if((flag==2)&&(num==30))//布防時間,num=30即15秒,可以更改此實現(xiàn)布防延遲時間           flag=4;           }
回復(fù)

使用道具 舉報

ID:342822 發(fā)表于 2021-4-11 22:21 | 顯示全部樓層
void main()//主函數(shù)
{              
huang=0;//初始黃燈亮  ???????              
lv=0;//初始綠燈亮   ????????              
hong=0;//初始紅燈亮   ????????            
timer1init();//初始化定時器               
while(1)                 {                              
if(!baojing)//如果直接報警鍵被按下                                
{                                       
delay(5);//延時消抖                                       
if(!baojing)//判斷報警鍵是不是被按下                                       
{                                          
hong=1;//紅燈亮   ????????????                                    
lv=0;        //綠燈滅 ??????????  
你看矛盾的干活
回復(fù)

使用道具 舉報

ID:342822 發(fā)表于 2021-4-11 22:34 | 顯示全部樓層
如果下面語句正確
huang=0;//初始黃燈亮  ???????              
lv=0;//初始綠燈亮   ????????              
hong=0;//初始紅燈亮
那么仿真電路里的三個發(fā)光管要采用灌電流方式即正極接VCC
回復(fù)

使用道具 舉報

ID:844772 發(fā)表于 2021-4-12 09:17 | 顯示全部樓層
LED都接反了,你放大看看就知道了,比如要黃燈亮,按你接的是要huang=1;且按鈕那邊為0才行
回復(fù)

使用道具 舉報

ID:897406 發(fā)表于 2021-4-12 09:20 | 顯示全部樓層
好的,還有個問題就是為什么左邊的哪個單刀雙擲開關(guān)在轉(zhuǎn)換高低電平時候黃燈不亮呢?這是代碼:

if(hongwai)//如果感應(yīng)到人黃燈亮
                           huang=1;
                        else  huang=0;//感應(yīng)不到人黃燈滅

                        if(flag==5)//如果flag等于5
                           {
                             if(hongwai)//如果感應(yīng)到人
                                   {
                                    butter=0;//蜂鳴器響
                                    EA=1;//開中斷
                                    }
回復(fù)

使用道具 舉報

ID:897406 發(fā)表于 2021-4-12 14:43 | 顯示全部樓層
glinfei 發(fā)表于 2021-4-12 09:17
LED都接反了,你放大看看就知道了,比如要黃燈亮,按你接的是要huang=1;且按鈕那邊為0才行

紅燈和綠燈在按鍵后都能亮,只有黃燈不亮,led方向沒接反啊.我現(xiàn)在的問題就是不管hongwai 是高電平還是低電平,黃燈都不亮,這個應(yīng)該怎么解決。
回復(fù)

使用道具 舉報

ID:73051 發(fā)表于 2021-4-12 15:21 來自觸屏版 | 顯示全部樓層
sbit  baojing=P1^1//直接報警按鍵;
回復(fù)

使用道具 舉報

ID:897406 發(fā)表于 2021-4-12 18:02 | 顯示全部樓層
什么意思?為什么要sbit  baojing=P1^1//直接報警按鍵;

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 九九九久久国产免费 | 亚洲国产一区二区视频 | 国产免费让你躁在线视频 | 成人精品在线观看 | 九九在线视频 | 国产精品成人一区 | 色999视频 | 久久伊人精品 | 国产精品视频97 | 亚洲国产成人精品久久久国产成人一区 | 精品国产乱码久久久久久丨区2区 | 91视频国产精品 | 在线观看国产网站 | 午夜视频免费在线观看 | 中国三级黄色录像 | 狠狠综合网 | 国内精品视频在线观看 | 欧美一区2区三区4区公司二百 | 亚洲精品一区在线观看 | 欧美日韩专区 | 欧美日韩一区二区三区不卡视频 | 资源首页二三区 | 国产一区二区三区日韩 | 国产亚洲一区二区三区 | 国产乱码精品一区二区三区中文 | 日韩在线成人 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 伊人久久麻豆 | 精品国产99 | 伊人久久麻豆 | 欧美精品二区 | 1204国产成人精品视频 | 国际精品久久 | 国产一区二区 | 欧美一级二级视频 | 午夜精品一区二区三区三上悠亚 | 久久久区 | 亚洲精品www久久久 www.蜜桃av | 久久亚洲精品国产精品紫薇 | 粉嫩高清一区二区三区 | 色婷婷av久久久久久久 |