Перейти к содержанию

Taras Molchanov

Members
  • Постов

    2
  • Зарегистрирован

  • Посещение

Электроника

  • Стаж в электронике
    Менее года

Достижения Taras Molchanov

Новичок

Новичок (1/14)

  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

0

Репутация

  1. Добрый день собрал! пример из урока (в уроке atmega8A)nokia5110 и atmega328p экран пуст ничего не выводит, загорается подсветка, иногда бывает на весь экран выводит темный квадрат, в протеусе все работает? почему так может быть порты SPI на atmega8A и на 328р одинаковы, в хидере n5110.h порты совпадают. Реализован только один вольтметр. Добавил мигание светодиода что бы понимать что контроллер работает и зашит(мигает) #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include "n5110.h" #define HIGH 0xFF #define LOW 0x00 void presets() { DDRD = HIGH; PORTD = LOW; Lcd_init(); // Lcd_clear(); //Config ADCSRA ADCSRA|=(1<<ADEN) //задействовать АЦП |(1<<ADPS2)|(1<<ADPS1)|(0<<ADPS0);//делитель на 128=64кГц //ADMUX ADMUX|=(1<<REFS1)|(1<<REFS0); //Опорное напряжение 1.1 В внутренее } int readADC(unsigned int ch) { unsigned char set_admux= ADMUX; set_admux &= ~((1<<MUX3) | (1<<MUX2) | (1<<MUX1) | (1<<MUX0)); switch(ch) { case 1:set_admux |=((0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (1<<MUX0)); break; //case 2:set_admux |=((0<<MUX3) | (0<<MUX2) | (1<<MUX1) | (0<<MUX0)); //break; default:break; } ADMUX=set_admux; _delay_us(10); unsigned int tmp=0; ADCSRA|=(1<<ADSC); while (ADCSRA&(1<<ADSC)); tmp=(ADCL|ADCH<<8); return tmp; } int main(void) { presets(); /* Replace with your application code */ while (1) { Lcd_clear(); Lcd_print(0,4,FONT_1X, (unsigned char *)('a')); Lcd_printf(0,0, FONT_1X, readADC(0),1); Lcd_printf(0,1,FONT_1X,(readADC(0)*30)/1023,1); Lcd_printf(0,2, FONT_1X, readADC(1),1); Lcd_printf(0,3,FONT_1X,(readADC(1)*30)/1023,1); Lcd_update(); _delay_ms(100); PORTD=(1<<PIND7); _delay_ms(200); PORTD=(0<<PIND7); } } //_N5110_H_ // Порт к которому подключен LCD (здесь пример распиновки для ATmega8A) // Библиотека использует аппаратный SPI, поэтому если хотите иной порт - придется реализовать SPI программно) #define LCD_PORT PORTB #define LCD_DDR DDRB // Распиновка порта #define LCD_DC_PIN PB1 // DC #define LCD_CE_PIN PB2 // SCE #define SPI_MOSI_PIN PB3 // SDIN #define LCD_RST_PIN PB4 // RESET #define SPI_CLK_PIN PB5 // SCLK
×
×
  • Создать...