首页 > 编程知识 正文

雷赛步进驱动报警代码,显卡驱动感叹号代码43

时间:2023-05-06 14:03:53 阅读:179230 作者:15

TM1640的驱动和代码驱动TM1640实际上并不难。 1640请注意通信时电平的变化和数据传输的规律。 首先可以看到1640的数据手册。 (完整的代码请点击文章末尾的共享链接,自己查找。 )

请注意数据的输入条件和结束条件。 输入条件为CLK为高电平时,DIN从低变为高。 以传统的51单片机为例,写出TM1640的输入起始函数。 void TM1640_start ()

{

CLK=0; //CLK=0,DIN=0提高代码可靠性的DIN=1; CLK=1; dlay_ms(5; //5毫秒延迟DIN=0; dlay_ms(5; CLK=0; dlay_ms(5; () ) ) ) )。

同样结束条件是在CLK为高时DIN电平从低变为高,写入其结束函数;

void TM1640_stop ()

{

CLK=0; //CLK=0,DIN=0防止在传输的最后认为数据在结束命令中冲突而导致DIN=0; CLK=1; dlay_ms(5; DIN=1; dlay_ms(5; () ) ) ) )。

可以看到,TM1640实际上并不是真正的总线通信,而是由两个IO端口的电平变化控制的。TM1640将一个8位数据分割成一个数据,在一个传输过程中传输8次,完成一个数据的传输,在传输时达到一定的水平写那个数据传输函数

voidsend_byte(uintnum ) )。

{

uint q;

for(q=8; q0; q--}{clk=0; if(num0x01 ) {DIN=1; dlay_ms(5; }else {DIN=0; dlay_ms(5; }CLK=1; num=num1; }Delay_um(5; () ) ) ) )。

传递函数有很多种写法,在此不多赘述。

以下代码以自动地址加法为例。 TM1640的默认地址相加模式是,

其默认为自加模式,可以不写模式选择函数,但为了更好地理解,写如下:

从第一张图中可以看到,TM1640需要数据传输顺序才能正常显示数码管。

1、设定数据(我们通常只使用自加模式0x40、固定地址模式0x44 ) )。

其函数是:

语音模型(uintk )。

{

if(k ) {TM1640_start; send_byte(0x40; 自动添加TM640_stop (; }else {TM1640_start (; send_byte(0x44; //固定地址TM1640_stop (; () ) ) ) )。

2 )设定地址。 地址有16位,分别对应16位的数字代码。 由上图可知,地址位为0xc0~0xcf; 地址传输不需要在特定函数中进行,而是可以在send_byte )中进行。

例如;

TM1640_start (;

send_byte(0xc0;

3 )设置传输数据。 有16位,各数据相互连续。 中途不需要使用stop ) )函数中断。 需要知道的是,16位数码管是循环显示的,就像单片机数据左移,右移

voidwite_date(/地址自动加法模式

{

TM1640_start (; send_byte(0xc0; //输入起始地址send _ byte (num _ display [0]; //输入数码管显示数据1~16; send_byte(num_display[1] ); send_byte(num_display[2] ); send_byte(num_display[3] ); send_byte(num_display[4] ); send_byte(num_display[5] ); send_byte(num_display[6] ); send_byte(num_display[7] ); send_byte(num_display[8] ); send_byte(num_display[9] ); send_byte(num_display[10]; send_byte(num_display[11]; send_byte(num_display[12]; send_byte(num_display[13]; send_byte(num_display[14]; send_byte(num_display[15]; TM1640_stop (; () ) ) ) )。

这样写很长是为了以后更改各代码的数值,读者可以简洁地练习。

4 )显示控制实际上是数码管亮度调节,脉冲宽度越小亮度越高

voidled_display(uintf ) )。

{

start (; send_byte(f ); 停止(; () ) ) ) )。

关于固定地址模式,和地址自动加法模式没有很大的区别,但是在固定地址模式中,地址和数据同时发生后,在stop )函数中停止,star ) )函数开始后,注意进行下一个位地址和数据的传输。

关于TM1640已经大致说明到此为止了,如果有疑问的话请在后方留言。

链接: https://pan.Baidu.com/s/1 qgtduhqlakgttnllr6ukiw

抽屉代码: 1234

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。