![Фотография](https://vse.kz/public/style_images/osnovnoi34/profile/default_large.png)
Микроконтроллеры и DSP
#182
Отправлено 18.03.2012, 11:23:45
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Вы не поняли, исходник проэкта есть?
Не прошивка а именно исходник.
Нормальный это многократно перепрограмируемый, например 12f629, 16f628, 16f876, 18f2520. Это те камни, которые можно у нас прибрести.
Ссылку дайте на проэкт.
Сообщение отредактировал russo_turisto: 18.03.2012, 11:46:17
#183
Отправлено 18.03.2012, 17:08:23
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Не знаю как файлю вставлять... попробую текстом
;**************************************************************
; Программа HEXANZ.asm. Шестнадцатеричная индикация.
; Порт B – вход данных, два светодиодных индикатора управляются
; через порт C.
; PIC 16C55, f = 4,096 МГц
;**************************************************************
; Определение регистров
RTCC equ 1
PC equ 2
STAT equ 3
FSR equ 4
PORTA equ 5
PORTB equ 6
PORTC equ 7
R0 equ 8
R1 equ 9 ; Регистры 10 и 11 – для индикации
DIGIT equ 0A ; Счетчик цифр
ZWISCH equ 0B
; Константы
anf equ 0F ; Начальный адрес (косвенная адресация)
; Регистры назначения
w equ 0
f equ 1
; Разряды
zero equ 2
carry equ 0
org 0
beginn goto init
;**************************************************************
anz clrw ; Подготовка
tris PORTA ; Порт A - выход
tris PORTC ; Порт C - выход
movlw anf ; Начальный адрес цифры 0
movwf FSR ; Для косвенной адресации
movlw 02 ; Счетчик для 2-х разрядов
movwf DIGIT
movlw 04 ; Подготовка RTCC (внутреннее
; тактирование, делитель 32)
option ; 5 мс до переполнения при
; f = 4,096 МГц
clrf PORTA ; Порт A – для цифр
bsf STAT,carry ; Устанавливаем флаг C
wdh1 movlw 0F ; Небольшая пауза для переключения
tris PORTA ; Порт A - вход
incf FSR,f ; D0 через косвенную адресацию
movf 0,w ; Загружаем в W
movwf PORTC ; Выводим в порт C
clrw ; Конец паузы при переключении
tris PORTA ; Порт A - выход
rlf PORTA,f ; Активизируем разряд
bcf STAT,carry ; Опять сбрасываем флаг C
bcf STAT,zero ; Сбрасываем флаг Z
wdh2 movf RTCC,w
btfss STAT,zero ; Ожидаем около 5 мс
goto wdh2
movlw 60 ; Переустанавливаем RTCC
movwf RTCC
decfsz DIGIT,f
goto wdh1
retlw 0
;**************************************************************
; Подготовка индикатора, коды семи сегментов из R0, R1 -
; в регистры 10 и 11
ssgt movf R0,w
call tab
movwf 10
movf R1,w
call tab
movwf 11
retlw 0
;**************************************************************
; Таблица кодов семи сегментов для знаков от "0" до "F"
tab addwf PC,f
retlw 3F ; "0"
retlw 06 ; "1"
retlw 5B ; "2"
retlw 4F ; "3"
retlw 66 ; "4"
retlw 6D ; "5"
retlw 7D ; "6"
retlw 07 ; "7"
retlw 7F ; "8"
retlw 6F ; "9"
retlw 0F7 ; "A."
retlw 0FC ; "B."
retlw 0B9 ; "C."
retlw 0DE ; "D."
retlw 0F9 ; "E."
retlw 0F1 ; "F."
;**************************************************************
; Начало программы
;**************************************************************
init clrf R0
clrf R1
clrf ZWISCH
movlw 60
movwf RTCC
neu movlw 0FF
tris PORTB ; Порт B - вход
movf PORTB,w ; Чтение порта B
movwf ZWISCH ; Сохраняем в буфер
andlw 0F ; Обнуляем старший полубайт W
movwf R0 ; Младший полубайт – в R0
swapf ZWISCH,w
andlw 0F
movwf R1 ; Старший полубайт – в R1
call ssgt ; Преобразовываем R0 и R1 и
; копируем в F 10 и F 11
call anz ; Отображение D0 и D1 на 5 мс
goto neu
org 1FF
goto beginn
end
#186
Отправлено 18.03.2012, 22:10:02
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Выложите папку спроэктом или сылка нужна, Для компиляции вышевыложеный файл не пойдет, там не сохранена табуляция каманд, двигать все строки вручную не составляет удовольствия.
Сообщение отредактировал russo_turisto: 18.03.2012, 22:20:41
#188
Отправлено 18.03.2012, 22:33:04
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Кто каким программатором прошивает?
У меня PicKit2 для внутрисхемного програмирования, и промышленый паралельный програматор Chip Prog 2, он все программит были бы только переходники.
Чтобы вставить прикрепить файл проэкта нужно папку заархивировать, делее нажимаем расширеная форма - прикрепить файлы - указываем путь к папке .....
Сообщение отредактировал russo_turisto: 18.03.2012, 22:36:01
#189
Отправлено 19.03.2012, 19:09:22
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Там ничего сложного нет, программа простая.
Помоему 16С55 сложновато в такой простой схеме заменить чем-то другим.
Да и под какой пик делать?
У меня есть 12F629 (неск. штучек)./если что-то другое по любому искать// Интересно, его можно задействовать?
К нему наверно придется порт ввода и вывода придумывать...
Я доберусь до книжки. Фото как сделаю выложу.
#192
Отправлено 19.03.2012, 21:39:02
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
http://libbib.org/?p=2057
Сообщение отредактировал russo_turisto: 19.03.2012, 21:39:20
#195
Отправлено 22.03.2012, 23:54:08
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Она выводит на два семисегментика число в хексе которое попадает на вход порта В, по прерыванию каждые 5 мс происходит опрос порта В и число которое на него падает выводится на два семисегментных индикатора.
Для чего енто надо?
Это ведь кусок какогото прибора, отдельная его часть (часть индикации), а где измерительная часть которая генерирует это число?
Сделана на другом микроконтроллере?
#196
Отправлено 26.03.2012, 08:55:13
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Laargo чесно говоря я не понял для чего вам нужна эта программа?
Она выводит на два семисегментика число в хексе которое попадает на вход порта В, по прерыванию каждые 5 мс происходит опрос порта В и число которое на него падает выводится на два семисегментных индикатора.
Для чего енто надо?
Это ведь кусок какогото прибора, отдельная его часть (часть индикации), а где измерительная часть которая генерирует это число?
Сделана на другом микроконтроллере?
Нет, это просто индикатор шины. Я такой для отладки устройств хотел собрать.
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0