找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2259|回復: 3
打印 上一主題 下一主題
收起左側(cè)

單片機按鍵顯示讀取數(shù)值 求程序思路

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:709561 發(fā)表于 2020-3-18 17:58 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
      C51兩個按鍵控制一個數(shù)碼管加減0-5,同時還要提取數(shù)碼管顯示的數(shù)字是幾,再由一個確定鍵確定,另一端IO口顯示幾個LED燈的亮滅。
昨天被師傅考問這個程序要如何實現(xiàn),真的是一臉懵,無論怎樣寫都不能實現(xiàn),求助于同事還被人翻白眼,實屬無奈,我也才學習了不到一個月的C語言編程,師傅沒有教過類似的程序。
哪位大神給一個這樣的程序C語言,讓我借鑒借鑒不勝感激。。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:648281 發(fā)表于 2020-3-18 22:04 | 只看該作者
你好!
1、你單片機上數(shù)碼管的具體接法
2、另一端的IO口,是指同一個單片機嗎
3、你這個是否有實物?還是用仿真?
回復

使用道具 舉報

板凳
ID:316880 發(fā)表于 2020-3-18 22:37 | 只看該作者
按+,按-,完了直接把這個寄存器的數(shù)據(jù)顯示出來就可以了,顯示多少就是多少,至于這個確定鍵多余,你不按+,不按-,寄存器的數(shù)據(jù)是不會改變的,除非你復位,程序是可以很靈活的,可以大膽現(xiàn)象
回復

使用道具 舉報

地板
ID:213173 發(fā)表于 2020-3-19 08:01 | 只看該作者

  1. #include<reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit key1=P3^0;
  5. sbit key2=P3^1;
  6. uchar code table[]={        //共陰數(shù)碼管段碼0~F
  7.         0x3f,0x06,0x5b,0x4f,
  8.         0x66,0x6d,0x7d,0x07,
  9.         0x7f,0x6f,0x77,0x7c,
  10.         0x39,0x5e,0x79,0x71};
  11. uchar code table1[]={0xff,0xfe,0xfc,0xf8,0xf0,0xe0};//LED低電平亮
  12. uchar num=0;        //鍵值變量
  13. uchar count=0; //消抖計數(shù)變量
  14. bit flag=0;         //按鍵狀態(tài)標志

  15. void main(void)
  16. {
  17.         P2=table[num];
  18.         P1=table1[num];
  19.         while(1)
  20.         {
  21.                 if(!key1||!key2)
  22.                 {
  23.                         if(++count>=100 && flag==0)
  24.                         {                       
  25.                                 flag=1;
  26.                                 if(!key1)
  27.                                 {
  28.                                         if(num<5)
  29.                                                 num++;
  30.                                 }
  31.                                 if(!key2)
  32.                                 {
  33.                                         if(num>0)
  34.                                                 num--;
  35.                                 }
  36.                                 P2=table[num];
  37.                                 P1=table1[num];
  38.                         }
  39.                 }
  40.                 else
  41.                 {
  42.                         count=0;
  43.                         flag=0;
  44.                 }
  45.         }
  46. }
復制代碼



回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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