Вт июн 01, 2021 21:57:17
Пт июн 04, 2021 12:12:55
#include <tiny13a.h>
#include <bcd.h>
#include <delay.h>
//#include <sleep.h>
#define CE PORTB.2 //
#define CL PORTB.1 //
#define DA PORTB.0 //
byte
set0, set, sw_key ;// номер запомненной позиции настройки
unreal
f_tun;
[b] unreal eeprom set_frq[4]={145450, 145575, 145500, 157100};[/b]
//unreal set_frq[4]={145450, 145575, 145500, 157100};
// byte eeprom chan0=0;
byte chan0=0;
Пт июн 04, 2021 12:31:17
Пт июн 04, 2021 12:32:06
Пт июн 04, 2021 12:39:08
Пт июн 04, 2021 12:53:13
Пт июн 04, 2021 13:06:09
Пт июн 04, 2021 13:09:02
Пт июн 04, 2021 13:13:06
Пт июн 04, 2021 13:53:09
Пт июн 04, 2021 14:13:04
вы имеете ввиду окно просмотра переменных при отладке? так этот массив там и будет пустым, потому как протеус не умеет понимать массивы в FLASH или EEPROM. среди отладочной информации, как я понимаю, нет признака того, что массив не в ОЗУ, вот протеус и не находит егоolegue писал(а):Проблема сейчас в том что в отладке массив пустой
Пт июн 04, 2021 17:22:19
Пт июн 04, 2021 17:32:17
Пт июн 04, 2021 18:05:00
/*******************************************************
Chip type : ATtiny13
AVR Core Clock frequency: 8,000000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 16
*******************************************************/
#include <tiny13.h>
#include <delay.h>
#define CE PORTB.2
#define CL PORTB.1
#define DI PORTB.0
#define RS PORTB.3
#define pause delay_ms(10)
//макрос инвертировани бита (там делльше это понадобится в побидной отправке в регистр сдвига, така отправка идет не с того боку.
#define INVERT_BYTE(a) ((a&1)<<7) | ((a&2)<<5) | ((a&4)<<3) | ((a&8)<<1) | ((a&16)>>1) | ((a&32)>>3) | ((a&64)>>5) | ((a&128)>>7)
//char data[8]= {0,1,1,0,1,1,0,1};
// char c=0b01101101;
char i,j ;
// Declare your global variables here
void showData(char c)
{
char a;
a=INVERT_BYTE (c); // нужно инвертировать байт
i=0;
CE=0; //Отопрем защелку , (если заперта -повторный запуск)
while(i<8)
{
//DI=dt[i];
DI=(a >> i) & 1 ; // инвертированный байт посылаем в регистр сдвига побитно
CL = 1;
RS=1;
pause;
DI=0;
CL = 0;
RS=0;
pause;
i++;
};
CE=1;
}
void main(void)
{
PORTB=0x00;
DDRB=0xFF;
//showData(0b01101101) ;
j=0;
while (1)
{
switch (j) {
case 0:showData(0b00111111); break;
case 1:showData(0b00000110); break;
case 2:showData(0b01011011); break;
case 3:showData(0b01001111); break;
case 4:showData(0b01100110); break;
case 5:showData(0b01101101); break;
case 6:showData(0b01111101); break;
case 7:showData(0b00000111); break;
default:
};
j++;
if (j>7) {j=0;};
}
}
Сб фев 19, 2022 21:59:34
while (1)
{
if(PINB.4 == 1)
{ // если не нажата кнопка (нет несущей) перебираем каналы
chan++; set=chan; //переключим канал
if (chan>3) {chan=0;set=0;} // каналы от 0 до 3 (4канала)
f_tun = set_frq [chan];
write_lm7001 ();
}
else {//а тут слушаем эфир. Так что ли? }
}
Сб фев 19, 2022 22:33:49
while (1) {
if (!PINB.4) {
delay_ms(20);
if (!PINB.4)
b = TRUE;
}
if (b) {
b = FALSE;
chan++;
set = chan; // переключим канал
if (chan > 3) {
chan = 0; // каналы от 0 до 3 (4 канала)
set = 0;
}
f_tun = set_frq[chan];
write_lm7001();
}
}
Сб фев 19, 2022 23:10:59
Вс фев 20, 2022 00:12:13
Вс фев 20, 2022 09:56:15
Вс фев 20, 2022 10:25:46