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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

能幫我看看有什么問題嗎?單片機數碼管不知道為什么不亮

[復制鏈接]
跳轉到指定樓層
樓主

單片機源程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
code uchar seven_seg[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
code uchar seven_bit[] = {0xfe,0xfd,0xfb,0xf7};

sbit run_key = P3^2;
sbit rst_key = P3^3;
sbit add_key = P3^6;
sbit dec_key = P3^7;
sbit buzzer = P3^5;

uchar player;
uint player_num = 0;
uchar now_time = 25;
uchar next_time;
bit run_flag = 0;
bit time_off = 0;
uint Count_A = 0;
uint Count_B = 0;


void delay(uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void keyScan()
{
if(run_key==0)
{
delay(5);
if(run_key==0)
{
run_flag=1;
buzzer=0;
TR0=1;
TR1=1;
}
while(run_key==0);
}
if(rst_key==0)
{
delay(5);
if(rst_key==0)
{
run_flag=0;
TR0=0;
TR1=0;
Count_A=0;
Count_B=0;
player_num=0;
time_off=0;
now_time=next_time;
buzzer=1;
}
while(rst_key==0);
}
if(run_flag==0&&time_off==0)
{
if(add_key==0)
{
        delay(5);
if(add_key==0);
{
next_time++;
now_time++;
}
while(add_key==0);
}
if(dec_key==0)
{
delay(5);
if(dec_key==0)
{
next_time--;
now_time--;
}
while(dec_key==0);
  }
}

}


void display(uint a,uint b)
{
P2=seven_bit[0];
P0=seven_seg[a];
delay(5);
P2=seven_bit[1];
P0=0X40;
delay(5);
P2=seven_bit[2];
P0=seven_seg[b/10];
delay(5);
P2=seven_bit[3];
P0=seven_seg[b%10];
delay(5);
P2=0xff;
}



void EX_Init()
{
uint TM0D = 0x11;
TH0 = 0x0D8;
TL0 = 0x0F0;
TH1 = 0x0D8;
TL1 = 0x0F0;
IE = 0x8b;
IT0 = 1;
IT1 = 1;
PX0 =1;
TR0 = 0;
TR1 = 1;
}



void main(void)
{
EX_Init();
buzzer=1;
P2=0xff;
P1=0xff;
P0=0xff;
next_time=now_time;
while(1);
{
keyScan();
display(player_num,now_time);
}
}



void Time0() interrupt 1
{
TH0 = 0x0D8;
TL0 = 0xF0;
//player_num=
if(run_flag==1)
{
player=P1;
switch(player)
{
case 0xfe:player_num=1;run_flag=0;time_off=1;TR0=0;TR1=0;break;
case 0xfd:player_num=2;run_flag=0;time_off=1;TR0=0;TR1=0;break;
case 0xfb:player_num=3;run_flag=0;time_off=1;TR0=0;TR1=0;break;
case 0xf7:player_num=4;run_flag=0;time_off=1;TR0=0;TR1=0;break;
case 0xef:player_num=5;run_flag=0;time_off=1;TR0=0;TR1=0;break;
case 0xdf:player_num=6;run_flag=0;time_off=1;TR0=0;TR1=0;break;
case 0xbf:player_num=7;run_flag=0;time_off=1;TR0=0;TR1=0;break;
case 0x7f:player_num=8;run_flag=0;time_off=1;TR0=0;TR1=0;break;
case 0xff:break;
default:player_num=9;break;
}
}
}
void Time1() interrupt 3
{
TH1 = 0x0D8;
TL1 = 0x0F0;
Count_A++;
Count_B++;
if(Count_B<50)
buzzer=0;
else buzzer=1;

if(Count_A==100)
{
Count_A=0;
now_time--;
if(now_time<=0)
{
now_time=0;run_flag=0;TR0=0;TR1=0;time_off=1;buzzer=0;
}
}
}

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

使用道具 舉報

沙發
ID:934353 發表于 2021-7-9 11:06 | 只看該作者
你定時器初始化的時候為啥一個開計時,一個不開計時?還有你player=P1,P1=0XFF,那你的Switch函數就沒有意義,進去就直接跳出了,也就是說你的player_num恒等于0,數碼管當然就不會亮了

評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九热在线免费观看 | 欧美日韩一区二区三区四区五区 | 亚洲欧洲精品在线 | 在线观看涩涩视频 | 国产精品成人一区二区三区 | 91影院在线观看 | 91久久网站 | 四虎成人av | 久久精品性视频 | 婷婷综合网 | 在线观看日韩精品视频 | 国产精品久久777777 | 欧日韩在线观看 | 亚洲在线免费观看 | 成人不卡 | 精品欧美一区二区三区久久久 | 超碰在线影院 | 精品欧美乱码久久久久久1区2区 | 国产精品久久久久久久久久不蜜臀 | 黄色一级毛片 | 国产精彩视频 | 精品国产乱码久久久久久影片 | 国产人久久人人人人爽 | 麻豆久久久久久 | 精品亚洲一区二区 | 国产午夜精品久久久久免费视高清 | 我要看免费一级毛片 | 国产1区2区| 日韩在线第一 | 亚洲精品综合一区二区 | 中文字幕视频在线观看 | 久久久久久国模大尺度人体 | 欧美成人精品一区二区三区 | 中文字幕爱爱视频 | 亚洲精品成人免费 | 日韩欧美在线观看一区 | av天天爽 | 国产在线精品一区二区 | 一级做a爰片性色毛片16 | 欧美日韩一区在线 | 操久久|