标题: 51单片机打地鼠游戏指示灯仿真和源程序,可调速。 [打印本页]

作者: 熇熇熇    时间: 2018-3-3 20:23
标题: 51单片机打地鼠游戏指示灯仿真和源程序,可调速。
新手学习,了解到随机函数的运用,LED灯的控制,中断函数的运用等。
八个位置不同的指示灯代表地鼠。每次随机亮一个灯。
有一个按键可以对灯亮的间隔进行调整,分别为0.5s,1s,2s,3s。
包含Proteus原理图和C源程序。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)



单片机源程序如下:
  1. #include<reg52.h>
  2. #include<stdlib.h>
  3. #include<math.h>
  4. #define u8 unsigned char
  5. #define u16 unsigned int
  6. #define u32 long
  7. sbit KEY=P3^2 ;
  8. u8 led[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  9. u8 flag=0;
  10. u8 n=1,m=1,x=1;
  11. void main()
  12. {        
  13.         u8 j=0,a,b;
  14.         P0=0;
  15.         TMOD=0x01;
  16.         TH0=15536/256;
  17.         TL0=15536%256;
  18.         ET0=1;
  19.         EA=1;
  20.         TR0=1;
  21.         while(1)
  22.         {        
  23.                 if(KEY==0)
  24.                 {
  25.                         for(b=38;b>0;b--)
  26.                         {
  27.                                 for(a=130;a>0;a--);
  28.                         }
  29.                         if(KEY==0)
  30.                         {        
  31.                                 while(KEY==0){P0=0XFF;}                        
  32.                                 n++;
  33.                                 if(n==3||n==5){
  34.                                 n++;
  35.                                 }
  36.                                 if(n==7){
  37.                                 n=1;
  38.                                 }
  39.                                        
  40.                         }
  41.                         
  42.                 }        
  43.                 if(x==1)
  44.                 {
  45.                         x=0;        
  46.                         j=(rand()%8);                                 
  47.                 }
  48.                  P0=led[j];                                   
  49.         }
  50.                  
  51. }        
  52. void TT() interrupt 1
  53. {
  54.   flag++;
  55.   if(flag>=(n*10))
  56.   {
  57. ……………………

  58. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
打地鼠仿真及程序.zip (16.81 KB, 下载次数: 149)



作者: 苏大胡工    时间: 2020-5-11 09:32
学习了,非常好的程序,虽然不是用于打地鼠游戏,但是很有启发
作者: 1030678495    时间: 2020-6-12 21:30
我很想看但是黑币不足




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1