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

標(biāo)題: 獨(dú)立鍵盤的程序 加快掃描的話,第三個數(shù)碼管就顯示不清 求大佬解答 [打印本頁]

作者: ckeai    時間: 2018-7-13 15:23
標(biāo)題: 獨(dú)立鍵盤的程序 加快掃描的話,第三個數(shù)碼管就顯示不清 求大佬解答
這是個獨(dú)立鍵盤的程序
用的是普中科技開發(fā)板
加快掃描的話,第三個數(shù)碼管就顯示不清,掃描變慢的話就會抖,求大神給個好法子

單片機(jī)源碼:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uintunsigned int
  4. #define ucharunsigned char
  5. sbit led1=P2^2;
  6. sbit led2=P2^3;
  7. sbit led3=P2^4;
  8. sbit key1=P3^1;
  9. uinttemp=000,t0,ge,shi,bai,aa;
  10. uchar codetable[]={0x3f,0x06,0x5b,0x4f,
  11. 0x66,0x6d,0x7d,0x07,
  12. 0x7f,0x6f,0x77,0x7c,
  13. 0x39,0x5e,0x79,0x71};
  14. void SMG(int ge,int shi,int bai);
  15. void delay(uintz);
  16. void keyscan1();
  17. void main()
  18. {
  19.      EA=1;
  20.        TMOD=1;
  21.        TR0=1;
  22.      ET0=1;
  23.               while(1) /
  24.        {      
  25.         SMG(ge,shi,bai);
  26.         if(t0==1)//0.01s速度運(yùn)行 每0.01s個位數(shù)加一
  27.        {
  28.        temp++;
  29.        t0=0;
  30.        if(aa==1000)
  31.        {
  32.        temp=000;
  33.        aa=0;
  34.        }
  35.        }
  36. P3=0xff;
  37.   if(key1==0)
  38. {
  39.    delay(10);
  40.    if(key1==0)//倆次判斷防止第一次按下去是誤按
  41.   {
  42.      TR0=0;
  43.         SMG(ge,shi,bai);
  44.   }
  45.    while(!key1);
  46.    delay(10); //消抖
  47.    while(!key1);//檢測按鍵是否釋放
  48.     TR0=1;
  49. }
  50. }
  51.   }
  52. void time0()interrupt 1 using 1
  53. {
  54.        TH0=(65536-10000)/256;
  55.        TL0=(65536-10000)%256;
  56.        t0++;
  57.        aa++;
  58. }
  59. void delay(uint z)
  60. {
  61.        uint x,y;
  62.        for(x=z;x>0;x--)
  63.               for(y=50;y>0;y--);//因此程序速度較快 為防止delay中包含中斷點(diǎn)t0==1
  64. }
  65. void SMG(intge,int shi,int bai)
  66. {
  67.        bai=temp/100;
  68.          P0=table[bai];
  69.          led1=1;led2=1;led3=1;
  70.          delay(5);
  71.          shi=temp%100/10;
  72.          P0=table[shi];
  73.          led1=0;led2=1;led3=1;
  74.          delay(5);//更改延時時間的長短可以看到不同效果,例如改為1000看到的是先出現(xiàn)1,再出現(xiàn)2,而delay(5)是一下子出現(xiàn)數(shù)字12
  75.          ge=temp%10;
  76.          P0=table[ge];
  77.          led1=1;led2=0;led3=1;
  78.          delay(5);   
  79. }
復(fù)制代碼







作者: yzwzfyz    時間: 2018-7-14 04:41
你的程序構(gòu)思差!
所有掃描的延時沒不能用硬延時,要用中斷做處理。這樣CPU就不“累了”。
參考一下我回的這個帖子“在線等請問獨(dú)立鍵盤的掃描去抖怎么寫啊 haohaoxue51 發(fā)表于 2018-7-11 19:49”




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 97成人在线 | 久久一区二区三区四区五区 | 欧美一区二区三区在线观看 | 国产98色在线 | 日韩 | 成人精品国产 | 久久aⅴ乱码一区二区三区 91综合网 | 国产精品欧美一区二区三区 | 可以免费观看的av | 国产日韩精品在线 | 亚洲国产成人av好男人在线观看 | 一区二区三区视频在线免费观看 | 久久精品久久久 | 午夜电影网 | 久久久精品综合 | 欧美精品在线免费观看 | 日韩精品久久一区二区三区 | 在线免费观看成年人视频 | 一级高清免费毛片 | 人人玩人人添人人澡欧美 | 影音先锋欧美资源 | 黄频免费 | 亚洲性人人天天夜夜摸 | 亚洲成人综合网站 | 一区二区影院 | 91一区二区 | 国产精品中文字幕在线观看 | 欧美激情区 | 欧美日韩高清 | 久久精品日产第一区二区三区 | 精品视频一区二区三区 | 国产日韩电影 | 国产精品久久久久久久久久免费看 | 一级毛片在线播放 | 久久精品中文 | 国产美女视频一区 | 日韩午夜精品 | 亚洲精品欧美一区二区三区 | 综合国产 | 久久亚洲春色中文字幕久久久 | 午夜影院网站 | 九九热最新地址 |