找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4148|回复: 5
打印 上一主题 下一主题
收起左侧

单片机+tm1628固定地址驱动程序

[复制链接]
跳转到指定楼层
楼主
新手一米,学习1628使用,分享1628固定地址写数据。不喜勿喷。

单片机源程序如下:
  1. #include "tm1628.h"


  2. sbit CLK = P0^6;
  3. sbit DIO = P0^5;
  4. sbit STB = P0^4;


  5. char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  6. 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};


  7. /*管脚初始*/
  8. void gpio_config()
  9. {
  10.         P0OE = (P0OE &~ 0X70) | 0X70;
  11.         P0_4 = 1;
  12.         P0_5 = 1;
  13.         P0_6 = 1;
  14. }

  15. /*延时**/
  16. void delay_nop(unsigned char i)
  17. {
  18.         unsigned char x;
  19.         for(x=0;x<i;x++)
  20.         {
  21.                 _nop_();_nop_();
  22.         }
  23. }

  24. /*写数据*/
  25. void tm1628_writeonebyte(unsigned char command)
  26. {
  27.         unsigned char i;
  28.         for(i=8;i>0;i--)
  29.         {
  30.                  if( (command&0x01))
  31.                  {
  32.                          DIO = 1;
  33.                  }else
  34.                  {
  35.                          DIO = 0;
  36.                  }
  37.                 CLK = 0;
  38.                 delay_nop(10);
  39.                 command= command >>1;
  40.                 CLK = 1;
  41.         }
  42.         delay_nop(40);

  43. }

  44. /*写命令*/
  45. void tm1628_wrcom(unsigned char com)
  46. {       
  47.         STB = 1;
  48.         delay_nop(5);
  49.         STB = 0;
  50.         delay_nop(2);
  51.         tm1628_writeonebyte(com);
  52.         delay_nop(2);
  53. }

  54. /*写地址,table数值*/
  55. void tm1628_adderdat(unsigned char add,unsigned char dat)
  56. {       
  57.         STB = 1;
  58.         delay_nop(5);
  59.         STB = 0;
  60.         delay_nop(2);
  61.         tm1628_writeonebyte(add);
  62.         tm1628_writeonebyte(table[dat]);
  63.         delay_nop(2);

  64. }

  65. /*指定地址,显示数*/
  66. void tm1628_display(unsigned char adder,unsigned char val)
  67. {
  68.         tm1628_wrcom(0x03);    // 4位13段
  69.         tm1628_wrcom(0x44);    // 固定地址
  70.        
  71.         tm1628_adderdat(adder,val);
  72.         tm1628_wrcom(0x8f);    //开显示
  73.         STB  = 1;
  74.         delay_nop(100);
  75. }
复制代码


1628.zip

55.27 KB, 下载次数: 113, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2020-11-20 17:47 | 只看该作者
能分享一下原理图或者介绍下电路连接吗?
回复

使用道具 举报

板凳
ID:642727 发表于 2020-11-24 14:26 | 只看该作者
51hei团团 发表于 2020-11-20 17:47
能分享一下原理图或者介绍下电路连接吗?

随便找一个共阴极的数码管    连接到1628对应的管口就可以啦   ,
你可以去下载一个1628的数据手册   没有的话回来找我
回复

使用道具 举报

地板
ID:1069097 发表于 2023-4-11 19:50 来自手机 | 只看该作者
wang122684 发表于 2020-11-24 14:26
随便找一个共阴极的数码管    连接到1628对应的管口就可以啦   ,
你可以去下载一个1628的数据手册   没 ...

这个可以发一下吗,我是个新人
回复

使用道具 举报

5#
ID:1064915 发表于 2023-4-12 09:10 | 只看该作者
tm1628手册
TM1628数据手册.PDF (726.35 KB, 下载次数: 12)
回复

使用道具 举报

6#
ID:1064915 发表于 2023-4-12 10:02 | 只看该作者

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表