Пт янв 05, 2024 19:58:04
Пт янв 05, 2024 20:12:28
Пт янв 05, 2024 20:25:28
Пт янв 05, 2024 21:23:44
Вс янв 07, 2024 16:47:46
/*******************************************************
среда CV AVR
Chip type : ATmega8
AVR Core Clock frequency: 4,000000 MHz
*******************************************************/
#include <mega8.h>
#include <delay.h>
#include <io.h>
#define clk PORTD.6 // пины на айтуси
#define dio PORTD.7
#define rr PORTB.5 // порт для диагностики работы программы осциллографом
void I2C_START() // старт айтуси
{
clk=1;
dio=1;
delay_us(10);
dio=0;
}
void I2C_WR(unsigned char dat) // запись команды или информации в тм1637
{
unsigned char i;
for(i=0;i<8;i++)
{
clk=0;
if(dat&0x01)
{ //зачем скобки непонятно но так было в инете
dio=1;
}
else
{
dio=0;
}
delay_us(10);
dat=dat>>1;
clk=1;
delay_us(10);
}
}
void I2C_ACK() // ожидание ответа от тм1637 типа всё норм
{
clk=0;
delay_us(10);
DDRD=(0<<DDD7) ;
delay_us(10);
while(dio);
DDRD=(1<<DDD7) ;
dio=0; //так написано
clk=1;
delay_us(10);
clk=0;
delay_us(10);
}
void I2C_STOP() // останов айтуси
{
delay_us(10);
clk=1;
delay_us(10);
dio=1;
}
void I2C() //тестовая процеДУРА из инета
{
I2C_START();
I2C_WR(0x40); // вкл режим вывода на лсд
I2C_ACK();
I2C_STOP();
I2C_START(); // установить адрес начала буфера данных
I2C_WR(0xc0);
I2C_ACK();
I2C_WR(0x0bf); // запись данных в буфер
I2C_ACK();
I2C_WR(0x3f);
I2C_ACK();
I2C_WR(0x3f);
I2C_ACK();
I2C_WR(0x3f);
I2C_ACK();
I2C_WR(0x4f);
I2C_ACK();
I2C_WR(0x3f);
I2C_ACK();
I2C_STOP(); // включить дисплей настроить яркость
I2C_START();
I2C_WR(0x8f);
I2C_ACK();
I2C_STOP();
}
void main(void)
{
// настройка портов
DDRB=(1<<DDB7) | (1<<DDB6) | (1<<DDB5) | (1<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
DDRD=(1<<DDD7) | (1<<DDD6);
rr=1; // диагностика посещенийй этого места, осликом
delay_ms(10);
rr=0;
while (1)
{
I2C();
while(1);
}
}
Вс янв 07, 2024 18:16:20
Вс янв 07, 2024 18:33:08
Вс янв 07, 2024 18:44:46
Вс янв 07, 2024 19:17:43
Вс янв 07, 2024 19:22:14
Вс янв 07, 2024 19:25:32
Вс янв 07, 2024 19:45:02
Вс янв 07, 2024 19:52:07
Пример кода есть в даташите https://www.puntoflotante.net/DATASHEET-TM1637.pdfNovice user писал(а):Пример кода есть в даташите https://www.puntoflotante.net/DATASHEET-TM1637.pdf
Вс янв 07, 2024 19:53:40
Вс янв 07, 2024 19:55:37
Novice user писал(а):Ну так и пишите "max7219"
Вс янв 07, 2024 19:56:05
Вс янв 07, 2024 19:59:21
Пн янв 08, 2024 03:05:58
Пн янв 08, 2024 09:22:43
Пн янв 08, 2024 09:29:00