Погонять код не судьба ? И сразу найдётся у вас "конкретный ответ".
Погонять код не судьба ? И сразу найдётся у вас "конкретный ответ".
Что это за кошмар? Неужели нельзя было просто завести массив и написать константы по-человечески? Примерно так я делал на avr-gcc.flash char sim(char number){ char temp;
switch (number) {
case 0: temp = 126; break;
<--->
case '-': temp = 1; break;
}
return temp;
}
Код: Выделить всё
#define SEG_A (1<<0)
#define SEG_B (1<<1)
#define SEG_C (1<<2)
<--->
#define SEG_G (1<<6)
#define SEG_DP (1<<7)
PROGMEM const char nums[]={
(SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F),
(SEG_B | SEG_C),
<--->
(SEG_A | SEG_B | SEG_C | SEG_D | SEG_F | SEG_G),
(SEG_G) //знак "минус"
};
#define NUM_MINUS 10
char* int2str(char *buffer, int value){ //buffer - внешняя область памяти для хранения результирующей строки ; value - отображаемое число
char *buf = buffer+7;
unsigned int temp;
char sign;
if(value<0){sign=1; temp=-value;}else temp=value; //сохраняем знак
*--buf=0; //завершающий ноль
do{
*--buf = temp % 10;
temp /= 10;
}while(temp != 0);
if(sign)*--buf=NUM_MINUS; //используем сохраненный знак
return buf;
}
<--->
char buffer[8];
lcd_puts(int2str(buffer, -1)); //lcd_puts(char *s) принимает на вход строку в стиле Си.
Код: Выделить всё
//10 11 12 13 14 15 16 17 18
flash char sim[]={126,48,109,121,51,91,95,112,127,123,71,62,103,55,119,78,79,99,1};
// 0 1 2 3 4 5 6 7 8 9 F U P H A C E * -
..........
if(temper<0){write(sim[(temper-(temper*2))/10%10], 6);}
Но он не включается. Если выкинуть if(PINB.1==0), двигатель крутится.#include <mega8.h>
#include <delay.h>
void main(void)
{
PORTB=0x02;
DDRB=0x00;
PORTD=0x00;
DDRD=0x0F;
while (1)
{
if(PINB.1==0)
{
PORTD=0b00000011;
delay_ms(10);
PORTD=0b00000110;
delay_ms(10);
PORTD=0b00001100;
delay_ms(10);
PORTD=0b00001001;
delay_ms(10);
}
};
}
Код: Выделить всё
a = (a & 0b11110110) | ((a & 0b00001000) >> 3) | ((a & 0b00000001) << 3);
a = (a & 0b10101111) | ((a & 0b10000000) >> 2) | ((a & 0b00010000) << 2);
По умолчанию это ноги порта, квар туда фьюзами конфигурится.Аlex писал(а):Вообще, на выводы 7,8 , судя по названию, вешается кварц
Выводы питания в протеусе скрыты.
Не огорчайтесь - я еще старше.Ян писал(а):Уже все понял... Дурак я старый...