网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月23日
漏签
0
天
51单片机资源吧
关注:
28
贴子:
124
看贴
图片
吧主推荐
游戏
1
回复贴,共
1
页
<返回51单片机资源吧
>0< 加载中...
拔河灯(数码管)
只看楼主
收藏
回复
请叫我大仙长
吧主
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
1)设计一个能进行拔河游戏的电路,通过按键控制游戏开始和复位。
2)电路使用9个发光二极管排成一行,中间的LED为拔河的中心点。开机后由中间的LED亮,当按键按动一定次数,发光二极管向两边移动。
3)游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动的快,每按五次,亮点移动一次。
4)任一方亮点移到发光二极管终端时,这一方就获胜,亮点恢复到中心。
5)显示获胜者、时间和双方点击次数。
送TA礼物
IP属地:湖北
1楼
2024-08-16 11:15
回复
请叫我大仙长
吧主
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit smg1=P2^0;//数码管
sbit smg2=P2^1;
sbit smg3=P2^2;
sbit smg4=P2^3;
sbit led1=P1^0;//LED
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit led6=P1^5;
sbit led7=P1^6;
sbit led8=P1^7;
sbit led9=P2^7;
sbit one=P2^4;//选手1
sbit two=P2^5;//选手2
sbit kaishi=P3^2;//开始
sbit fuwei=P3^3;//复位
sbit green=P2^6;//LED
//数码管编码
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9
uchar fen1=0,fen2=0;//分数
uchar flag=0;//第几个数码管0-3
uchar weizhi=5;//位置,第几个LED亮
uchar start=0;//比赛开始
void left()//左移
{
led1=led2;
led2=led3;
led3=led4;
led4=led5;
led5=led6;
led6=led7;
led7=led8;
led8=led9;
led9=1;
}
void right()//右移
{
led9=led8;
led8=led7;
led7=led6;
led6=led5;
led5=led4;
led4=led3;
led3=led2;
led2=led1;
led1=1;
}
void main()
{
led5=0;//中间亮
//初始化定时器
TMOD|=0X01;
TH0=0XFC;//50ms
TL0=0X18;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
while(1)
{
if(!kaishi && !led5)//开始
{
start=1;//开始
green=0;//点亮绿灯
}
if(!fuwei)//复位
{
led1=1;//最左边
led2=1;
led3=1;
led4=1;
led6=1;
led7=1;
led8=1;
led9=1;//最右边
led5=0;//点亮中间
weizhi=5;//位置5
start=0;//停止
green=1;//熄灭绿灯
}
if(start)//开始比赛
{
if(!one)//选手1按下
{
weizhi--;//位置左移
left();//LED左移
while(!one);//等待松开按钮
}
if(!two)//选手2按下
{
weizhi++;//位置右移
right();//右移
while(!two);//等待松开按钮
}
//判断
if(weizhi==1)//选手1赢
{
fen1++;//分数加一
start=0;//停止
green=1;//熄灭绿灯
}
if(weizhi==9)//选手2赢
{
fen2++;//分数加一
start=0;//停止
green=1;//熄灭绿灯
}
}
}
}
void Timer0() interrupt 1//定时器0中断函数
{
TH0=0XFC;//50ms
TL0=0X18;
switch(flag)//显示
{
case 0:smg4=1;P0=smgduan[fen1/10];smg1=0;break;//十位
case 1:smg1=1;P0=smgduan[fen1%10];smg2=0;break;//个位
case 2:smg2=1;P0=smgduan[fen2/10];smg3=0;break;//十位
case 3:smg3=1;P0=smgduan[fen2%10];smg4=0; //个位
}
if(flag<3)//下一个数码管
flag++;
else
flag=0;
}
IP属地:湖北
2楼
2024-08-16 11:16
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
胖东来员工称可以接受不要彩礼
1942800
2
黑神话年底惊喜是影神图实体书
1895556
3
XLB曝Doinb聊天截图
1816164
4
Zeus经纪公司回应转会疑云
1495422
5
王楚钦战胜莫雷加德
1426022
6
武磊无法出战足协杯比赛
1327725
7
崩铁2.7前瞻汇总
1198272
8
无状态称mlxg不配当队长
1155313
9
RTX5090售价曝光
868164
10
《潜行者2》官宣销量破百万
741321
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示