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

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

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

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

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

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


 
Опции темы

Вывод данных на индикатор с аналогового порта

Непрочитано 21.02.2018, 22:14  
andron007
Прописка
 
Регистрация: 19.02.2008
Адрес: г. Иркутск
Сообщений: 278
Сказал спасибо: 220
Сказали Спасибо 172 раз(а) в 80 сообщении(ях)
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
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Вывод данных на индикатор с аналогового порта

Сообщение от Rovi Посмотреть сообщение
Начал с ассемблера, чтобы конкретней разобраться
"И как Кадиллак от кашля помогает?!"(из рекламы)
Скорее, "чтобы побольше запутаться" и попреодолевать лишние трудности.
Цель - "садо-мазо" или постановка контроллеров себе на службу?
Займитесь лучше алгоритмом, а не борьбой с анальноограниченным чипом.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 21.02.2018, 22:40  
OakRidge
Заблокирован
 
Регистрация: 16.05.2015
Адрес: Болгария
Сообщений: 1,464
Сказал спасибо: 287
Сказали Спасибо 1,122 раз(а) в 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.RUN
 
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 224
Сказали Спасибо 235 раз(а) в 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
Адрес: г. Иркутск
Сообщений: 278
Сказал спасибо: 220
Сказали Спасибо 172 раз(а) в 80 сообщении(ях)
andron007 на пути к лучшему
По умолчанию Re: Вывод данных на индикатор с аналогового порта

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

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

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

Последний раз редактировалось andron007; 23.02.2018 в 21:04.
andron007 вне форума  
Непрочитано 23.02.2018, 22:36  
DmitriyVDN
Гражданин KAZUS.RUN
 
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 224
Сказали Спасибо 235 раз(а) в 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, время: 05:38.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.