欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機按鍵控制數碼管在我的板子上運行不了,別人的板可以 [打印本頁]

作者: 禾幾_    時間: 2020-11-1 22:50
標題: 51單片機按鍵控制數碼管在我的板子上運行不了,別人的板可以
同樣的圖和代碼,發給師傅運行沒問題,在另一個師兄那里數碼管不亮,在我這里實現不了按鍵控制,想知道是什么問題
#include <reg51.h>
#define uint unsigned int
uint k;
unsigned char   x,y,z;
unsigned char seg7code[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void delayms()
{
uint i,j;
for(i=200;i>0;i--)
  for(j=100;j>0;j--);
}
void scannkey()
{
P3=0x0f;
    while(P1==0x0f);
if(P3!=0x0f)
{
  delayms();                      //????

   x=P3;
   P3=0xf0;
   y=P3;
   z=x|y;
   switch(z)
   {
         
    case(0xee):k=0;break;
    case(0xde):k=1;break;
    case(0xbe):k=2;break;
    case(0x7e):k=3;break;
    case(0xed):k=4;break;  
    case(0xdd):k=5;break;  
    case(0xbd):k=6;break;  
    case(0x7d):k=7;break;
    case(0xeb):k=8;break;   
    case(0xdb):k=9;break;  
    case(0xbb):k=10;break;  
    case(0x7b):k=11;break;
    case(0xe7):k=12;break;   
    case(0xd7):k=13;break;  
    case(0xb7):k=14;break;
    case(0x77):k=15;break;
      }
  }
}
void main()
{
while(1)
{
  scannkey();
  P0=seg7code[k];
}
}

救救我救救孩子吧

作者: wulin    時間: 2020-11-2 07:38
任何軟件都是基于硬件條件編寫的。原因是你和師兄都是機械套用,沒有根據自己板子的電路作相應修改。這個按鍵掃描程序中寫了一句有條件死循環 while(P1==0x0f); ,沒有硬件圖看不出原作者意圖。
作者: 權威人物    時間: 2020-11-2 09:16
1、 while(P1==0x0f);這是干什么的?
2、按鍵抖動不用處理?
3、你確定硬件無任何問題?

作者: TTQ001    時間: 2020-11-2 10:44
需要檢查電路是否正常。 你可以跟師兄, 師傅討論
作者: zhanshenrui    時間: 2020-11-2 14:38
應該是電路問題
作者: 7617    時間: 2020-11-2 15:19
檢查電路有無問題
作者: 禾幾_    時間: 2020-11-2 18:13
wulin 發表于 2020-11-2 07:38
任何軟件都是基于硬件條件編寫的。原因是你和師兄都是機械套用,沒有根據自己板子的電路作相應修改。這個按 ...

圖片發不出來,protues上的仿真圖都是一樣的
作者: 禾幾_    時間: 2020-11-2 18:16
權威人物 發表于 2020-11-2 09:16
1、 while(P1==0x0f);這是干什么的?
2、按鍵抖動不用處理?
3、你確定硬件無任何問題?

這個是仿真,我們做完后是原原本本發給師傅的,但是三個人用同樣的代碼同樣的圖仿真出了不同的結果T_T
作者: wujin0731    時間: 2020-11-2 20:23
要根據你自己的電路原理圖寫端口
作者: 123456弄    時間: 2020-11-2 23:44
檢查下電路




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1