找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4496|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

要求如果按下兩個(gè)按鈕單片機(jī)控制紅燈亮數(shù)碼管顯示FF要怎么搞啊

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
要求如果按下兩個(gè)按鈕紅燈亮數(shù)碼管顯示FF要怎么搞啊
  1. #include <reg51.h>
  2. char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  3. char key_buf[]={0xee,0xde,0xbe,0xed,0xdd,0xbd,0xeb,0xdb,0xbb,0xe7,0xd7,0xb7};
  4. sbit P3_0=P3^0;
  5. sbit P3_1=P3^1;
  6. void getKey() interrupt 0
  7. {
  8. char key_scan[]={0xef,0xdf,0xbf,0x7f};
  9. char i=0,j=0,c=0;
  10.   int a=0;
  11. for(i=0;i<4;i++)
  12. {
  13.   P2=key_scan[i];
  14.   for(j=0;j<12;j++)
  15.   {
  16.    if(key_buf[j]==P2)
  17.    {
  18.     P3_0=0;
  19.     if(j<10)
  20.     {
  21.       P0=led_mod[0];
  22.       P1=led_mod[j];
  23.     }
  24.     else if(j>=10)
  25.     {
  26.       P0=led_mod[j/10];
  27.       P1=led_mod[j%10];
  28.     }
  29.     a++;
  30.     break;
  31.    }
  32.   }
  33.    if(a>1)
  34.     {
  35.      P3_0=1;
  36.      P3_1=0;
  37.      P0=0x71;
  38.      P1=0x71;
  39.      break;
  40.          }
  41. }
  42. a=0;
  43. P2=0x0f;
  44. }
  45. void main(void)
  46. {
  47. IT0=1;
  48. EX0=1;
  49. EA=1;
  50. P2=0x0f;
  51. P0=0x00;
  52. P1=0x00;
  53. P3_0=1;
  54. P3_1=1;
  55. while(1)
  56. {
  57.   if(P2==0x0f)P3_0=1;
  58.   if(P2==0x0f)P3_1=1;
  59.   }
  60. }
復(fù)制代碼

批注 2019-05-22 093910.png (257.46 KB, 下載次數(shù): 90)

批注 2019-05-22 093910.png

批注 2019-05-22 093910.png (257.46 KB, 下載次數(shù): 74)

批注 2019-05-22 093910.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:517466 發(fā)表于 2019-5-28 21:47 | 只看該作者
讓數(shù)碼管顯示F,設(shè)置顯示的筆段值為0x71(共陰數(shù)碼管的話(huà)),你的代碼中沒(méi)有看到有這個(gè)筆段值對(duì)應(yīng),只看到0-9的,char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};,表示的是0-9的筆段對(duì)應(yīng),你最好加上A,b,C,d,E,F(xiàn)對(duì)應(yīng)的。
回復(fù)

使用道具 舉報(bào)

板凳
ID:517466 發(fā)表于 2019-5-28 21:49 | 只看該作者
我的這個(gè);unsigned char code tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40,0x10};設(shè)置的是0-9,A,b,C,d,E,F,-,_這幾個(gè)字符的
回復(fù)

使用道具 舉報(bào)

地板
ID:544398 發(fā)表于 2019-5-29 08:12 來(lái)自手機(jī) | 只看該作者
suncat0504 發(fā)表于 2019-5-28 21:47
讓數(shù)碼管顯示F,設(shè)置顯示的筆段值為0x71(共陰數(shù)碼管的話(huà)),你的代碼中沒(méi)有看到有這個(gè)筆段值對(duì)應(yīng),只看到0 ...

在那個(gè)if語(yǔ)句里面,我是單獨(dú)賦值的沒(méi)有加到數(shù)組里面
回復(fù)

使用道具 舉報(bào)

5#
ID:557425 發(fā)表于 2019-6-7 22:46 | 只看該作者
讓數(shù)碼管顯示F,設(shè)置顯示的筆段值為0x71(共陰數(shù)碼管的話(huà)),你的代碼中沒(méi)有看到有這個(gè)筆段值對(duì)應(yīng),只看到0-9的,char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};,表示的是0-9的筆段對(duì)應(yīng),你最好加上A,b,C,d,E,F(xiàn)對(duì)應(yīng)的。
回復(fù)

使用道具 舉報(bào)

6#
ID:574556 發(fā)表于 2019-6-29 14:13 | 只看該作者
讓數(shù)碼管顯示F,設(shè)置顯示的筆段值為0x71(共陰數(shù)碼管的話(huà)),你的代碼中沒(méi)有看到有這個(gè)筆段值對(duì)應(yīng),只看到0-9的,char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};,表示的是0-9的筆段對(duì)應(yīng),你最好加上A,b,C,d,E,F(xiàn)對(duì)應(yīng)的。
回復(fù)

使用道具 舉報(bào)

7#
ID:576178 發(fā)表于 2019-7-2 16:15 | 只看該作者
邏輯分析一下
回復(fù)

使用道具 舉報(bào)

8#
ID:582474 發(fā)表于 2019-7-12 12:31 | 只看該作者
可以用4*4的16位矩陣按鍵試試,F(xiàn)對(duì)應(yīng)的數(shù)碼管是0x71,0-F有16位,要是需要每個(gè)按鍵對(duì)應(yīng)顯示的話(huà)可以接矩陣按鍵試試
回復(fù)

使用道具 舉報(bào)

9#
ID:585636 發(fā)表于 2019-7-17 11:12 | 只看該作者
用邏輯分析儀看一下
回復(fù)

使用道具 舉報(bào)

10#
ID:282095 發(fā)表于 2019-7-23 11:33 | 只看該作者
數(shù)碼管是采用段選(A_G)和位選(4位)
回復(fù)

使用道具 舉報(bào)

11#
ID:589233 發(fā)表于 2019-7-24 09:03 | 只看該作者
讓數(shù)碼管顯示F,設(shè)置顯示的段選值為0x71(共陰數(shù)碼管的話(huà)),你的代碼中沒(méi)有這個(gè)代碼,只看到0-9的,char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};表示的是0-9的段選對(duì)應(yīng),你最好加上A,b,C,d,E,F(xiàn)對(duì)應(yīng)的。
回復(fù)

使用道具 舉報(bào)

12#
ID:554027 發(fā)表于 2019-7-25 20:59 | 只看該作者
你這仿真 不加外部晶振的?
回復(fù)

使用道具 舉報(bào)

13#
ID:593032 發(fā)表于 2019-7-31 14:23 | 只看該作者
有PDF的數(shù)字電路和模擬電路么
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表