资源简介
含有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单片机外部中断流水灯汇编语言
- DArray类与String类源码
- C51程序 频率测量模块化程序库(等精
- protues的51指纹考勤机仿真
- keil实现0到100累加
- verilog 动态数码管显示程序
- mmc卡protues仿真
- 矩阵键盘数码管显示+protues仿真源程序
- protues中AMPIRE12864液晶数据手册及程序
- 在Protues中怎样更改51单片机默认RAM大
- 全自动洗衣机PROTUES仿真+源程序+完整
- STM32 F103R6 寄存器方式读写GPIO源代码
- 四按键控制四个LED亮灭的源程序和P
- protues 太阳能LED路灯充电控制器模拟充
- protues下仿真红外发射电路
- 用protues仿真的按键式波形发生器
- protues标准交通灯设计
- protues 仿真直流电机控制系统
- protues仿真 数字时钟的课程设计
- 51单片机 矩阵键盘 protues ISIS 源码和仿
- 低频信号发生器protues仿真与C程序
- 基于单片机的交通灯keil仿真程序和
- protues成功仿真AD(TLC549)采集系统.
- 微机原理课程设计 --汽车信号灯控制
- LabVIEW如何调用C-动态数据库DLL经典例
- 微机原理课程设计(亲测可用)--吉利
- 课程设计题五:汽车尾灯控制器设计
- 基于protues仿真的数字电子秤
- 51单片机Protues仿真舵机,可以通过按
- 485通信 protues仿真
评论
共有 条评论