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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

TM1640單片機驅動源代碼與中文資料下載

  [復制鏈接]
跳轉到指定樓層
樓主
ID:157600 發表于 2017-8-5 09:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
【用途】 LED驅動控制專用電路
【性能 參數】
    采用SOP28的封裝形式。TM1640是一種LED(發光二極管顯示器)驅動控制專用電路,內部集成有MCU數字接口、數據鎖存器、LED高壓驅動等電路。本產品性能優良,質量可靠。主要應用于電子秤及小家電產品的顯示屏驅動。

TM1640引腳圖:

管腳功能定義:


接口說明
微處理器的數據通過兩線總線接口和 TM1640 通信,在輸入數據時當 CLK 是高電平時,DIN 上的信號
必須保持不變;只有 CLK 上的時鐘信號為低電平時,DIN 上的信號才能改變。數據的輸入總是低位在前,
高位在后傳輸.數據輸入的開始條件是 CLK 為高電平時,DIN 由高變低;結束條件是 CLK 為高時,DIN 由
低電平變為高電平。
指令數據傳輸過程如下圖:


tm1640的單片機C語言代碼與大家分享,大家自行移植到自己的工程中
  1. void    delay_tm1640    (u8 _delay_time)     //如果信號引腳接上電容 需增加延時
  2. {
  3.     u8 i= _delay_time;
  4.     while(i--)
  5.     {
  6.         nop();
  7.         nop();
  8.         nop();
  9.         nop();
  10.         nop();
  11.         nop();
  12.     }
  13. }
  14. /******************************************************************************/
  15. void  init_tm1640  (void)
  16. {
  17.     //加入端口處理
  18.     CLK=0;delay_tm1640(1);  
  19.     DIO=1;delay_tm1640(1);
  20.     CLK=1;delay_tm1640(1);
  21.     DIO=0;delay_tm1640(1);
  22. }
  23. /******************************************************************************/
  24. void    start_tm1640    (void)
  25. {
  26.     CLK=0;delay_tm1640(1);  
  27.     DIO=1;delay_tm1640(1);
  28.     CLK=1;delay_tm1640(1);
  29.     DIO=0;delay_tm1640(1);
  30. }
  31. /******************************************************************************/
  32. void    stop_tm1640    (void)
  33. {
  34.     CLK=0;delay_tm1640(1);      
  35.     DIO=0;delay_tm1640(1);   
  36.     CLK=1;delay_tm1640(1);   
  37.     DIO=1;delay_tm1640(1);   
  38. }
  39. /******************************************************************************/
  40. void send_tm1640(unsigned char _data)
  41. {
  42.     unsigned char i=0;
  43.     CLK = 0; delay_tm1640(1);  
  44.     for( i=0;i<8;i++)
  45.     {        
  46.         if(_data&0x01)    {DIO = 1;delay_tm1640(1);}
  47.         else            {DIO = 0;delay_tm1640(1);}
  48.         CLK = 1;delay_tm1640(1);   
  49.         _data>>=1;   
  50.         CLK = 0;delay_tm1640(1);   
  51.     }
  52. }
  53. /******************************************************************************/

  54. void display_tm1640(void)
  55. {
  56.     u8 i;

  57.     start_tm1640();
  58.     send_tm1640( writedatamode_z);     //【地址自動增加】    【寫顯存】
  59.     stop_tm1640();

  60.     start_tm1640();
  61.     send_tm1640(startaddress);           //從c0H起
  62.     for(i=0;i<16;i++)
  63.     {
  64.         send_tm1640(dis_buf[i]);
  65.     }
  66.     stop_tm1640();

  67.     start_tm1640();
  68.     send_tm1640(disconmode);//傳顯示控制命令
  69.     stop_tm1640();
  70. }
  71. /******************************************************************************/
復制代碼
   特性:
    采用功率CMOS工藝
    顯示模式(8段×16位),支持共陰數碼管輸出
    輝度調節電路(占空比8級可調)
    兩線串行接口(CLK,DIN)
    振蕩方式:內置RC振蕩(450KHz+5%)
    內置上電復位電路
    內置自動消隱電路
    封裝形式:SOP28

