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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

AIP650芯片單片機程序 實用電子小模塊-4位數碼管驅動模塊-IIC接口

  [復制鏈接]
跳轉到指定樓層
樓主
L90-01是基于AiP650專用數碼管按鍵驅動芯片的顯示模塊(以下簡稱模塊),該模塊包含一個12腳的4位共陰數碼管(0.36英寸)、AiP650專用驅動芯片和三顆6×6×6的輕觸按鍵,只需2根信號線即可使單片機控制該模塊。
模塊特點:
Ø 四位共陰紅字數碼管,8級灰度可調;
Ø 三顆6×6輕觸按鍵方便用戶人機互動,手柄高度可定制;
Ø 接線端子位置和定位孔共用市面上使用較多的0.96”OLED,方便用戶置換;
Ø 驅動采用IIC串行數據總線接口,減少I/O數量;
Ø 可采用3-5.5V供電,適用3.3V5V單片機,無需增加電壓轉換電路;
應用:
Ø 本模塊可應用于制作計數器、頻率計、秒表、電壓表等等數碼管顯示的場合;
適用:
Ø 單片機學習、DIY等。




附件包含原理圖,51單片機的驅動例程,和芯片的Datasheet。

單片機源程序如下:
  1. #include "Config.H"
  2. //數碼管0-9顯示代碼            0     1      2       3    4    5    6       7    8    9   
  3. u8 DISPLAY_CODE[10]     = {    0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f };
  4. //數碼管位數                 1     2    3       4
  5. u8 DIG_BIT_CODE[4]      = {    0x68,0x6a,0x6c,0x6e };
  6. //8段顯示亮度等級               1     2      3       4    5     6    7       8                       
  7. u8 Light_Level_CODE[8]    = {    0x11,0x21,0x31,0x41,0x51,0x61,0x71,0x01 };

  8. void I2CStart(void)//開始信號
  9. {
  10.     CLK_H;
  11.     DIO_H;
  12.     Delay_us(5);
  13.     DIO_L;
  14. }

  15. void I2Cask(void) //ACK信號
  16. {
  17.     u8 timeout = 1;
  18.     CLK_H;
  19.     Delay_us(5);
  20.     CLK_L;
  21.     while((DIO)&&(timeout<=100))
  22.     {
  23.         timeout++;
  24.     }
  25.     Delay_us(5);
  26.     CLK_L;
  27. }

  28. void I2CStop(void) //停止信號
  29. {
  30.     CLK_H;
  31.     DIO_L;
  32.     Delay_us(5);
  33.     DIO_H;
  34. }

  35. void I2CWrByte(u8 oneByte) //寫一個字節高位在前,低位在后
  36. {
  37.     u8 i;
  38.     CLK_L;
  39.     Delay_us(1);
  40.     for(i=0;i<8;i++)
  41.     {
  42.         oneByte = oneByte<<1;
  43.         DIO = CY;
  44.         CLK_L;
  45.         Delay_us(5);
  46.         CLK_H;
  47.         Delay_us(5);
  48.         CLK_L;
  49.     }
  50. }

  51. void AiP650_Set(u8 add,u8 dat) //數碼管顯示
  52. {
  53.     //寫顯存必須從高地址開始寫
  54.     I2CStart();
  55.     I2CWrByte(add); //第一個顯存地址
  56.     I2Cask();
  57.     I2CWrByte(dat);
  58.     I2Cask();
  59.     I2CStop();
  60. }

  61. void AiP650_DisPlay(u8 DIG_Bit, u8 Display_num)        //顯示一位數字
  62. {
  63.     AiP650_Set(DIG_BIT_CODE[DIG_Bit-1],DISPLAY_CODE[Display_num]);
  64. }

  65. void AiP650_CLR()                                   //清屏
  66. {
  67.     u8 i;
  68.     for(i=0;i<4;i++)
  69.     {
  70.         AiP650_Set(DIG_BIT_CODE[i],0x00);        
  71.     }
  72. }

  73. void AiP650_DisPlayFourNum(u16 Display_num)        //顯示一個四位數 (0-9999)
  74. {
  75.     u8 One,Two,Three,Four;
  76.     One   = Display_num/1000;
  77.     Two   = Display_num%1000/100;
  78.     Three = Display_num%100/10;
  79.     Four  = Display_num%10;
  80.     if(One == 0)
  81.     {
  82.         AiP650_Set(DIG_BIT_CODE[0],0x00);   
  83.         if(Two == 0)
  84.         {
  85.             AiP650_Set(DIG_BIT_CODE[1],0x00);
  86.             if(Three == 0)
  87.             {
  88.                 AiP650_Set(DIG_BIT_CODE[2],0x00);
  89.             }
  90.             else
  91.             {
  92.                 AiP650_DisPlay(3,Three);
  93.             }
  94.             AiP650_DisPlay(4,Four);
  95.         }
  96.         else
  97.         {
  98.             AiP650_DisPlay(2,Two);
  99.             AiP650_DisPlay(3,Three);
  100.             AiP650_DisPlay(4,Four);   
  101.         }
  102.     }
  103.     else  
  104.     {
  105.         AiP650_DisPlay(1,One);
  106.         AiP650_DisPlay(2,Two);
  107.         AiP650_DisPlay(3,Three);
  108.         AiP650_DisPlay(4,Four);
  109.     }            
  110. }

  111. void Light_Level_Set(u8 Level)                       //設置亮度等級 1-8級
  112. {
  113.     AiP650_Set(0x48,Light_Level_CODE[Level-1]);
  114. }

  115. u8 Scan_Key(void)  // 按鍵掃描
  116. {
  117.     u8 i;
  118.     u8 rekey;
  119.     I2CStart();
  120.     I2CWrByte(0x49);//讀按鍵命令
  121.     I2Cask();
  122.     for(i=0;i<8;i++)
  123.     {
  124.        CLK_H;
  125.        rekey = rekey<<1;
  126.        if(DIO)
  127.        {
  128.        rekey++;
  129.        }
  130.        Delay_us(10);
  131.        CLK_L;
  132.     }
  133.     I2Cask();
  134.     I2CStop();
  135.     return(rekey);
  136. }
