"совмещение кнопок с шиной данных дисплея - штука хитрая" - это Вы верно сказали. с этим пришлось повозиться.
А схему я очень схематично нарисовал) там проблема с выжиганием была решена на аппаратном уровне, но не мной.
Конфликт с ЛСДшником вроде как решен. лсд инициализирую в начале главного цикла ...
Найдено 67 результатов
- Вт ноя 22, 2011 16:35:04
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
- Вт ноя 22, 2011 15:09:54
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
У меня стоит KEIL проц силабс 8051f314. Силабс не так распространен у радиолюбителей интернетах, поэтому я долго вникал, благо здесь подсказывали.
Ситуация такая:
P3MDOUT = 0; //Настраиваем на вход
P3 = 0xFF; это специфичная штука инициализации. чтоб порты работали на вход.
DB4 = 1;
DB5 = 0 ...
Ситуация такая:
P3MDOUT = 0; //Настраиваем на вход
P3 = 0xFF; это специфичная штука инициализации. чтоб порты работали на вход.
DB4 = 1;
DB5 = 0 ...
- Пн ноя 21, 2011 15:35:46
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
BCluster , я буду безмерно благодарен если Вы подскажете мене анальный вариант.
кнопки обрабатываются в разных функциях, из-за особенности подключения кнопок.
Приведу пример обработки одной кнопки:
unsigned int button1(void)
{
unsigned int Bb1;
P3MDOUT = 0; //Настраиваем на вход
P3 = 0xFF;
DB4 ...
кнопки обрабатываются в разных функциях, из-за особенности подключения кнопок.
Приведу пример обработки одной кнопки:
unsigned int button1(void)
{
unsigned int Bb1;
P3MDOUT = 0; //Настраиваем на вход
P3 = 0xFF;
DB4 ...
- Вт ноя 15, 2011 11:30:07
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
BerZerK-ku, спасибо за простое решение 
- Пн ноя 14, 2011 18:07:47
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
Здравствуйте.
у меня возникло непонимание с конструкцией switch case.
куски кода:
void main (void)
{
while(1)
{
if (button2() == 2)
{JumpToCase2();} // если нажали кнопку 2 то переходит в case2
if (button1() == 1)
{JumpToCase1();} // если 1 то в case1
switch(Su) //Su - глобальная ...
у меня возникло непонимание с конструкцией switch case.
куски кода:
void main (void)
{
while(1)
{
if (button2() == 2)
{JumpToCase2();} // если нажали кнопку 2 то переходит в case2
if (button1() == 1)
{JumpToCase1();} // если 1 то в case1
switch(Su) //Su - глобальная ...
- Вс ноя 13, 2011 12:16:06
- Форум: Периферия
- Тема: Работа с ЖКИ на контроллере HD44780 и его аналогах
- Ответы: 2457
- Просмотры: 969252
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
у дисплея не должна гореть верхняя строка после инициализации. только как произвести инициализацию "без подключенных линий управления\данных" я не знаю.
- Вт ноя 08, 2011 15:16:05
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
8) Считать научил) Спасибо, всем :)) Я могу гарантировать, что это не последнее мое сообщение :))) потому что дальше я буду делать меню :lol:
while (1)
{
P3MDOUT = 0; //
P3 = 0xFF;
B1 = 0;
B2 = 1;
B3 = 0;
B4 = 0;
if (B0 == 1)
{Delay(10000);
Delay(5000);
}
if (B0 == 1)
{status = 1;}
else ...
while (1)
{
P3MDOUT = 0; //
P3 = 0xFF;
B1 = 0;
B2 = 1;
B3 = 0;
B4 = 0;
if (B0 == 1)
{Delay(10000);
Delay(5000);
}
if (B0 == 1)
{status = 1;}
else ...
- Вт ноя 08, 2011 12:32:33
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
Да я вот сейчас как раз и делаю счетчик, разгребая кашу)
- Вт ноя 08, 2011 12:20:54
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
Такой принцип опроса кнопок древний очень и кажется называется "сдвиг регистра", видел в какой то старой книжке. (но я могу полностью ошибаться).
- Вт ноя 08, 2011 11:29:18
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
я именно так над собой и издевался. Благо быстро сообразил что так не получится.
Поэтому я в конце и написал что конкретно я хотел бы реализовать. А именно "сделать счетчик нажатий кнопки. Нажимаешь - 1, еще раз - 2 на экране единицу сменяет двойка...".
Если подробнее то: Кнопка нажимается и ...
Поэтому я в конце и написал что конкретно я хотел бы реализовать. А именно "сделать счетчик нажатий кнопки. Нажимаешь - 1, еще раз - 2 на экране единицу сменяет двойка...".
Если подробнее то: Кнопка нажимается и ...
- Вт ноя 08, 2011 11:10:52
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
Добрый день.
Надеюсь я не исчерпал свою квоту на глупые вопросы.
У меня возникло очередное затруднение, скорее всего из специфичности самодельного девелопментборда (как оказалось этот термин больше подходит, чем "kit").
К третьему порту (Р3) по пинам (3.1, 3.2, 3.3, 3.4) подключен LCD (работает ...
Надеюсь я не исчерпал свою квоту на глупые вопросы.
У меня возникло очередное затруднение, скорее всего из специфичности самодельного девелопментборда (как оказалось этот термин больше подходит, чем "kit").
К третьему порту (Р3) по пинам (3.1, 3.2, 3.3, 3.4) подключен LCD (работает ...
- Сб ноя 05, 2011 16:10:07
- Форум: Разные вопросы по МК
- Тема: Мелкие вопросы по МК и ПЛИС.
- Ответы: 12552
- Просмотры: 2664260
Re: Мелкие вопросы по МК и ПЛИС.
Спасибо, за ссылки!!! Огромнейшее спасибо!
- Сб ноя 05, 2011 14:53:13
- Форум: Разные вопросы по МК
- Тема: Мелкие вопросы по МК и ПЛИС.
- Ответы: 12552
- Просмотры: 2664260
Re: Мелкие вопросы по МК и ПЛИС.
Здравствуйте.
Меня интересует возможность программной записи во флэш микроконтроллера (не "прошивание"). А именно сохранения данных, полученных в процессе работы микроконтроллера, в энергонезависимую память mcu.
Сейчас я "изучаю" silabs c8051f314 (datasheet http://www.keil.com/dd/docs/datashts ...
Меня интересует возможность программной записи во флэш микроконтроллера (не "прошивание"). А именно сохранения данных, полученных в процессе работы микроконтроллера, в энергонезависимую память mcu.
Сейчас я "изучаю" silabs c8051f314 (datasheet http://www.keil.com/dd/docs/datashts ...
- Ср ноя 02, 2011 13:31:48
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
IfoR, извиняюсь. все работает
Я прежде чем предоставить код в студию, еще раз проверил и оказывается не зря)
- Вт ноя 01, 2011 18:40:06
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
Aerarh , спасибо еще раз. void LCD_WriteInt(unsigned int Data) работает нормально!=) правда нули впереди появляются когда число не 5тизначное, но это можно решить добавив пару условий.
IfoR , странно. я вроде так и использовал, но экран оставался пустым. еще раз попробую, может где то что то не ...
IfoR , странно. я вроде так и использовал, но экран оставался пустым. еще раз попробую, может где то что то не ...
- Вт ноя 01, 2011 14:46:47
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
Aerarh, спасибо. опробую сегодня.
- Вт ноя 01, 2011 07:16:32
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
IfoR
Подобный вариант мне попадался. Только я что то протупил над той функцией. void itoa( int value, char * str ) здесь value это число которое надо преобразовать, а str это массив куда всё записывается.
Как мне этой функцией воспользоваться?
я предполагаю что так (для проверки):
int T;
char sT ...
Подобный вариант мне попадался. Только я что то протупил над той функцией. void itoa( int value, char * str ) здесь value это число которое надо преобразовать, а str это массив куда всё записывается.
Как мне этой функцией воспользоваться?
я предполагаю что так (для проверки):
int T;
char sT ...
- Пн окт 31, 2011 16:05:44
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
Поскольку sprintf() - чет уж очень слишком большой. Я мучил гугл в поисках его альтернативы. Нашел itoa() (из int делает char*). В функция нестандартная, в обычных библиотеках Keil'a ее нет. Может у кого завалялся листинг itoa() ? Поделитесь, пожалуйста. sprintf уж очень неэкономично..
ЗЫ пробовал ...
ЗЫ пробовал ...
- Вс окт 30, 2011 15:18:46
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
Аlex, каким образом это получается я не знаю, но обычный текст отображается на экране.
вот функция для лсд:
void write_1(unsigned char pos, const char *a)
{
lcd_CMD(0x80 + pos); // 1000 0000
while (*a)
{
lcd_write(*a++);
}
}
write_1(0, "ОК") и на экране будет ОК
Потом попробую заменить в ...
вот функция для лсд:
void write_1(unsigned char pos, const char *a)
{
lcd_CMD(0x80 + pos); // 1000 0000
while (*a)
{
lcd_write(*a++);
}
}
write_1(0, "ОК") и на экране будет ОК
Потом попробую заменить в ...
- Вс окт 30, 2011 12:49:07
- Форум: Разные вопросы по МК
- Тема: Вопросы по С/С++ (СИ)
- Ответы: 7703
- Просмотры: 1452279
Re: Вопросы по С/С++ (СИ)
01 я так понимаю два байта и вроде как плюс еще один. Вы (Мастер Ломастер) мне уже писали про это размер массива должен быть на 1 символ больше, чем самая длинная строка . Значит мне надо было выделить под это дело ROMt0[ 3 ]
но это не помогает. На экране появляется три символа: в случаи с 01 это ...
но это не помогает. На экране появляется три символа: в случаи с 01 это ...