tm1640.h
  1. /******************************************************************************/
  2. #ifndef __tm1640_h__
  3. #define __tm1640_h__
  4. /******************************************************************************/
  5. #define seg         8
  6. #define grid         16

  7. /******************************************************************************/
  8. //顯示模式設置命令        0x00  TM1640不支持
  9. /******************************************************************************/
  10. //#define dissetmode 0x00             //顯示模式設置 4COM 13SEG
  11. //#define dissetmode 0x01             //顯示模式設置 5COM 12SEG
  12. //#define dissetmode 0x02             //顯示模式設置 6COM 11SEG
  13. //#define dissetmode 0x03              //顯示模式設置 7COM 10SEG


  14. /******************************************************************************/
  15. //數據命令設置  0x40
  16. /******************************************************************************/
  17. //自動地址增加                        bit2 = 0
  18. //固定地址                                bit2 = 1
  19. #define writedatamode_z         0x40        //【地址自動增加】        【寫顯存】
  20. #define writedatamode_g         0x44        //【固定地址】                 【寫顯存】

  21. /******************************************************************************/
  22. //地址命令設置        0XC0 + 16字節數據
  23. /******************************************************************************/
  24. //顯示地址0-16        對應RGID1-16
  25. #define startaddress                 0xc0        //起始地址

  26. /******************************************************************************/
  27. //顯示控制                0x80
  28. /******************************************************************************/
  29. //設置脈沖寬度為1/16        bit210 = 0
  30. //設置脈沖寬度為2/16        bit210 = 1
  31. //設置脈沖寬度為4/16        bit210 = 2
  32. //設置脈沖寬度為10/16        bit210 = 3
  33. //設置脈沖寬度為11/16        bit210 = 4
  34. //設置脈沖寬度為12/16        bit210 = 5
  35. //設置脈沖寬度為13/16        bit210 = 6
  36. //設置脈沖寬度為14/16        bit210 = 7

  37. //顯示關   bit3 = 0
  38. //顯示開   bit3 = 1

  39. //#define disconmode                         0x8b        //【顯示開】 【4/16 點空比】
  40. //#define disconmode                         0x8c          //【顯示開】 【11/16 點空比】
  41. #define disconmode                         0x8f         //【顯示開】 【14/16 點空比】
  42. //#define        disp_off                        0x80                //【顯示關】 【14/16 點空比】
  43. //#define disp_pwm0               0x88            //【顯示開】 【1/16 點空比】
  44. /******************************************************************************/

  45. #define datacount                         16      //采用地址自動加一方式傳輸數據的個數

  46. /******************************************************************************/
  47. #define     DIO P41
  48. #define     CLK P40
  49. /******************************************************************************/
  50. void          init_tm1640          (void);
  51. void        delay_tm1640        (u8 _delay_time);
  52. void        start_tm1640        (void);
  53. void        stop_tm1640                (void);
  54. void         send_tm1640                (unsigned char _data);

  55. void display_tm1640                (void);

  56. /******************************************************************************/
  57. #endif
  58. /******************************************************************************/
復制代碼

中文pdf下載: TM1640_datasheet.pdf (279.36 KB, 下載次數: 141)
51hei找到的相關資料:
http://www.zg4o1577.cn/bbs/dpj-179655-1.html
http://www.zg4o1577.cn/bbs/dpj-202994-1.html
http://www.zg4o1577.cn/bbs/dpj-213018-1.html

評分

參與人數 1黑幣 +5 收起 理由
jjy1039 + 5

查看全部評分

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

使用道具 舉報

沙發
ID:234818 發表于 2018-1-2 09:33 | 只看該作者
不錯,學習下 好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:382826 發表于 2018-9-22 12:01 | 只看該作者
是51的單片機用的嗎?請教一下 您的代碼如何移植?
回復

使用道具 舉報

地板
ID:302252 發表于 2019-1-2 15:59 | 只看該作者
學習學習!!
回復

使用道具 舉報

5#
ID:84776 發表于 2019-12-18 16:43 | 只看該作者
好資料....
回復

使用道具 舉報

6#
ID:994319 發表于 2021-12-19 20:54 來自手機 | 只看該作者
移植成功了,延時函數那里要改,,屏蔽了幾個定義函數的代碼,改了下數組,然后成功了
回復

使用道具 舉報

7#
ID:991042 發表于 2023-11-13 11:53 | 只看該作者
gewenya 發表于 2021-12-19 20:54
移植成功了,延時函數搶鏌模簾瘟思父齠ㄒ搴拇,改猎A率椋緩蟪曬α?/blockquote>

請問你都改了啥啊   我改不動
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品二区 | 成年人网站免费 | 精品综合久久 | 999久久久 | 亚洲成人网在线 | 免费在线观看av网站 | 天天干天天草 | 国产成人久久av免费高清密臂 | 欧美日韩国产精品一区二区 | 亚洲性视频网站 | 久久国产一区 | 91视频三区 | 日韩欧美亚洲一区 | 视频一二区| 精品国产一区二区三区久久 | 国产成人精品一区二区在线 | 精品免费国产视频 | 国产在线一区二 | 亚洲三区在线观看 | 亚洲一区日韩 | 毛片免费观看视频 | 日韩精品在线看 | 夜久久 | 日韩福利在线 | 国产成人精品一区二区三 | 夜夜草导航 | 在线观看三级av | 国产激情免费视频 | 欧美大片一区 | 夜夜骑天天干 | 国产中文字幕在线 | 超碰人人爱 | 一区二区三区不卡视频 | 九九精品在线 | 黄视频欧美 | 欧美日韩一 | www.国产.com| 成人性视频免费网站 | 九色av| 国产精品久久久久aaaa九色 | 国产aⅴ爽av久久久久久久 |