復制代碼

Keil代碼和原理圖PDF手冊下載:
【實用電子小模塊】4位數碼管驅動模塊-IIC接口-AIP650芯片.rar (1.24 MB, 下載次數: 737)

評分

參與人數 1黑幣 +15 收起 理由
qq704661078 + 15 贊一個!

查看全部評分

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

使用道具 舉報

沙發
ID:515225 發表于 2019-9-29 17:12 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:607312 發表于 2019-11-8 11:21 | 只看該作者
很好。學習了
回復

使用道具 舉報

地板
ID:61860 發表于 2019-11-29 10:06 | 只看該作者
很好。學習了
回復

使用道具 舉報

5#
ID:663393 發表于 2019-12-17 14:16 | 只看該作者
好東西,拼接到STM32上完全可以使用,感謝
回復

使用道具 舉報

6#
ID:377247 發表于 2020-3-19 21:25 | 只看該作者
謝謝分享!
回復

使用道具 舉報

7#
ID:90619 發表于 2020-4-25 17:01 | 只看該作者
公司正用這款芯片,正好能學習下
回復

使用道具 舉報

8#
ID:739721 發表于 2020-4-27 23:20 | 只看該作者
ATM51可以用這個程序嗎?
回復

使用道具 舉報

9#
ID:744022 發表于 2020-5-4 17:45 | 只看該作者
正在用這芯片,學習一下
回復

使用道具 舉報

10#
ID:682543 發表于 2020-7-7 15:42 | 只看該作者
按鍵那部分讀不出呀樓主
回復

使用道具 舉報

11#
ID:869417 發表于 2021-1-24 23:00 | 只看該作者
有幾塊AIP1637的模塊,到處找資料,謝謝了。不知道通不通用。
回復

使用道具 舉報

12#
ID:869417 發表于 2021-2-13 10:29 | 只看該作者
正好手上有AIP1637的模塊,不過是沒鍵盤的。學習了。謝謝!
回復

使用道具 舉報

13#
ID:691135 發表于 2021-9-7 20:02 | 只看該作者
正在用這芯片,學習一下
回復

使用道具 舉報

14#
ID:1009468 發表于 2022-3-10 14:54 | 只看該作者
剛好用到AIP650的芯片
回復

使用道具 舉報

15#
ID:509666 發表于 2022-4-26 17:13 | 只看該作者
顯示有重影什么問題
回復

使用道具 舉報

16#
ID:618310 發表于 2022-5-9 23:59 | 只看該作者
正在用這芯片,學習一下
回復

使用道具 舉報

17#
ID:142559 發表于 2022-6-15 10:59 | 只看該作者
位選為什么是0x68,0x6a,0x6c,0x6e呢?這幾位分別是什么寄存器
回復

使用道具 舉報

18#
ID:142559 發表于 2022-10-12 16:34 | 只看該作者
歸依龍井 發表于 2022-6-15 10:59
位選為什么是0x68,0x6a,0x6c,0x6e呢?這幾位分別是什么寄存器

了解了,原來是數碼管片選在芯片對應管腳上
回復

使用道具 舉報

19#
ID:168237 發表于 2022-10-27 23:25 | 只看該作者
按鍵讀取失敗
回復

使用道具 舉報

20#
ID:1011952 發表于 2022-10-28 09:09 | 只看該作者
這個芯片完全和TM1650兼容。
回復

使用道具 舉報

21#
ID:1095112 發表于 2023-10-5 11:48 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

22#
ID:1095481 發表于 2023-10-9 11:34 | 只看該作者
好資料,多謝樓主
回復

使用道具 舉報

23#
ID:433219 發表于 2023-10-9 15:08 | 只看該作者
始祖 TM1650  ---》AIP 650   程序兼容吧?
回復

使用道具 舉報

24#
ID:1110724 發表于 2024-2-6 00:39 | 只看該作者
學習學習,感謝分享。
回復

使用道具 舉報

25#
ID:1064915 發表于 2024-2-7 17:25 | 只看該作者
datasheet讀按鍵指令是0x4f00,應該有誤

回復

使用道具 舉報

26#
ID:387572 發表于 2024-6-17 20:31 | 只看該作者
好資料學習中。還是51HEI這網好。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美三区| 久久香焦 | 精品久久久久一区二区国产 | 国产一区二区三区四区 | 成年人在线观看视频 | 国产成人av在线 | 日韩视频专区 | 日韩综合一区 | 亚洲一区二区免费 | 精品久久久久久久久久久院品网 | 国产成人免费 | a级黄色网 | 久久久久亚洲精品中文字幕 | 伊人亚洲| 亚洲综合二区 | 男女免费观看在线爽爽爽视频 | 欧美精品在线一区 | 亚洲永久免费观看 | 可以免费观看的av | 天堂精品 | 欧美伊人 | 天天干天天干 | 97视频久久 | 日韩精品在线视频免费观看 | 日韩精品免费在线观看 | 日韩精品亚洲专区在线观看 | 国产成人99久久亚洲综合精品 | 亚洲a一区二区 | 国产亚韩 | 精品中文字幕在线观看 | 丁香五月缴情综合网 | 中文字幕一区二区三区乱码图片 | 九九亚洲 | 久久久精品久 | 久久久噜噜噜久久中文字幕色伊伊 | 精品欧美| 欧美久久久久 | 国产精品久久久久久久久久 | 有码在线 | 中文字幕精品一区二区三区精品 | 成人免费大片黄在线播放 |