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

標題: 交通信號燈程序在單片機開發板上的實現,數碼管ok LED顯示有問題 [打印本頁]

作者: 王披風    時間: 2021-9-10 11:09
標題: 交通信號燈程序在單片機開發板上的實現,數碼管ok LED顯示有問題
各位大佬,下邊程序是我在開發板上實現交通燈的程序,我發現數碼管顯示是沒有問題的,但就是對應的LED是沒有反應的,在開發板上顯示出來的是數碼管在進行倒計時,但是LED只是亮了一個,其他都沒亮(以很快的頻率閃爍),下圖為開發板,附錄為開發板原理圖

單片機源程序如下:
#include <REGX52.H>
#define uint unsigned int
#define uchar unsigned char
uchar flag1=0,flag2=0,flag3=0;
uchar table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar table2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar table3[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
uchar dig_num=60,num1,num;
sbit dula=P2^6;
sbit wela=P2^7;
sbit red=P1^0;
sbit green=P1^3;
sbit yellow=P1^6;
void delayms(uint xms)
{
        uint i,j;
        for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
}
void display(dig)
{
        uint shi,ge;
        shi=dig/10;
        ge=dig%10;
        
        P0=0xff;
        wela=1;
        P0=0xee;
        wela=0;
        
        
        dula=1;
        P0=table2[shi];
        dula=0;
        delayms(3);
        
        P0=0xff;
        wela=1;
        P0=0xdd;
        wela=0;
        
        
        dula=1;
        P0=table2[ge];
        dula=0;
        delayms(3);
        
}
void INIT()
{
        TMOD=0x01;
        TH0=(65536-10000)/256;
        TL0=(65536-10000)%256;
        EA=1;
        ET0=1;
        TR0=1;
}
void T0_time()interrupt 1
{
        TH0=(65536-10000)/256;
        TL0=(65536-10000)%256;
        num++;

        
}
void main()
{
        INIT();
        while(1)
        {
                display(dig_num);
                if(num==50)
                {
                        num=0;
                        dig_num--;
                        if(dig_num<=0)
                        {
                                dig_num=60;
                        }
                        if(0<dig_num<20)
                        {               
                                red=0;
                                green=0;
                                yellow=0;
                                //delayms(5);
                        }
                        if(20<dig_num<40)
                        {
                                red=1;
                                green=1;
                                yellow=0;
                                //delayms(5);
                        }
                        if(40<dig_num<60)
                        {
                                red=1;
                                green=0;
                                yellow=1;
                                //delayms(5);
                        }
          }
}
}                        


IMG_20210910_110519.jpg (112.89 KB, 下載次數: 66)

IMG_20210910_110519.jpg

TX-1C增強版原理圖.pdf

943.37 KB, 下載次數: 3


作者: wulin    時間: 2021-9-11 06:37
                display(dig_num);
                if(num>=50)
                {
                        num=0;
                        dig_num--;
                        if(dig_num<=0)
                        {
                                dig_num=60;
                        }
                        if(dig_num<=20)
                        {               
                                red=0;
                                green=0;
                                yellow=0;
                        //delayms(5);
                        }
                        if(dig_num>20 && dig_num<=40)
                        {
                                red=1;
                                green=1;
                                yellow=0;
                                //delayms(5);
                        }
                        if(dig_num>40)
                        {
                                red=1;
                                green=0;
                                yellow=1;
                                //delayms(5);
                        }
                }
作者: yzwzfyz    時間: 2021-9-11 09:22
畫個邏輯框圖看看

作者: 王披風    時間: 2021-9-14 11:49
wulin 發表于 2021-9-11 06:37
display(dig_num);
                if(num>=50)
                {

可以了可以了,想請問一下為啥用了“與”就能把LED點亮了,我自己寫的那種方式單片機無法識別呢,
作者: 188610329    時間: 2021-9-14 12:26
王披風 發表于 2021-9-14 11:49
可以了可以了,想請問一下為啥用了“與”就能把LED點亮了,我自己寫的那種方式單片機無法識別呢,

因為,你那種寫法是錯誤的,你只要Debug一下,看一下匯編代碼就知道為什么不能那么寫了。
作者: 王披風    時間: 2021-9-15 15:01
wulin 發表于 2021-9-11 06:37
display(dig_num);
                if(num>=50)
                {

感謝,成功了,已經調試完畢,太感謝了




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费国产一区 | 国产激情免费视频 | 欧美日韩视频在线 | 亚洲国产成人av好男人在线观看 | 激情五月综合网 | 狠狠天天 | 欧美性受 | 麻豆久久久 | 日韩综合一区 | 亚洲国产成人在线视频 | 嫩草视频在线 | 无码一区二区三区视频 | 国产a视频 | 草草草网站 | 国产精品久久久久无码av | 亚洲激情av | 日韩1区2区 | 国产中文字幕av | 国产线视频精品免费观看视频 | 久久国产精品久久久久 | 国产亚洲精品精品国产亚洲综合 | 国产精品免费大片 | 成人免费淫片aa视频免费 | 亚洲一区免费视频 | 精品国产一区二区三区久久久久久 | 欧美一级全黄 | 超碰在线播 | 国产成人福利在线 | 奇米久久久 | 日韩欧美精品在线 | 日韩精品免费在线观看 | 人人九九精 | 91视频88av| 欧美一级免费看 | 日韩精品一区二区三区 | 久草视频在线播放 | 亚洲精品视频免费观看 | 国产欧美精品 | 91精品国产91久久综合桃花 | 91精品久久久久久久久久入口 | 搞黄视频免费看 |