• 大小: 90KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: 其他
  • 标签: protues  按键扫描  

资源简介

含有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

评论

共有 条评论