Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 21.02.2018, 22:14  
andron007
Прописка
 
Регистрация: 19.02.2008
Адрес: г. Иркутск
Сообщений: 275
Сказал спасибо: 216
Сказали Спасибо 166 раз(а) в 78 сообщении(ях)
andron007 на пути к лучшему
По умолчанию Re: Вывод данных на индикатор с аналогового порта

Сообщение от DmitriyVDN Посмотреть сообщение
чушь.
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 0
Размер:	32.9 Кб
ID:	125588

Да и регистр PCL не может быть больше 255.
Реклама:

Последний раз редактировалось andron007; 21.02.2018 в 22:21.
andron007 вне форума  
Непрочитано 21.02.2018, 22:38  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,953
Сказал спасибо: 2,547
Сказали Спасибо 11,840 раз(а) в 5,933 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Вывод данных на индикатор с аналогового порта

Сообщение от Rovi Посмотреть сообщение
Начал с ассемблера, чтобы конкретней разобраться
"И как Кадиллак от кашля помогает?!"(из рекламы)
Скорее, "чтобы побольше запутаться" и попреодолевать лишние трудности.
Цель - "садо-мазо" или постановка контроллеров себе на службу?
Займитесь лучше алгоритмом, а не борьбой с анальноограниченным чипом.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Непрочитано 21.02.2018, 22:40  
OakRidge
Заблокирован
 
Регистрация: 16.05.2015
Адрес: Болгария
Сообщений: 1,460
Сказал спасибо: 286
Сказали Спасибо 1,125 раз(а) в 540 сообщении(ях)
OakRidge на пути к лучшему
По умолчанию Re: Вывод данных на индикатор с аналогового порта

Если у автора железо ПИК16 8 бит не стоит боятся языков выше асемблера. Не занимают так много места. Асемблер нужен только для младших кристаллов. С очень малой памятью програм.
Плохо внятного совета для вывода на 7 индикатор дать не могу.
Для вывода на терминал могу
dim TEXT[32]
UART1_Init(38200)

sub UART_OUT(Value)
ByteToStr(Value,TEXT)
UART1_Write_Text(TEXT)
UART1_Write($0D)
UART1_Write($0A) ' CR
end sub

все это занимает порядка 300 инструкции. Никак не страшно
OakRidge вне форума  
Сказали "Спасибо" OakRidge
mike-y-k (22.02.2018)
Непрочитано 23.02.2018, 19:24  
DmitriyVDN
Гражданин KAZUS.RU
 
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 222
Сказали Спасибо 234 раз(а) в 154 сообщении(ях)
DmitriyVDN на пути к лучшему
Счастье Re: Вывод данных на индикатор с аналогового порта

Сообщение от andron007 Посмотреть сообщение
Вложение 125588
Да и регистр PCL не может быть больше 255.
то что вы знакомы с единственным методом чтения табличных констант , это сугубо ваши проблемы, и обижацо вы можете токмо на себя.
При правильном обращении вообще нет никаких проблем даже с переходами через страницы, не говоря уже о блоках.
изучайте:
Нажмите, чтобы открыть спойлер
Код:
;*************************************************  *********************
;                                                                     *
;    Files Required: P16F877A.INC                                     *
;                                                                     *
;*************************************************  *********************
;                                                                     *
;    Notes:                                                           *
;                                                                     *
;*************************************************  *********************


	list		p=16f877A	; list directive to define processor
	#include	‹p16f877A.inc›	; processor specific variable definitions
	
	__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _RC_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF

; '__CONFIG' directive is used to embed configuration data within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.






;***** VARIABLE DEFINITIONS
w_temp		EQU	0x7D		; variable used for context saving 
status_temp	EQU	0x7E		; variable used for context saving
pclath_temp	EQU	0x7F		; variable used for context saving	

;adress_mass EQU	0x70	
;adress_mass EQU	0x71
;adress_L    EQU	0x71
;adress_H    EQU	0x72
;rezalt      EQU	0x73			

CBLOCK 70h
adress_mass :2	
;adress_mass EQU	0x71
adress_L    :1
adress_H    : 1
rezalt      :1
ENDC



;*************************************************  *********************
	ORG     0x0000             ; processor reset vector
        bsf PCLATH,3
        bsf PCLATH,4
	nop			  ; nop required for icd
  	goto    init              ; go to beginning of program


	ORG     0x0004             ; interrupt vector location

	movwf   w_temp            ; save off current W register contents
	movf	STATUS,w          ; move status register into W register
	movwf	status_temp       ; save off contents of STATUS register
	movf	PCLATH,w	  ; move pclath register into w register
	movwf	pclath_temp	  ; save off contents of PCLATH register

; isr code can go here or be located as a call subroutine elsewhere

	movf	pclath_temp,w	  ; retrieve copy of PCLATH register
	movwf	PCLATH		  ; restore pre-isr PCLATH register contents
	movf    status_temp,w     ; retrieve copy of STATUS register
	movwf	STATUS            ; restore pre-isr STATUS register contents
	swapf   w_temp,f
	swapf   w_temp,w          ; restore pre-isr W register contents
	retfie                    ; return from interrupt

;*************************************************  ***********
;* процедура нахождения нужного элемента массива
;*************************************************  ***********
    ORG     0x0080 ; 
