admin管理员组

文章数量:1534191

2024年5月14日发(作者:)

tm1650驱动程序案例

TM1650是一个常用的LED显示驱动芯片,常用于制作LED显示屏。以下

是一个简单的TM1650驱动程序案例,以C语言编写:

```c

include <>

include <>

define uchar unsigned char

define uint unsigned int

sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

sbit TM1650_RS=P2^0;

sbit TM1650_RW=P2^1;

void delay(uint z) {

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void Write_Com(uchar com) {

LSA=0;

LSB=0;

LSC=0;

P0=com; //先写地址,后写数据

delay(5);

LSB=1; //将LSB置1,再改变LSA即可写入数据

delay(5);

LSA=1; //先写地址,后写数据

delay(5);

LSC=1; //先写地址,后写数据

}

void Write_Data(uchar date) {

P0=date; //向指定的地址写入数据

delay(5);

}

void InitTM1650() { //初始化TM1650芯片

Write_Com(0x38); //设置基本模式

Write_Com(0x0C); //设置段选位反转

Write_Com(0x06); //开显示,光标位移到右端

Write_Com(0x01); //清除显示,光标移到最左边

}

void main() { //主函数

InitTM1650(); //初始化TM1650芯片

while(1) { //循环显示数字

Write_Com(0x80); //设置段选位为第一段

Write_Data('1'); //向第一段写入数字'1'

delay(50); //延时一段时间

Write_Com(0x9F); //设置段选位为第五段

Write_Data('2'); //向第五段写入数字'2'

delay(50); //延时一段时间

Write_Com(0xDF); //设置段选位为第七段

Write_Data('3'); //向第七段写入数字'3'

delay(50); //延时一段时间

}

}

```

本文标签: 显示数据设置案例写入