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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14919|回復: 11
收起左側

IIC驅動四位數碼管顯示模塊 TM1650數碼管顯示 I2C協議 按鍵調節

  [復制鏈接]
ID:284341 發表于 2019-3-30 23:46 | 顯示全部樓層 |閱讀模式
功能描述:I2C總線接口,只需要4根線就可以驅動4位數碼管顯示和3個按鍵的
掃描,可做面板使用,正面只有數碼管和按鍵,其他元件都在背面,可連接各
種單片機實現控制,簡單方便,另外可配本店其他繼電器板子實現功能。
【簡要說明】
一、 尺寸:長42mmX寬36mmX高10mm
二、 主要芯片:共陰數碼管,TM1650(專用數碼管驅動芯片)
三、 供電電壓:直流5V  電流小于50MA
四、特點:
1、內部有專用數碼管驅動電路
2、四位一體數碼管顯示
3、使用壽命:≥5萬小時
4、排線長度:30cm (送)
5、驅動方式:I2C協議
6、電器絕緣電阻100M
7工作溫度-40度至 +70度
8、工作濕度 40%  ~ 80%RH
9、板子功耗小于0.1W
功能特點:
1、只用四根線就可以方便連接
2、只占用單片機兩個IO口,大大減少了單片機IO口
3、八級灰度可以調節,可以通過寫寄存器的值來調節
4、無需單片機主程序動態去掃描,大大節省了單片機CPU占用率
5、方便與各種單片機控制板連接,用于顯示和參數設置調節
6、接口采用白色優質插頭,插拔方便,接線方便
7、用途廣泛,可用于單片機控制板需要拓展顯示的電路板等等
8、四個固定孔3mm方便客戶安裝設備面板
用途:
用于計數器、延時器、頻率計、秒表、電壓電流顯示等等,也可配套我們繼電器控制板用來顯示時間和參數調節
使用說明:
【標注說明】
接線說明
原理圖


PCB

元件清單
參考例程