massiv: 
    movlw high tabl         
    addwf adress_H,w
	movwf	PCLATH 
    movlw low (tabl-1)
    addwf adress_L,w
     btfsc STATUS,C 
       incf PCLATH,f 
	movwf   PCL
    return 
    
    retlw low (tabl-1)
    XORLW 'A'
    XORLW 'B'
    XORLW 'B'^'A'
;*************************************************  ***********
;* таблица элементов массива
;*************************************************  *********** 
   ORG     0x17fe
tabl:       retlw 0x01
       retlw 0x02    ;0x17ff
       retlw 0x03    ;0x1800 
       retlw 0x04    ;0x1801 
;*************************************************  ***********
;* таблица элементов массива
;*************************************************  *********** 
   ORG     0x1900
tablL:  dt "port 1 - ",0x00    
        dt "PORT 1 - ",0x00    
       

;*************************************************  ***********
;* главная программа
;*************************************************  *********** 

    ORG     0x1F00      
init:
main:

       movlw 0x00
        movwf adress_H
       movlw 0x00
        movwf adress_L
        bcf PCLATH,3   
        bcf PCLATH,4
       call massiv
        bsf PCLATH,3
        bsf PCLATH,4
       movwf rezalt

       movlw 0x00
        movwf adress_H
       movlw 0x01
        movwf adress_L
        bcf PCLATH,3
        bcf PCLATH,4
       call massiv
        bsf PCLATH,3
        bsf PCLATH,4
       movwf rezalt

       movlw 0x00
        movwf adress_H
       movlw 0x02
        movwf adress_L
        bcf PCLATH,3
        bcf PCLATH,4
       call massiv
        bsf PCLATH,3
        bsf PCLATH,4
        movwf rezalt

       movlw 0x00
        movwf adress_H
       movlw 0x03
        movwf adress_L
        bcf PCLATH,3
        bcf PCLATH,4
       call massiv
        bsf PCLATH,3
        bsf PCLATH,4
       movwf rezalt

   goto main   
    
	END                       ; directive 'end of program'

DmitriyVDN вне форума  
Непрочитано 23.02.2018, 19:31  
andron007
Прописка
 
Регистрация: 19.02.2008
Адрес: г. Иркутск
Сообщений: 275
Сказал спасибо: 216
Сказали Спасибо 166 раз(а) в 78 сообщении(ях)
andron007 на пути к лучшему
По умолчанию Re: Вывод данных на индикатор с аналогового порта

Сообщение от DmitriyVDN Посмотреть сообщение
При правильном обращении вообще нет никаких проблем даже с переходами через страницы, не говоря уже о блоках.
изучайте:
Это при правильном обращении, как я и указал. А чушь в чем заключалась?
andron007 вне форума  
Непрочитано 23.02.2018, 20:33  
DmitriyVDN
Гражданин KAZUS.RU
 
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 222
Сказали Спасибо 234 раз(а) в 154 сообщении(ях)
DmitriyVDN на пути к лучшему
По умолчанию Re: Вывод данных на индикатор с аналогового порта

Сообщение от andron007 Посмотреть сообщение
как я и указал
где вы это указали? вы начали за то шо есть проблемы с табличным чтением , в этом и заключаетцо "чушь"
DmitriyVDN вне форума  
Непрочитано 23.02.2018, 21:01  
andron007
Прописка
 
Регистрация: 19.02.2008
Адрес: г. Иркутск
Сообщений: 275
Сказал спасибо: 216
Сказали Спасибо 166 раз(а) в 78 сообщении(ях)
andron007 на пути к лучшему
По умолчанию Re: Вывод данных на индикатор с аналогового порта

Проблема с переходом есть? А в листинге вашем тот же метод нарисован что и в моем.

Последний раз редактировалось andron007; 23.02.2018 в 21:04.
andron007 вне форума  
Непрочитано 23.02.2018, 22:36  
DmitriyVDN
Гражданин KAZUS.RU
 
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 222
Сказали Спасибо 234 раз(а) в 154 сообщении(ях)
DmitriyVDN на пути к лучшему
По умолчанию Re: Вывод данных на индикатор с аналогового порта

нет проблем с переходом , есть ограничения по использованию метода обращения к таблице ввиде
Код:
Convert
ADDWF PCL,F ;начало подпрограммы табличной конвертации
RETLW b'01111110' ;символ "0"
RETLW b'00001100' ;символ "1"
DmitriyVDN вне форума  
 

Закладки

Метки
microchip, двоично-десятичная, индикация
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Способы вывода данных на семисегментный индикатор artyomugr Микроконтроллеры, АЦП, память и т.д 44 04.08.2011 17:25
Учебный стенд на базе AT90S8515 Prevan Микроконтроллеры, АЦП, память и т.д 1 09.06.2011 21:55
Обработка данных с термодатчика dimanfet Микроконтроллеры, АЦП, память и т.д 8 11.10.2010 15:16
Последовательный вывод данных Mitrar Микроконтроллеры, АЦП, память и т.д 9 14.05.2010 11:57
Добавление и вывод данных в EEPROM ( PIC16F84A) alexander70 Микроконтроллеры, АЦП, память и т.д 0 11.10.2006 12:29


Часовой пояс GMT +4, время: 13:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot