[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
ШИМ контроллер с LCD дисплеем
marss70Дата: Воскресенье, 31.03.2013, 09:09 | Сообщение # 1
Группа: Проверенные
Сообщений: 80

Статус: Offline
Здравствуйте, вопрос заключается в том, чтобы на дисплее показывалось значение "procent". Т.е. в какое место поставить кусок программы ?
 Cls
 Lcd Procent ; "Procent"
Если этот кусок стоит как сейчас, то да дисплее в Протеусе пишет "PPMAELT" , a в железе пусто.
 Вот сама программа:

$regfile = "attiny2313.dat"
$crystal = 4000000
$hwstack = 32
$swstack = 8
$framesize = 24

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5
Cursor Off

Config Portd.5 = Output
Config Portb.6 = Input
Config Portb.7 = Input

Portb.6 = 1
Portb.7 = 1

Clkpr = &H80
Clkpr = &H05

Tccr0a = &HB1
Tccr0b = &H09
Tcnt0 = 0

Dim Procent As Byte
Dim Procent1 As Byte

Config Portd = Output
Do
If Procent >= 95 Then Procent = 95
If Pinb.6 = 0 Then
Procent = Procent + 5
Waitms 5
End If

If Pinb.7 = 0 Then
Procent = Procent - 5
Waitms 5
 End If

 Cls
 Lcd Procent ; "Procent"

Ocr0a = 200 

Ocr0b = 200 - Procent

Loop
Прикрепления: 2313from45.dsn (79.9 Kb)


 
exersizzeДата: Воскресенье, 31.03.2013, 14:28 | Сообщение # 2
Группа: Администраторы
Сообщений: 723

Статус: Offline
Нет задержки после вывода показаний на дисплей. На деле происходит так что после ввода практически сразу опять идет команда на очистку дисплея cls поэтому и пусто. Добавь задержку 1-2 секунды после строки
Код
Lcd Procent ; "Procent"


 
marss70Дата: Воскресенье, 31.03.2013, 20:40 | Сообщение # 3
Группа: Проверенные
Сообщений: 80

Статус: Offline
Не помогло. Такая же фигня "PPMAELT" на дисплее. Только если убрать строки:
...
Tccr0a = &HB1
Tccr0b = &H09
Tcnt0 = 0
...

Тогда на индикаторе всё правильно, но вся затея с ШИМом уже не работает(




Сообщение отредактировал marss70 - Воскресенье, 31.03.2013, 20:42
 
AlekSДата: Понедельник, 01.04.2013, 18:04 | Сообщение # 4
Группа: Проверенные
Сообщений: 247

Статус: Offline
Попробуй затирание:
Cls убираем

Locate 1 , 1
Lcd "                 "  ' 8 пробелов ?
Wait 1

Ожидания можно меньше.


 
marss70Дата: Вторник, 02.04.2013, 18:37 | Сообщение # 5
Группа: Проверенные
Сообщений: 80

Статус: Offline
Что-то не получается...

 
marss70Дата: Суббота, 06.04.2013, 22:27 | Сообщение # 6
Группа: Проверенные
Сообщений: 80

Статус: Offline
Всё заработало. Переназначил выход Db5 = Portb.2 на Db5 = Portd.6.

 
marss70Дата: Суббота, 06.04.2013, 23:34 | Сообщение # 7
Группа: Проверенные
Сообщений: 80

Статус: Offline
Всё заработало. Переназначил выход Db5 = Portb.2 на Db5 = Portd.6.

 
  • Страница 1 из 1
  • 1
Поиск: