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); //延时一段时间
}
}
```
版权声明:本文标题:tm1650驱动程序案例 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1715648359a462907.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论