找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3707|回復: 2
收起左側

單片機矩陣鍵盤+籃球計分+AB隊,1602顯示程序與PCB仿真

[復制鏈接]
ID:235954 發(fā)表于 2020-6-15 20:06 | 顯示全部樓層 |閱讀模式
文件里面有程序,仿真,原理圖和PCB
([6%AT[]3H9NWA3XY@V]6_4.png

具體模擬顯示生活的籃球計分過程,按鍵具有加分,清除,換隊的功能。
初始的界面是這里

A初始場面.png
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
PCB可以直接打板
PCB.png
顯示的界面:
分數(shù)顯示屏幕.png


void main()
{                          
  uchar A_B=0;        
  init_lcd();//顯示屏初始化

        
        Display_String("20160192013      ",0x80);//第一頁
  Display_String("55555555555      ",0xc0);//第二頁
        
        delays(3);
        
        Display_String("                 ",0x80);//第一頁
  Display_String("                 ",0xc0);//第二頁
        
    while(1)
    {

     if(P1!=0x0f)//按鍵按下
                 {
       temp=Keys_Scan();                           //獲取按鍵值

         switch(temp)
      {
         case 0: A_scop=A_scop+1;break;  //A加1分
                                 case 1: A_scop=A_scop+2;break;  //A加2分
                                 case 2: A_scop=A_scop+3;break;  //A加3分
                                 case 3: A_B=0;break;  //A對左邊
                                 case 4: A_B=1;break;  //B隊右邊
         case 5: B_scop=B_scop+1;break;  //B隊加1
                                 case 6: B_scop=B_scop+2;break;  //B隊加2
                                 case 7: B_scop=B_scop+3;break;  //B隊加3
                                 case 8: A_scop=0; break;  //A分數(shù)清除
                                 case 9: B_scop=0; break;  //B分數(shù)清除
                                 case 10:A_scop=0;B_scop=0;break; //AB分數(shù)清除
    }   
                        
    while(P1!=0xf0);//判斷按鍵是否松開
               
                        if(A_B==0){
                Input_Buffer[2]=Keypad_Chars[10][0];                        
          Input_Buffer[4]=Keypad_Chars[A_scop/10][0];        
                Input_Buffer[5]=Keypad_Chars[A_scop%10][0];
                Input_Buffer[6]=Keypad_Chars[12][0];               
                Input_Buffer[7]=Keypad_Chars[B_scop/10][0];        
                Input_Buffer[8]=Keypad_Chars[B_scop%10][0];
                Input_Buffer[10]=Keypad_Chars[11][0];               
                Display_String(Input_Buffer,0x80 );
       }
                        else
                        {
                Input_Buffer[2]=Keypad_Chars[11][0];               
                Input_Buffer[4]=Keypad_Chars[B_scop/10][0];
                Input_Buffer[5]=Keypad_Chars[B_scop%10][0];
                Input_Buffer[6]=Keypad_Chars[12][0];               
                Input_Buffer[7]=Keypad_Chars[A_scop/10][0];
                Input_Buffer[8]=Keypad_Chars[A_scop%10][0];
                Input_Buffer[10]=Keypad_Chars[10][0];                        
                Display_String(Input_Buffer,0x80 );
                        
                        }
        }
                        
}
}

全部資料51hei下載地址:
矩陣鍵盤-計分-1602 ok.zip (5 MB, 下載次數(shù): 68)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:721871 發(fā)表于 2020-6-21 16:44 | 顯示全部樓層
     if(A_B==0){
                Input_Buffer[2]=Keypad_Chars[10][0];                        
          Input_Buffer[4]=Keypad_Chars[A_scop/10][0];        
                Input_Buffer[5]=Keypad_Chars[A_scop%10][0];
                Input_Buffer[6]=Keypad_Chars[12][0];               
                Input_Buffer[7]=Keypad_Chars[B_scop/10][0];        
                Input_Buffer[8]=Keypad_Chars[B_scop%10][0];
                Input_Buffer[10]=Keypad_Chars[11][0];               
                Display_String(Input_Buffer,0x80 );
樓主可以解釋一下這個是啥意思嗎,我是新手,不太理解這個,謝謝
回復

使用道具 舉報

ID:235954 發(fā)表于 2020-10-11 11:52 | 顯示全部樓層
琪琪國王 發(fā)表于 2020-6-21 16:44
if(A_B==0){
                Input_Buffer[2]=Keypad_Chars[10][0];                        
     ...

存放在數(shù)組里面的分數(shù),用于顯示
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表