打印

基于中颖SH88F516驱动TM1640的LED数码管驱动程序

[复制链接]
4383|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
缥缈九哥|  楼主 | 2012-2-25 11:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
应朋友要求,设计了一个游戏机的功夫宝宝的控制台板子,用一个SH88F516驱动两片TM1640的芯片,数码管用LN5461AS,驱动代码 tm1640.rar (685 Bytes) 如下:
#include "SH88F516.h"
#include <stdio.h>                /* prototype declarations for I/O functions */
#define  U2DIN    P1_5
#define  U2SCLK    P1_6
#define  U1DIN    P3_7
#define  U1SCLK    P3_6
#define  TM1640_DELAY  1
//0 1 2 3 4 5 6 7 8 9 A B C D E F
const unsigned char code TM1640_CODE[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0X7F, 0x39, 0x3F, 0x79, 0x71};
const unsigned char code TM1640_CODEA[16] _at_ 0xe000;
void tm1640_display(unsigned char *led_data);
void tm1640_delay(unsigned int delay)
{
unsigned int i;
for(i=0;i<delay;i++);
}
void tm1640_start(void)
{
U1DIN  = U2DIN  = 1;
U1SCLK = U2SCLK = 1; tm1640_delay(TM1640_DELAY);
U1DIN  = U2DIN  = 0; tm1640_delay(TM1640_DELAY);
U1SCLK = U2SCLK = 0; tm1640_delay(TM1640_DELAY);
}
void tm1640_end(void)
{
U1SCLK = U2SCLK = 0;
U1DIN  = U2DIN  = 0; tm1640_delay(TM1640_DELAY);
U1SCLK = U2SCLK = 1; tm1640_delay(TM1640_DELAY);
U1DIN  = U2DIN  = 1;   tm1640_delay(TM1640_DELAY);
}
void tm1640_byte(unsigned char data1,unsigned char data2)
{
unsigned int i;
for(i=0;i<8;i++)
{
  data1 = data1 >>1;   U1DIN =CY;
  data2 = data2 >>1;
  U2DIN =CY;    tm1640_delay(TM1640_DELAY);
  U1SCLK = U2SCLK = 1; tm1640_delay(TM1640_DELAY);
  U1SCLK = U2SCLK = 0; tm1640_delay(TM1640_DELAY);
}
}
void tm1640_display(unsigned char *led_data)
{
unsigned int i;
P1M0 &= ~(1<<6 ); P1M1 |= 1<<6; //
P1M0 &= ~(1<<5 ); P1M1 |= 1<<5; //
P3M0 &= ~(1<<6 ); P3M1 |= 1<<6; //
P3M0 &= ~(1<<7 ); P3M1 |= 1<<7; //

tm1640_end();
tm1640_start();
tm1640_byte(0x40,0x40); // command1
tm1640_end();
tm1640_start();
tm1640_byte(0xc0,0xc0); // command2
for(i=0;i<16;i++)
{
  tm1640_byte(TM1640_CODE[led_data],TM1640_CODE[led_data[16+i]]);
}
tm1640_end();
tm1640_start();
tm1640_byte(0x8b,0x8b); // command3
tm1640_end();
}
沙发
neyo.zhong| | 2012-2-27 10:05 | 只看该作者
谢谢九哥的分享。。。。。。顶一个

使用特权

评论回复
板凳
21小跑堂| | 2012-2-28 10:25 | 只看该作者
:lol 来支持~

使用特权

评论回复
地板
lzlong| | 2012-3-1 13:29 | 只看该作者
谢楼主分享啊 学习学习

使用特权

评论回复
5
sztitanmec| | 2013-8-13 15:36 | 只看该作者
呵呵,用到我们公司的TM1640,支持一下下了!

使用特权

评论回复
6
oldda| | 2013-9-3 21:04 | 只看该作者
谢谢分享,刚刚接触中颖的MCU!

使用特权

评论回复
7
llia| | 2013-9-3 22:22 | 只看该作者
挖坟贴。。。

使用特权

评论回复
8
shujie418| | 2013-9-5 15:11 | 只看该作者
来支持下

使用特权

评论回复
9
swordinhand| | 2015-6-23 15:51 | 只看该作者
谢楼主分享啊 学习学习

使用特权

评论回复
10
zzhrgb| | 2018-6-16 10:28 | 只看该作者

使用特权

评论回复
11
zzhrgb| | 2018-6-16 10:29 | 只看该作者
请问是否要在总线接口加上拉电阻啊。。。。。。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:童时不懂世事艰,笑谈学成锦衣还。岁月无声已先过,男儿有泪空自弹。    莫待沾霜愁上发,须嬴吐气喜开颜。拼搏半年誓如愿,不到长城心不甘。

67

主题

1868

帖子

271

粉丝