tm1650驱动程序案例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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); //延时一段时间
}
}
```。

相关文档
最新文档