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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1907|回復: 10
收起左側

哥哥姐姐們幫幫俺一直想不明白這個代碼為什么到第二個黃燈就不再亮了

[復制鏈接]
ID:1095153 發表于 2023-10-16 02:25 | 顯示全部樓層 |閱讀模式
#include<reg51.h>   
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int

uchar Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
uchar nt=10,wt=10,sz=0,t,DJS=10,seg=10,tx=5;
bit ms=0;sbit k = P3^0;

sbit we1=P0^0;
sbit we2=P0^1;

sbit NSG=P1^5;
sbit NSY=P1^4;
sbit NSR=P1^3;
sbit WEG=P1^2;
sbit WEY=P1^1;
sbit WER=P1^0;

void delay(uint t);
void display();
void Init_Timer0(void);
void NST();
void WET();
void jstx();void delay(uint t)                  
{
        uchar x,y;
        for(x=0;x<t;x++)   
                for(y=0;y<200;y++);
}void main()
{
        Init_Timer0();
        while(1)
        { if(sz==0)   
                {
                        if(ms==0)
                        {NST();}  
                        if(ms==1)
                        {WET();}
                }display();
        }
       
}void display()
{
                we1=0;
          we2=1;   
                P2=Tab[seg/10];
                delay(5);  
                P2=0x00;   
                we1=1;     
          we2=0;  
                P2=Tab[seg%10];
                delay(5);   
                P2=0x00;          
}

void Init_Timer0(void)
{
        TMOD= 0x01;                       
        TH0=0x3c;      
        TL0=0xb0;
   IP=0x02;     
        TR0=1;  
        ET0=1;  
   EA=1;       
}

void timer0 (void) interrupt 1
{
        TH0=0x3c;
        TL0=0xb0;
        t++;        
        if(t==20)
        {
                DJS--;   
                t=0;
                if(seg==0&&sz%2==0)      
                 {
                         seg=5;
                         sz++;
                 }
                 else if(seg==0&&sz%2==1)  
                 {
                         seg=10;
                         sz++;
                 }
                 switch(sz%2)
                 {
                         case 0:  
                                  NSG=0;
        NSR=1;
        NSY=1;
               
        WER=0;
        WEG=1;
        WEY=1;
                            break;
                         case 1:  
                                  NSG=1;
        NSR=1;
        NSY=0;
               
        WER=0;
        WEG=1;
        WEY=1;
                            break;
                         case 2:
                                  NSG=1;
        NSR=0;
        NSY=1;
               
        WER=1;
        WEG=0;
        WEY=1;
                            break;
                         case 3:  
                                 NSG=1;
        NSR=0;
        NSY=1;
               
        WER=1;
        WEG=1;
        WEY=0;
                            break;
                 }void WET()
{
        seg=DJS;
        NSG=1;
        NSR=0;
        NSY=1;
        WER=1;
        WEG=0;
        WEY=1;
}void NST()
{
        seg=DJS;
        NSG=0;
        NSR=1;
        NSY=1;
               
        WER=0;
        WEG=1;
        WEY=1;

image.jpg
回復

使用道具 舉報

ID:638524 發表于 2023-10-16 08:48 | 顯示全部樓層
看你仿真圖,只練了led的頭兩位,肯定只亮兩位噻
回復

使用道具 舉報

ID:844772 發表于 2023-10-16 08:53 | 顯示全部樓層
問題應該在這:  switch(sz%2) 怎么會進入 case 3 和case 4 呢?
另外是自己寫的程序嗎?全篇自己寫的人很少了,但即使給自己用也應該寫注釋。
回復

使用道具 舉報

ID:161164 發表于 2023-10-16 09:00 | 顯示全部樓層
1. 代碼不完整
2. 為啥switch(sz%2)要mod 2?
回復

使用道具 舉報

ID:707333 發表于 2023-10-16 09:20 | 顯示全部樓層
DJS就--了,沒有還原到20;sz就++了,遲早會爆
回復

使用道具 舉報

ID:1095153 發表于 2023-10-16 11:08 來自觸屏版 | 顯示全部樓層
liaojiaao 發表于 2023-10-16 08:48
看你仿真圖,只練了led的頭兩位,肯定只亮兩位噻

是一開始紅綠燈先亮倒計時倒計時到0再跳到5黃燈亮,但是他就不動了不是應該繼續走程序嗎
回復

使用道具 舉報

ID:1095153 發表于 2023-10-16 11:11 來自觸屏版 | 顯示全部樓層
glinfei 發表于 2023-10-16 08:53
問題應該在這:  switch(sz%2) 怎么會進入 case 3 和case 4 呢?
另外是自己寫的程序嗎?全篇自己寫的人很 ...

但是他怎么進入到case2就不動了
俺已經絞盡腦汁了
這樣可以嗎
image.jpg
回復

使用道具 舉報

ID:1095153 發表于 2023-10-16 11:11 來自觸屏版 | 顯示全部樓層
lkc8210 發表于 2023-10-16 09:00
1. 代碼不完整
2. 為啥switch(sz%2)要mod 2?

這已經是俺的全部代碼了
回復

使用道具 舉報

ID:1095153 發表于 2023-10-16 11:12 來自觸屏版 | 顯示全部樓層
topsoft 發表于 2023-10-16 09:20
DJS就--了,沒有還原到20;sz就++了,遲早會爆

但是我看其他人的都是這樣做的
回復

使用道具 舉報

ID:844772 發表于 2023-10-16 14:34 來自觸屏版 | 顯示全部樓層
yyyeing 發表于 2023-10-16 11:11
但是他怎么進入到case2就不動了
俺已經絞盡腦汁了
這樣可以嗎

它就進不了case2,任何數的2的余數只有0和1,后邊的程序switch 沒問題了,但程序優化空間太大,達到目的再說吧
回復

使用道具 舉報

ID:1095153 發表于 2023-10-16 15:24 來自觸屏版 | 顯示全部樓層
glinfei 發表于 2023-10-16 14:34
它就進不了case2,任何數的2的余數只有0和1,后邊的程序switch 沒問題了,但程序優化空間太大,達到目的再 ...

好的辛苦你了!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品1区2区3区 欧美 中文字幕 | av在线三级| 中文字幕国产 | 在线欧美亚洲 | 最新国产精品精品视频 | 日本午夜免费福利视频 | 亚洲444kkkk在线观看最新 | 国产激情自拍视频 | 99视频在线免费观看 | www国产精| 91久久综合亚洲鲁鲁五月天 | 国产视频一区在线 | 日韩在线成人 | 国产96色在线 | av影音在线 | 日韩中文字幕av | 欧美日韩久久精品 | 久草成人 | 精品国产乱码久久久久久88av | 综合久久久久 | 国产精品视频区 | 桃花av在线| 免费的网站www | 久久一起草 | 中文字字幕一区二区三区四区五区 | 免费小视频在线观看 | 欧美日韩精品一区二区天天拍 | 久久一区二区三区四区五区 | 亚洲精品一区二区在线观看 | 亚洲国产成人精品女人久久久 | 超碰97免费观看 | 久久久精 | 超黄毛片| 欧美综合一区二区 | 日本久久视频 | 毛片久久久 | 在线成人免费视频 | 91精品国产91久久久久久密臀 | 91久久精品一区二区三区 | 亚洲天天干| 天天干,夜夜操 |