久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2085|回復: 2
打印 上一主題 下一主題
收起左側

求助大神,想做一個單片機四乘四鍵盤輸入兩位數的程序。寫完顯示亂碼。

[復制鏈接]
跳轉到指定樓層
樓主
這個是源碼:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define GPIO_KEY P1
#define weixuan P2
//0~F的共陽數碼管段碼,最后一個是黑屏
const uchar SEG_CODE[] =
{ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
  0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF
};
sbit wei1=P2^0;
sbit wei2=P2^1;
uchar ge,shi,KeyValue,j;
uchar num;
/*****延時函數*****/
void delay1ms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=112;y>0;y--);  //12M晶振下,延時1MS
}
/*****顯示函數*****/
void xianshi(uchar k)
{
   ge=k%10;  //個位
   shi=k/10; //十位
   if(k>9)
   {
  weixuan=0x02;
  P0=SEG_CODE[ge];//個位段選
  delay1ms(10);
  weixuan=0x01;
  P0=SEG_CODE[shi];//十位段碼,顯示
  delay1ms(10);
   }
   else
   {
  weixuan=0x02;
  P0=SEG_CODE[ge];//個位段選
  delay1ms(10);        
   }
}
/***鍵盤掃描函數***/
uchar keyscan()
{
char a=0;
  GPIO_KEY=0x0f;   //P1口值準備
   if(GPIO_KEY!=0x0f)
   {
    delay1ms(10);   //延時消抖
    if(GPIO_KEY!=0x0f)//再次判斷
    {
     GPIO_KEY=0x0f;  //再次裝值準備
     switch(GPIO_KEY)  //測試行
     {
      case(0x07):KeyValue=0;break; //第一行
      case(0x0b):KeyValue=1;break; //第二行
      case(0x0d):KeyValue=2;break; //第三行
      case(0x0e):KeyValue=3;break; //第四行      
     }
     GPIO_KEY=0xf0;   //高四位賦1,判斷準備
     switch(GPIO_KEY) //測試行
     {
      case(0x70):KeyValue=KeyValue;break;    //0-3
      case(0xb0):KeyValue=KeyValue+4;break;  //4-7
      case(0xd0):KeyValue=KeyValue+8;break;  //8-11
      case(0xe0):KeyValue=KeyValue+12;break; //12-15  
     }
     while((GPIO_KEY!=0x0f)&&(a<10)) //判斷是否松手,假若沒有松手,
                                        //一段延時后依舊判斷松手完成
     {
      delay1ms(1);
      a++;
     }
     a=0;  
    }
   }  
   return KeyValue;
}

void count(uchar x)
{
uchar sn;
sn=x;
  num=num;
if(x<10)
{        
       num=num*10+sn;  
      xianshi(num);
   
   }
}
/*****主函數*******/
void main()
{
uchar b;
while(1)
{
  b=keyscan();
  count(b);
}
}

51hei截圖_20200602063005.png (114.82 KB, 下載次數: 86)

51hei截圖_20200602063005.png

51hei截圖_20200602062948.png (114.72 KB, 下載次數: 87)

51hei截圖_20200602062948.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:195446 發表于 2020-6-2 13:16 | 只看該作者
Proteus共陽數碼管動態顯示仿真的問題,實際電路不會出錯。樓主也可以用靜態顯示,要是非用動態顯示那就用共陰數碼管。
回復

使用道具 舉報

板凳
ID:332444 發表于 2020-6-3 09:43 | 只看該作者
使用數組就不用進行乘法,除法,求余運算。
可寫限制顯示位數:                        if(zhi>5)P2=~smgduan[ShuZhi[zhi]];else P2=255;//數碼管靜態顯示

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精产国品一二三产区视频 | 大象一区 | 一区二区三区国产精品 | 久久日韩精品一区二区三区 | 一级高清视频 | 亚洲人成人一区二区在线观看 | 国产色99| 国内自拍真实伦在线观看 | 精品久久国产 | 免费一级黄色 | 日本涩涩视频 | 天天干天天干 | 亚洲区一区二 | 久久精品一 | 国产一区三区视频 | 九九久久精品 | 91黄色免费看 | 久久中文网| 国内精品伊人久久久久网站 | 一级毛片色一级 | 日皮视频免费 | 中文字幕第一页在线 | 91一区二区三区在线观看 | 欧美区日韩区 | 九九亚洲 | 欧美一级免费 | 在线观看精品视频网站 | 国产精品久久久久一区二区三区 | 亚洲激情网站 | 精品视频亚洲 | 亚洲精品久久国产高清情趣图文 | 蜜桃视频在线观看免费视频网站www | 国产精品美女久久久久久久久久久 | 国产日韩精品一区 | 亚洲欧洲在线看 | 夜夜爽99久久国产综合精品女不卡 | 一区二区三区视频在线观看 | 成人午夜黄色 | 久草免费在线视频 | 中文字幕亚洲欧美 | 国产精品视频一 |