资源简介
含有protues图和程序(全注释,连变量都注释)
要求:
1、电路使用7个发光二极管表示拔河的“电子绳”,开机后只有中间一个发亮,此即拔河的中心点。游戏甲乙双方各持一个按钮,迅 速地、不断地按动产生脉冲,谁按得快,亮点向谁方向移动,每按一次,亮点移动一次。亮点移到任一方终端二极管,这一方 就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。
2、由裁判下达比赛开始命令后,甲乙双方才能输入信号,否则,输入信号无效。
3、用数码管显示获胜者的盘数,每次比赛结束自动给获胜方加分。

代码片段和文件信息
/*******************************************************************************
================================================================================
【平 台】STC89C51_sumjess平台
【编 写】sumjess
【E-mail 】1371129880@qq.com
【软件版本】V2.0
【最后更新】2019年06月10日
【相关信息参考下列地址】
【网 站】
https://blog.csdn.net/qq_38351824
http://www.51hei.com/bbs/mcu-2-1.html
---------------------------------------------------------------------------------
【dev.env.】MDK4.02及以上版本
【Target 】STC89C51
第一次修订:2019/05/09
第二次修订:2019/05/21
第三次修订:2019/06/10
【problem 】
(1)库内补充的不全面;
(2)库内解释部分不全面;
(3)库内还存在一定的bug;
【direction】
下一步的目标就是把库继续集成!
【explain 】
为了方便使用,我也自己写了很多的库,和优化了算法和表示方式!
【warning】
目前程序中暂无错误 !
---------------------------------------------------------------------------------
没有完美的代码,只有不断的奉献,大家一起努力;
赠人玫瑰手留余香,欢迎大家反馈bug!
================================================================================
********************************************************************************/
#include
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
#define KeyPort P1
unsigned char KeyState; //记录按键的状态,0没有,1有
uchar count=3; //两人按键处理该参数作为自加或者自减运算 0 1 2《==自减3==》自加 4 5 6
uchar k=0M=0; //分别记录两人胜的次数
uchar flag; //每局胜出标志位
uchar code DSY_IDX[]={0x010x020x040x080x100x20}; //位码表 第6位为控制LED位码
uchar code DSY_CODE[]={0xc00xf90xa40xb00x990x920x820xf80x800x90}; //段码表段位,共阳数码管显示0到9
uchar code DSY_IDC[]={0xbf0xdf0xef0xf70xfb0xfd0xfe};
unsigned char KeyScan(void); //键盘扫描函数,使用行列反转扫描法
void delayms(uchar n) //延时ms函数
{
uchar i;
while(n--)
for(i=0;i<120;i++);
}
void delay(uchar t) //延时函数
{
uchar ipj;
for(i=0;i {
for(p=13;j>0;j--);
{
;
}
}
}
void main()
{
while(1)
{
P2=DSY_IDX[0];P0=DSY_CODE[k];delay(50); //显示分数
P2=DSY_IDX[1];P0=DSY_CODE[M];delay(50); //显示分数
flag=1;
KeyScan();
if(KeyScan()==0x7e )
{
while((KeyPort&0xf0)!=0xf0);//等待松开并输出
while(flag)
{
KeyScan();
switch(count)
{
case 0:k=k+1;P2=DSY_IDX[5]; P0=DSY_IDC[0];delayms(10); flag=0; count=3;
break;
case 1:P2=DSY_IDX[5]; P0=DSY_IDC[1];delayms(10);
break;
case 2:P2=DSY_IDX[5]; P0=DSY_IDC[2]; delayms(10);
break;
case 3:P2=DSY_IDX[5]; P0=DSY_IDC[3];delayms(10);
break;
case 4:P2=DSY_IDX[5]; P0=DSY_IDC[4]; delayms(10);
break;
case 5:P2=DSY_IDX[5]; P0=DSY_IDC[5]; delayms(10);
break;
case 6:M=M+1;P2=DSY_IDX[5]; P0=DSY_IDC[6];delayms(10);flag=0; count=3;
break;
}
if(KeyScan()==0x7d)
{
count--;
while((KeyPort&0xf0)!=0xf0);//等待松开并输出
}
if(KeyScan()==0x7b)
{
count++;
while((KeyPort&0xf0)!=0xf0);//等待松开并输出
}
if(KeyScan()==0x7e) /
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-21 20:43 课程设计题十一:拔河游戏机设计\
目录 0 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\
文件 6376 2009-05-07 14:37 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\STARTUP.A51
文件 14049 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\STARTUP.LST
文件 749 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\STARTUP.OBJ
文件 6343 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess
文件 9157 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess.LST
文件 8952 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess.M51
文件 6638 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess.OBJ
文件 4091 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess.c
文件 1615 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess.hex
文件 69 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess.lnp
文件 5484 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess.plg
文件 65769 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess.uvopt
文件 13438 2019-07-21 22:01 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess.uvproj
文件 0 2019-07-21 20:44 课程设计题十一:拔河游戏机设计\tug-of-war_Sumjess\tug-of-war_Sumjess_uvproj.bak
目录 0 2019-07-21 22:08 课程设计题十一:拔河游戏机设计\仿真图\
文件 21310 2019-07-21 20:48 课程设计题十一:拔河游戏机设计\仿真图\Backup Of tug-of-war_Sumjess.pdsbak
文件 21585 2019-07-21 22:08 课程设计题十一:拔河游戏机设计\仿真图\Last Loaded tug-of-war_Sumjess.pdsbak
文件 21479 2019-07-21 22:05 课程设计题十一:拔河游戏机设计\仿真图\tug-of-war_Sumjess.pdsprj
文件 2197 2019-07-21 22:10 课程设计题十一:拔河游戏机设计\仿真图\tug-of-war_Sumjess.pdsprj.DESKTOP-37880EN.别想打开!.workspace
- 上一篇:MAC OS X 鼠标指针 非常漂亮
- 下一篇:common-2.12.4.aar
相关资源
- 51单片机基于protues的几个仿真实例
- 步进电机protues仿真
- 毕业设计 单片机 对讲机 protues仿真
- 数据采集系统——ADC0808的应用,单片
- protues万年历仿真
- 数字电压表(源程序 protues仿真)
- 基于51单片机的计算器(C51编写,有
- 数据采集系统——ADC0808的应用
- 基于protues的信号发生器,protues详细教
- 微机原理 十字路口交通灯控制 prot
- 红绿灯protues仿真
- 基于51单片机的十字路口交通灯Protu
- PROTUES 7.10
- 易语言DDE动态数据交换源码
- 16x128LED点阵显示屏横向滚动.zip
- TLC2543程序+protues仿真
- 基于MCS51系列单片机的十字路口交通灯
- 超声波车速测量系统设计
- protues元器件名称
- 点阵12864 protues仿真+源码
- protues仿真stm32f103r6输出正弦波
- protues仿真stm32f103输出PWM
- Protues 增加元件库
- 基于AD1674的模数转换电路及程序
- Protues仿真8051-PWM控制LED的亮度仿真程
- 单片机 PROTUES仿真大全(附带原理图)
- 51单片机出租车计价器
- 16*16点阵汉字滚动显示C51程序,仿真,
- AT89S51单片机试验及实践教程(含有大
- 动态数据处理-时间序列分析
评论
共有 条评论