Форум myROBOT.ru » Шаг за шагом » Программирование микроконтроллеров » Проблема с программированием МК

Страниц (17): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец
 

76. 1_ulyanovsk - 10 Октября, 2009 - 21:46:34 - перейти к сообщению
Да СПАСИБО. Пробую сейчас оформить это в цикл.
77. nest - 10 Октября, 2009 - 23:07:00 - перейти к сообщению
1_ulyanovsk, у многих µC есть встроенный ADC. у меги8, правда, всего 6 (8)... но ...
можно коммутировать две группы датчиков по 5 штук... в зависимости от применённых датчиков можно аналоговый коммутатор и ОУ вообще убрать....
78. Alex_cnc - 11 Октября, 2009 - 20:11:37 - перейти к сообщению
Parni pomogite LCD ne zapuskaetsa, proshivaju Atmega8 i vse chto na ekrane 16 zalitix simvolov v odny strochky i bolshe ni chego.

CODE:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.3a Evaluation
Automatic Program Generator
© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 26/09/2009
Author : Freeware, for evaluation and non-commercial use only
Company :
Comments:


Chip type : ATmega8
Program type : Application
AVR Core Clock frequency: 10.240000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/

#include <mega8.h>

// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
#include <lcd.h>

typedef unsigned char byte;

// table for the user defined character
// arrow that points to the top right corner
flash byte char0[8]={
0b10000000,
0b10001111,
0b10000011,
0b10000101,
0b10001001,
0b10010000,
0b10100000,
0b11000000};

// function used to define user characters
void define_char(byte flash *pc,byte char_code)
{
byte i,a;
a=(char_code<<3)|0x40;
for (i=0; i<8; i++) lcd_write_byte(a++,*pc++);
}

void main(void)
{
// initialize the LCD for
// 2 lines & 16 columns
lcd_init(16);

// define user character 0
define_char(char0,0);

// switch to writing in Display RAM
lcd_gotoxy(0,0);
// display the user defined characters
lcd_putsf("User defined\nchar 0:");
// display the user defined char 0
lcd_putchar(0);

// stop here
while (1);
79. VCOM - 11 Октября, 2009 - 20:41:14 - перейти к сообщению
У тебя скорей всего контрастность не настроена... Покрути резистор контрастности.
80. Alex_cnc - 11 Октября, 2009 - 21:17:28 - перейти к сообщению
Net y mena VR 0-15Kom stoit krytil bez rezyltatov
(Добавление)
Y mena takoi vopros a esli y mena AVRprog 910 ili BM9010 kogda ja proshiva Atmega 8 mozet bit' takoe chto po usb porty pitanija ne hvataet?
81. nest - 11 Октября, 2009 - 21:45:58 - перейти к сообщению
Alex_cnc пишет:
16 zalitix simvolov v odny strochky i bolshe nichego

ЛЦД модуль не инициализированн.
это всё, что можно сказать из этой информации.
схема, по которой собранно, есть ?
ЛЦД подключён по 8-ми или 4-ёх битной шине ?
82. Alex_cnc - 11 Октября, 2009 - 22:11:39 - перейти к сообщению
Pohody moi BM9010 prikazal dolgo zit', pohody ego mesto v mysorke.
vtikajy v usb port na +5 i gnd tetikom meril daze 0.01V
vidaet
83. nest - 11 Октября, 2009 - 22:42:27 - перейти к сообщению
да судя по схеме программатор то довольно сложно спалить...
или вся схема питалась от УСБ ?
84. Alex_cnc - 11 Октября, 2009 - 23:06:41 - перейти к сообщению
Polychaetsa chto vtikajy v usb bm 9010 krasnii svetodiod na nem zagoraetsa a na otladochnoi plate ne zagoraetsa chto eto mozet bit'. a AVRprog1.40 pishet"Can't enter programing mode", Chipblaster pishet toze samoe.
85. nest - 11 Октября, 2009 - 23:15:48 - перейти к сообщению
вся схема питается от УСБ ?
86. Белый Волк - 12 Октября, 2009 - 03:29:45 - перейти к сообщению
Ни на принципиальной схеме, ни на печатной плате (http://www.masterkit.ru/info/magshow.php?num=380 ) нет соответствующего соединения шины питания USB с конечным устройством. Учитывая, что в оригинальной конструкции программатора есть предохранитель по шине питания (чтобы не вывести из строя USB), а в данной - его нет, а также опираясь на описание MasterKIT ("Ток потребления: не более 50 мА"Подмигивающий, стоит предположить, что конечное (программируемое) устройство необходимо запитать отдельно.
87. 1_ulyanovsk - 12 Октября, 2009 - 20:32:08 - перейти к сообщению
Вопросы тут конечно интересные. Но Безграмоности бой ! ! ! Бобедите безграмоность ! Помогите )) А есть ли что то вроде маски для вывода в порт. Мне нужно вывести на выводы D0-D3 код а D4-D7 оставить без изменения. Не 0 и не 1 . .п росто без изменения. Или аналог маски для вывода только, для чтения я понял как работает а для вывода нет . Искал похожие примеры не нашел. (нужен пример на Си) HE-E-E-LP ! !
88. nest - 12 Октября, 2009 - 21:37:45 - перейти к сообщению
леххко:

CODE:

ldi temp1,0b11010011; регистр, bits0..3 которого должны отправиться в D0-D3

in temp0,PIND
andi temp0,0b11110000 ;mask bits3..0
andi temp1,0b00001111
or temp0,temp1
out PORTD,temp0


но можно и раздельно ставить/сбрасывать биты через sbi/cbi
89. VCOM - 12 Октября, 2009 - 21:39:22 - перейти к сообщению
Чот может я спросоня не понял, но имхо
unsigned char temport,out;
out=0x01;
temport=(0xF0 | out);
PORTD=(PORTD | temport);
В out то что нужно вывести....
(Добавление)
А зачем с PIND то читать? Ж)))) Ему без изменения надо... Да еще и на С Ж)))
90. 1_ulyanovsk - 12 Октября, 2009 - 21:43:47 - перейти к сообщению
nest пишет:
леххко:

CODE:

ldi temp1,0b11010011; регистр, bits0..3 которого должны отправиться в D0-D3

in temp0,PIND
andi temp0,0b11110000 ;mask bits3..0
andi temp1,0b00001111
or temp0,temp1
out PORTD,temp0


но можно и раздельно ставить/сбрасывать биты через sbi/cbi


Вот я вижу маску для вывода как бы. Но как ее в Си реализовать ? Мой Асенмблер оставляет желать лучшего. На симуляторе уже тупо перебирал комбинации масок с портами- никак. Как же все же на Си ?