找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6445|回复: 2
收起左侧

基于51单片机的篮球计分器设计c语言编程

[复制链接]
ID:218702 发表于 2017-7-11 09:55 | 显示全部楼层 |阅读模式
关键词:c语言 51单片机 1602 篮球计分
20170711095026.png 0.png

单片机源程序如下:
  1. #include<reg52.h>  
  2. #include "1602.h"
  3. #define DataPort P0

  4. sbit  KEY1=P3^0;        
  5. sbit  KEY2=P3^1;       
  6. sbit  KEY3=P3^2;
  7. sbit  KEY4=P3^3;       
  8. sbit  KEY5=P3^4;
  9. sbit  KEY6=P3^5;       
  10. sbit  KEY7=P3^6;

  11. int a;
  12. int b;

  13. bit flag=0;

  14. char code Ad[16]="Scores A:   ";
  15. char code Bd[16]="Scores B:   ";
  16. void Delay10ms()                //@11.0592MHz
  17. {
  18.         unsigned char i, j;

  19.         i = 18;
  20.         j = 235;
  21.         do
  22.         {
  23.                 while (--j);
  24.         } while (--i);
  25. }

  26. void KeyScan(void)
  27. {
  28. /********************************************************/  
  29.                 if(!KEY1)  
  30.     {
  31.                         Delay10ms();
  32.                         if(!KEY1)   
  33.                         {
  34.         while(!KEY1);
  35.                {
  36.                                                 flag=!flag;
  37.                                         }
  38.                         }
  39.                 }
  40.                 if(!KEY2)
  41.     {
  42.                                 Delay10ms();
  43.                                 if(!KEY2)   
  44.                                 {
  45.                                         while(!KEY2);
  46.                {
  47.                                                 a++;
  48.                                         }
  49.                                 }
  50.                 }
  51.                 if(!KEY3)  
  52.     {
  53.                                 Delay10ms();
  54.                                 if(!KEY3)   
  55.                                 {
  56.                                         while(!KEY3);
  57.                {
  58.                                                 b++;
  59.                                         }
  60.                                 }
  61.                 }
  62.                 if(!KEY4)  
  63.     {
  64.                                 Delay10ms();
  65.                                 if(!KEY4)   
  66.                                 {
  67.                                         while(!KEY4);
  68.                {
  69.                                                 a=a+2;
  70.                                         }
  71.                                 }
  72.                 }
  73.                 if(!KEY5)  
  74.     {
  75.                                 Delay10ms();
  76.                                 if(!KEY5)   
  77.                                 {
  78.                                         while(!KEY5);
  79.                {
  80.                                          b=b+2;
  81.                                         }
  82.                                 }
  83.                 }
  84.                 if(!KEY6)  
  85.     {
  86.                                 Delay10ms();
  87.                                 if(!KEY6)   
  88.                                 {
  89.                                         while(!KEY6);
  90.                {
  91.                                                 a=a+3;
  92.                                         }
  93.                                 }
  94.                 }
  95.                 if(!KEY7)  
  96.     {
  97.                                 Delay10ms();
  98.                                 if(!KEY7)   
  99.                                 {
  100.                                         while(!KEY7);
  101.                {
  102.                                          b=b+3;
  103.                                         }
  104.                                 }
  105.                 }
  106. }
  107. void Axian()
  108. {
  109.         char x,y,z,num;
  110.         LCD_Write_Com(0x80);
  111.         for(num=0;num<9;num++)
  112.         {
  113.                 LCD_Write_Data(Ad[num]);
  114.         }
  115.         x=a/100;
  116.         y=(a%100)/10;
  117.         z=(a%100)%10;
  118.         LCD_Write_Com(0x80+11);
  119.         LCD_Write_Data(0x30+z);
  120.         LCD_Write_Com(0x80+10);
  121.         LCD_Write_Data(0x30+y);
  122.         LCD_Write_Com(0x80+9);
  123.         LCD_Write_Data(0x30+x);
  124. }
  125. void Bxian()
  126. {
  127.         char x,y,z,num;
  128.         LCD_Write_Com(0x80+0x40);
  129.         for(num=0;num<9;num++)
  130.         {
  131.                 LCD_Write_Data(Bd[num]);
  132.         }
  133.         x=b/100;
  134.         y=(b%100)/10;
  135.         z=(b%100)%10;
  136.         LCD_Write_Com(0x80+0x40+11);
  137.         LCD_Write_Data(0x30+z);
  138.         LCD_Write_Com(0x80+0x40+10);
  139.         LCD_Write_Data(0x30+y);
  140.         LCD_Write_Com(0x80+0x40+9);
  141.         LCD_Write_Data(0x30+x);
  142. }
  143. void Axian1()
  144. {
  145.         char x,y,z,num;
  146.         LCD_Write_Com(0x80+0x40);
  147.         for(num=0;num<9;num++)
  148.         {
  149.                 LCD_Write_Data(Ad[num]);
  150.         }
  151.         x=a/100;
  152.         y=(a%100)/10;
  153.         z=(a%100)%10;
  154.         LCD_Write_Com(0x80+0x40+11);
  155.         LCD_Write_Data(0x30+z);
  156.         LCD_Write_Com(0x80+0x40+10);
  157.         LCD_Write_Data(0x30+y);
  158.         LCD_Write_Com(0x80+0x40+9);
  159.         LCD_Write_Data(0x30+x);
  160. }
  161. void Bxian1()
  162. {
  163.         char x,y,z,num;
  164.         LCD_Write_Com(0x80);
  165.         for(num=0;num<9;num++)
  166.         {
  167.                 LCD_Write_Data(Bd[num]);
  168.         }
  169.         x=b/100;
  170.         y=(b%100)/10;
  171.         z=(b%100)%10;
  172.         LCD_Write_Com(0x80+11);
  173.         LCD_Write_Data(0x30+z);
  174.         LCD_Write_Com(0x80+10);
  175.         LCD_Write_Data(0x30+y);
  176.         LCD_Write_Com(0x80+9);
  177.         LCD_Write_Data(0x30+x);
  178. }
  179. /*------------------------------------------------
  180.                     主函数
  181. ------------------------------------------------*/
  182. ……………………

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

所有资料51hei提供下载:
篮球计数器—1602显示.zip (58.07 KB, 下载次数: 83)




回复

使用道具 举报

ID:441754 发表于 2018-12-9 01:10 | 显示全部楼层
没有黑币可以给我邮箱发一封吗?1076660214@qq.com,非常感谢
回复

使用道具 举报

ID:561693 发表于 2019-6-20 11:48 | 显示全部楼层
没仿真文件啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表