程序中晶振位6M,數碼管3個按鍵,按第一個進入設置模式,此時后面的數碼管開始閃爍,
按后2個按鍵可以調節時間,再次按設置鍵回到時間顯示狀態
觸發后開始延時,繼電器吸和,延時結束后繼電器斷開
***************************************/
#include"STC15F104E.h"
#include"TM1650.h"
#include"eeprom.h"
#define uchar unsigned char
#define uint unsigned int
uchar CODE[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0~9顯示代碼
sbit  OUT = P3^2;
sbit IN = P3^5;
uint time1,time2;
uchar count;
uchar disbuf[4] = {0,0,0,0};
uchar update_dis;
uchar key_timeto;
uchar mode;
uchar t,t1;
uint time;
static uchar stat;
uchar Start_Delay;
void init_timer(void) //定時器初始化
{
TMOD = 0x01;  //定時器模式
TH0 = (65535-1000)/256;//定時器賦初值
TL0 = (65535-1000)%256;
ET0 = 1;  //開定時器中斷
TR0 = 1; //開定時器
EA = 1; //開總中斷
}
void main(void) //
{
uchar key,key_ok;
Init_Tm1650();//初始化數碼管
TM1650_Set(0x68,CODE[0]);//初始化后要把顯存先寫數據就能顯示
TM1650_Set(0x6A,CODE[0]);
TM1650_Set(0x6C,CODE[0]);
TM1650_Set(0x6E,CODE[0]);
time1 = (IapReadByte(0)<<8)+IapReadByte(1);//eeproM中數據,初始化時間初值
if(time1 >= 999)//如果時間值大于999則是第一次上電
{
time1 = 200;//則為默認值
}
init_timer();//定時器初始化
time = time1;//初始化時間
while(1)
{
if(key_timeto)//如果按鍵掃描時間到,此變量在定時器中會被每隔60ms1一次
{
key_timeto = 0; //0
key = Scan_Key();//讀按鍵
//第一個按鍵按下
if(key == 0x47)   //此鍵值和數據手冊上對應
{
if(key_ok==0) //按鍵按下
{
key_ok = 1;
mode = (mode+1)%2;//切換模式
}
}
//第二個按鍵按下
else if(key == 0x4d)
{
if(mode == 1)//模式1為設置模式
{
if(time1<999)
time1 = (time1+1);//按此鍵加時間
}
else if(mode ==2)
{
time2 = (time2+1);
}
IapEraseSector(0);//保持改變后的時間值
IapProgramByte(0,(time1>>8));
IapProgramByte(1,(uchar)time1);
}
//第三個按鍵按下
else if(key == 0x56)
{
if(mode == 1)//模式1
{
if(time1>0)
{
time1--;//減時間
}
}
else if(mode ==2)
{
if(time2>0)
{
time2--;
}
}
IapEraseSector(0); //保存時間
IapProgramByte(0,(time1>>8));
IapProgramByte(1,(uchar)time1);
}
else
{
key_ok = 0;
}
}
if(update_dis) //30ms到,更新顯示
{
update_dis = 0;
if(stat ==0)
{
if(mode == 1)//如果是模式1
{
t1++;
if(t1<=4) //則后三位閃爍顯示
{
TM1650_Set(0x68,0x77); //顯示
TM1650_Set(0x6A,CODE[time1/100]);
TM1650_Set(0x6C,CODE[time1/10%10]|0x80);
TM1650_Set(0x6E,CODE[time1%10]);
}
else  //
{
if(t1>8)
t1 = 0;   //不顯示
TM1650_Set(0x68,0x77);
TM1650_Set(0x6A,0);
TM1650_Set(0x6C,0);
TM1650_Set(0x6E,0);
}
}
else if(mode == 0)
{
TM1650_Set(0x68,0x77);
TM1650_Set(0x6A,CODE[time/100]);
TM1650_Set(0x6C,CODE[time/10%10]|0x80);
TM1650_Set(0x6E,CODE[time%10]);
}
}
else if(stat == 1)//最后倒計時完后顯示的內容
{
TM1650_Set(0x68,0x40);
TM1650_Set(0x6A,0x40);
TM1650_Set(0x6C,0x40);
TM1650_Set(0x6E,0x40);
}
}
}
}
void timer() interrupt 1//定時器中斷
{
static uchar key,L_key;
static uint cnt,cnt1,cnt2;
TH0 = (65535-1000)/256;//6M晶振,2ms進一次中斷
TL0 = (65535-1000)%256;
L_key = key;   //保持此次狀態
key = IN; //讀取輸入狀態
if((key == 0)&&(L_key ==  1))//如果是輸入有觸發
{
cnt = cnt1 = 0;
if(++count>=1)
{
count = 2;
OUT = 0;  //開繼電器
Start_Delay = 1;//開始計時
time = time1;
stat = 0;
}
}
if(++cnt2>=30) //更新按鍵掃描和顯示標記位
{
cnt2 = 0;
update_dis = 1;
key_timeto = 1;
}
if(Start_Delay)//如果開始延時
{
if(++cnt1>=50) //0.1s
{
cnt1 = 0;
if(stat==0)
{
if(time == 0)//如果時間為0
{
OUT  = 1;//關繼電器
stat = 1;
Start_Delay = 0; //停止延時
}
if(time>0) //時間大于0就減1
{
time--;
}
}
else if(stat== 1)
{
}
}
}
}
   
【圖片展示】

GYJ-0138_四位數碼管串行驅動模塊發貨資料.rar

4.32 MB, 下載次數: 109, 下載積分: 黑幣 -5

GYJ-0138_四位數碼管串行驅動模塊使用手冊.doc

2.75 MB, 下載次數: 57, 下載積分: 黑幣 -5

GYJ-0138_四位數碼管串行驅動模塊使用手冊.pdf

1.03 MB, 下載次數: 62, 下載積分: 黑幣 -5

GYJ-0138_四位數碼管串行驅動模塊應用例程.rar

210.2 KB, 下載次數: 154, 下載積分: 黑幣 -5

GYJ-0138_四位數碼管串行驅動模塊原理圖及PCB圖.pdf

258.88 KB, 下載次數: 84, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:549358 發表于 2019-5-28 19:48 | 顯示全部樓層
可以解釋下工作原理嗎
回復

使用道具 舉報

ID:302850 發表于 2019-5-29 00:38 來自手機 | 顯示全部樓層
很棒的資料,喜歡
回復

使用道具 舉報

ID:601868 發表于 2019-8-20 10:35 | 顯示全部樓層
支持一下。。。
回復

使用道具 舉報

ID:601868 發表于 2019-9-6 16:33 | 顯示全部樓層
lz,我按照你的電路做了一版。對你的電路,給你一點建議。
按照tm1650的datasheet中可以按照豎排按鍵連接的方式,這樣的好處是只要一個電阻即可。
回復

使用道具 舉報

ID:38658 發表于 2019-12-26 17:38 | 顯示全部樓層
怎么弄數碼管就是不顯示,搞不懂,而且我問了一個兄弟,他居然給每一個段都定義了,但也沒有顯示。
回復

使用道具 舉報

ID:275111 發表于 2020-3-31 17:52 | 顯示全部樓層
mark
看看按鍵板是怎么使用I2C的。
回復

使用道具 舉報

ID:843102 發表于 2020-11-13 15:12 | 顯示全部樓層
看不見圖片啊
回復

使用道具 舉報

ID:334781 發表于 2022-2-28 16:21 | 顯示全部樓層
樓主是高手,下載學習一下,好資料,正在找關于1650按鍵方面的程序呢,謝謝。
回復

使用道具 舉報

ID:93375 發表于 2022-4-24 22:38 | 顯示全部樓層
thank you very much share
回復

使用道具 舉報

ID:379382 發表于 2022-6-6 15:37 | 顯示全部樓層
樓主是高手,下載學習一下,好資料
回復

使用道具 舉報

ID:601194 發表于 2022-9-14 02:22 | 顯示全部樓層
可以解釋下工作原理嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本一区二区三区四区 | 久久久久久亚洲精品不卡 | 特黄视频 | 色综久久| 国产精品区二区三区日本 | 国产精品视频一区二区三区 | 亚洲成人一二三 | 中文字幕在线观看一区二区 | 欧美中国少妇xxx性高请视频 | 成人中文字幕在线观看 | 男人天堂国产 | 久久综合婷婷 | 日韩欧美网 | 天堂av中文在线 | 日韩在线观看一区 | 人操人人干人 | 正在播放一区二区 | 九九九视频在线 | 欧美老少妇一级特黄一片 | 91在线精品视频 | 国产精品日韩在线观看一区二区 | 欧美在线观看一区 | 国产亚洲精品精品国产亚洲综合 | 精品国产一区二区三区观看不卡 | 精品久久久久一区二区国产 | 91大神在线资源观看无广告 | 91精品国产91久久久久久密臀 | 99精品亚洲国产精品久久不卡 | 午夜成人免费视频 | 免费观看www7722午夜电影 | 日日夜夜av | 精品欧美一区免费观看α√ | 国产精彩视频在线观看 | 在线观看免费高清av | 中文字幕成人 | 亚洲国产精品一区二区三区 | 亚洲xxxxx | 特级丰满少妇一级aaaa爱毛片 | 亚洲欧美精品在线观看 | 久久久久久av | 国产成人aⅴ |