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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

目前這個程序能實現0~f數碼管滾動流顯示,不知道怎么加上開始、復位和暫停

[復制鏈接]
跳轉到指定樓層
樓主
ID:581012 發表于 2019-7-9 16:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
#include <intrins.h>

unsigned char key;


// 7段顯示代碼
unsigned char code display[] =
{
  0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90,  0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e
// 0 1 2 3 4 5 6 7 8 9 a b c d e f
};

unsigned char code key_code[] =
{
  //鍵編碼數組
  0xee, 0xed, 0xeb, 0xe7,
  0xde, 0xdd, 0xdb, 0xd7,
0xbe, 0xbd, 0xbb, 0xb7,
  0x7e, 0x7d, 0x7b, 0x77

};
char code reserve[3]_at_ 0x3b; //保留0x3b開始的三個字節

sbit k1 = P3 ^ 2;
sbit k2 = P3 ^ 3;
sbit k3 = P3 ^ 4;

/**********************************************************
延時子程序
**********************************************************/
void delayms(unsigned int ms)
{
  unsigned char t;
  while (ms--)
  {
    for (t = 0; t < 114; t++)
      ;
  }
}
/**********************************************************
x*0.14MS 延時
**********************************************************/
void delayus(unsigned char x)
{
  unsigned char i;
  while (x--)
  {
    for (i = 0; i < 14; i++)
    {
      ;
    }
  }
}

/**********************************************************
鍵盤掃描子程序
**********************************************************/
unsigned char keyscan()
{
  unsigned char scan1, scan2, keycode, j;
  P3 = 0xf0;
  scan1 = P3;
  if (scan1 != 0xf0)
  //判斷是否按下
  {
    delayms(10); //ÑÓʱ10ms
    scan1 = P3;
    if (scan1 != 0xf0)
    //二次判斷是否按下
    {
      P3 = 0x0f;
   delayms(10);
      scan2 = P3;
      keycode = scan1 | scan2; //組合成鍵掃描編碼
      for (j = 0; j < 16; j++)
      {
        if (keycode == key_code[j])
        //查表得鍵值
        {
          key = j;
          return (key); //返回有效有效鍵值
        }
      }
    }
  }
  else
    P3 = 0xff;
  return (key = 16); //返回無效鍵值
}

/**********************************************************
主程序
**********************************************************/
void main(void)
{
unsigned char k, shift,a;
  P0 = 0xff;                       //端口初始化
  P1 = 0xff;
P3 = 0xff;

  while (1)
  {

    shift = 0xfe;                  //位掃描初值
    P1 = 0xff;                     //關閉顯示
      keyscan();
  if (key < 16)
    //有效鍵值
    {
      a=(key+1)*200; //對延時進行調整
  }
  
    for (k = 0; k < 16; k++)
    {
      P0 = display[k];             //送段碼
      P1 = shift;                  //送位碼
      shift = _crol_(shift, 1);   
     delayms(a);
     }
   
    }   
   
  }

/*********************************************************/

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:332444 發表于 2019-7-9 20:23 | 只看該作者
既然已經定義了按鈕K1-3那就寫按鈕處理去實現你的功能,如K1按下執行開始等
回復

使用道具 舉報

板凳
ID:581012 發表于 2019-7-10 10:29 | 只看該作者
xianfajushi 發表于 2019-7-9 20:23
既然已經定義了按鈕K1-3那就寫按鈕處理去實現你的功能,如K1按下執行開始等

你好,現在按鈕的功能實現了,怎么把滾動顯示變成字符串一起顯示?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区在线观看视频 | 天天射色综合 | 91精品麻豆日日躁夜夜躁 | 久久香焦 | 一区二视频 | 一区2区| 91精品国产91久久久久久三级 | 久久久久网站 | 亚洲国产aⅴ精品 | 91精品国产综合久久久亚洲 | 91人人在线 | 国产成人午夜精品影院游乐网 | 亚洲精品www.| 亚洲一区精品视频 | 国产欧美一区二区久久性色99 | 超碰日韩 | 精品福利在线视频 | 国产一区二区激情视频 | 在线观看视频h | 先锋av资源在线 | 久久久夜色精品亚洲 | 91精品国产欧美一区二区成人 | 国产精品毛片一区二区三区 | 亚洲国产精品视频一区 | 免费不卡视频 | 精品国产三级 | 亚洲一区二区免费看 | av在线电影网站 | 国产日韩一区二区 | 欧美aaa| 成人国产午夜在线观看 | 中文在线a在线 | 一区二区三区成人 | 亚洲一区二区三区免费 | 国产乱码精品一区二区三区五月婷 | 亚洲精选久久 | 欧美日韩在线免费观看 | 日韩欧美国产一区二区 | 国产精品久久久久久久久久久新郎 | 亚洲精品二区 | 欧美日韩不卡在线 |