標題: AIP650芯片單片機程序 實用電子小模塊-4位數碼管驅動模塊-IIC接口 [打印本頁]
作者: 美巖電子制作 時間: 2019-8-16 10:34
標題: 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.3V和5V單片機,無需增加電壓轉換電路;
應用:
Ø 本模塊可應用于制作計數器、頻率計、秒表、電壓表等等數碼管顯示的場合;
適用:
Ø 單片機學習、DIY等。
51hei圖片_20190816102402.jpg (93.09 KB, 下載次數: 222)
下載附件
2019-8-16 10:31 上傳
51hei圖片_20190816102419.jpg (58.07 KB, 下載次數: 201)
下載附件
2019-8-16 10:31 上傳
附件包含原理圖,51單片機的驅動例程,和芯片的Datasheet。
單片機源程序如下:
- #include "Config.H"
- //數碼管0-9顯示代碼 0 1 2 3 4 5 6 7 8 9
- u8 DISPLAY_CODE[10] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f };
- //數碼管位數 1 2 3 4
- u8 DIG_BIT_CODE[4] = { 0x68,0x6a,0x6c,0x6e };
- //8段顯示亮度等級 1 2 3 4 5 6 7 8
- u8 Light_Level_CODE[8] = { 0x11,0x21,0x31,0x41,0x51,0x61,0x71,0x01 };
- void I2CStart(void)//開始信號
- {
- CLK_H;
- DIO_H;
- Delay_us(5);
- DIO_L;
- }
- void I2Cask(void) //ACK信號
- {
- u8 timeout = 1;
- CLK_H;
- Delay_us(5);
- CLK_L;
- while((DIO)&&(timeout<=100))
- {
- timeout++;
- }
- Delay_us(5);
- CLK_L;
- }
- void I2CStop(void) //停止信號
- {
- CLK_H;
- DIO_L;
- Delay_us(5);
- DIO_H;
- }
- void I2CWrByte(u8 oneByte) //寫一個字節高位在前,低位在后
- {
- u8 i;
- CLK_L;
- Delay_us(1);
- for(i=0;i<8;i++)
- {
- oneByte = oneByte<<1;
- DIO = CY;
- CLK_L;
- Delay_us(5);
- CLK_H;
- Delay_us(5);
- CLK_L;
- }
- }
- void AiP650_Set(u8 add,u8 dat) //數碼管顯示
- {
- //寫顯存必須從高地址開始寫
- I2CStart();
- I2CWrByte(add); //第一個顯存地址
- I2Cask();
- I2CWrByte(dat);
- I2Cask();
- I2CStop();
- }
- void AiP650_DisPlay(u8 DIG_Bit, u8 Display_num) //顯示一位數字
- {
- AiP650_Set(DIG_BIT_CODE[DIG_Bit-1],DISPLAY_CODE[Display_num]);
- }
- void AiP650_CLR() //清屏
- {
- u8 i;
- for(i=0;i<4;i++)
- {
- AiP650_Set(DIG_BIT_CODE[i],0x00);
- }
- }
- void AiP650_DisPlayFourNum(u16 Display_num) //顯示一個四位數 (0-9999)
- {
- u8 One,Two,Three,Four;
- One = Display_num/1000;
- Two = Display_num%1000/100;
- Three = Display_num%100/10;
- Four = Display_num%10;
- if(One == 0)
- {
- AiP650_Set(DIG_BIT_CODE[0],0x00);
- if(Two == 0)
- {
- AiP650_Set(DIG_BIT_CODE[1],0x00);
- if(Three == 0)
- {
- AiP650_Set(DIG_BIT_CODE[2],0x00);
- }
- else
- {
- AiP650_DisPlay(3,Three);
- }
- AiP650_DisPlay(4,Four);
- }
- else
- {
- AiP650_DisPlay(2,Two);
- AiP650_DisPlay(3,Three);
- AiP650_DisPlay(4,Four);
- }
- }
- else
- {
- AiP650_DisPlay(1,One);
- AiP650_DisPlay(2,Two);
- AiP650_DisPlay(3,Three);
- AiP650_DisPlay(4,Four);
- }
- }
- void Light_Level_Set(u8 Level) //設置亮度等級 1-8級
- {
- AiP650_Set(0x48,Light_Level_CODE[Level-1]);
- }
- u8 Scan_Key(void) // 按鍵掃描
- {
- u8 i;
- u8 rekey;
- I2CStart();
- I2CWrByte(0x49);//讀按鍵命令
- I2Cask();
- for(i=0;i<8;i++)
- {
- CLK_H;
- rekey = rekey<<1;
- if(DIO)
- {
- rekey++;
- }
- Delay_us(10);
- CLK_L;
- }
- I2Cask();
- I2CStop();
- return(rekey);
- }
復制代碼
Keil代碼和原理圖PDF手冊下載:
【實用電子小模塊】4位數碼管驅動模塊-IIC接口-AIP650芯片.rar
(1.24 MB, 下載次數: 737)
2019-8-16 10:30 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: wangshimao 時間: 2019-9-29 17:12
好資料,51黑有你更精彩!!!
作者: cdiyy 時間: 2019-11-8 11:21
很好。學習了
作者: chenwbs 時間: 2019-11-29 10:06
很好。學習了
作者: 564658485 時間: 2019-12-17 14:16
好東西,拼接到STM32上完全可以使用,感謝
作者: tianhehui 時間: 2020-3-19 21:25
謝謝分享!
作者: xiaohu520 時間: 2020-4-25 17:01
公司正用這款芯片,正好能學習下

作者: dujiaxiu 時間: 2020-4-27 23:20
ATM51可以用這個程序嗎?
作者: 大閘蟹123 時間: 2020-5-4 17:45
正在用這芯片,學習一下
作者: xvrfgsdfasdf 時間: 2020-7-7 15:42
按鍵那部分讀不出呀樓主
作者: qw2229 時間: 2021-1-24 23:00
有幾塊AIP1637的模塊,到處找資料,謝謝了。不知道通不通用。
作者: qw2229 時間: 2021-2-13 10:29
正好手上有AIP1637的模塊,不過是沒鍵盤的。學習了。謝謝!
作者: bowaterbo 時間: 2021-9-7 20:02
正在用這芯片,學習一下
作者: 名字不用太長 時間: 2022-3-10 14:54
剛好用到AIP650的芯片
作者: stzm 時間: 2022-4-26 17:13
顯示有重影什么問題
作者: 積極向前 時間: 2022-5-9 23:59
正在用這芯片,學習一下
作者: 歸依龍井 時間: 2022-6-15 10:59
位選為什么是0x68,0x6a,0x6c,0x6e呢?這幾位分別是什么寄存器
作者: 歸依龍井 時間: 2022-10-12 16:34
了解了,原來是數碼管片選在芯片對應管腳上
作者: 壇論子電黑15 時間: 2022-10-27 23:25
按鍵讀取失敗
作者: 乙豬 時間: 2022-10-28 09:09
這個芯片完全和TM1650兼容。
作者: zhangming-0713 時間: 2023-10-5 11:48
好資料,51黑有你更精彩!!!
作者: chenhust 時間: 2023-10-9 11:34
好資料,多謝樓主
作者: wkman 時間: 2023-10-9 15:08
始祖 TM1650 ---》AIP 650
程序兼容吧?
作者: 1066989162 時間: 2024-2-6 00:39
學習學習,感謝分享。
作者: joyb 時間: 2024-2-7 17:25
datasheet讀按鍵指令是0x4f00,應該有誤
dbb44aed2e738bd4fdd1be669c4bcadd257ff9c4.webp.jpg (133.79 KB, 下載次數: 43)
下載附件
2024-2-7 17:23 上傳
作者: ZhaoM.J 時間: 2024-6-17 20:31
好資料學習中。還是51HEI這網好。
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |