На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Не поленитесь, загляните в эти разделы перед созданием темы. Возможно, так уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).

Не забывайте также про главные Правила форума!

Так что добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> PIC16F84 программа на ассемблере, Пожалуйста,помогите мне написать программу
    Пожалуйста,помогите написать программу на ассемблере.
    На основе микроконтроллера разработать устройство, выполняющее следующие функции:
    Отображение имени (на основе LCD-матрицы), активизируемое при нажатии кнопки SB1. И
    завершающиеся при нажатии кнопки SB2.
      XYF, покажите что уже сделано и что конкретно не получается.
      Если ничего, и вы просто хотите, чтобы за вас её кто-то сделал за "спасибо", то это не вариант.
      Сперва потрудитесь сделать что-то самостоятельно...
      vpmultishiftqb vscatterpf0dps vfmsubadd132pd vgatherpf1dps vpclmulhqlqdq vcmptrue_ussd vaeskeygenassist
        ExpandedWrap disabled
          p=16f84
          #include<p16f84.inc>
          __CONFIG _CP_OFF &_WDT_OFF&_PWRTE_ON&_XT_OSC
           
          ;************************ область переменных **********************************
          ; #define INTCON, T0IF ;признак прерыывания по переполнению таймера
          symbol EQU 0x0F ; символ
          st_tmp EQU 0x10
          w_tmp EQU 0x11
          priz EQU 0x12
          #define RS PORTA,0 ; КОМАНДА \ ДАННЫЕ
          #define RW PORTA,1 ; ЧТЕНИЕ \ ЗАПИСЬ
          #define E PORTA,2 ; ТАКТОВЫЙ ИМПУЛЬС
          ORG 0x000
          goto main
          ;******** прерывание *******************************
          ORG 0x004
          movwf w_tmp
          movf STATUS,w
          movwf st_tmp
           
          bsf priz,1
           
           
           
           
           
          exit
          movwf STATUS
          swapf w_tmp,f
          swapf w_tmp,W
          bcf INTCON,T0IF
          bcf INTCON,INTF
          retfie
          ;*******************************************************
           
          main
           
           
          clrf PORTA
          clrf PORTB
          bsf STATUS,RP0 ; выбор банка1
          movlw b'11111000'
          movwf PORTA ; RA1-RA3=вывод
          movlw b'00000000'
          movwf PORTB ; все на вывод
          movlw b'01010101'
          movwf OPTION_REG ; прерывание по наростанию уровня
          movlw b'10100000'
          movwf INTCON; прерывания запрещены
          bcf STATUS,RP0
          clrf symbol
          clrf priz
          clrf TMR0
           
          clrf PORTA
          clrf PORTB
          btfss priz,1 ; задержка
          goto $-1
           
           
           
          bcf RS
          bcf RW
          bsf E
          movlw 0x30
          movwf PORTB
          bcf E
          clrf PORTB
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          bsf E
          movlw 0x30
          movwf PORTB
          bcf E
          clrf PORTB
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
           
          bsf E
          movlw 0x30
          movwf PORTB
          bcf E
          nop
          clrf PORTB
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
          nop
           
           
          bsf E
          movlw 0x38
          movwf PORTB
          bcf E
          nop
          clrf PORTB
           
          nop
          nop
           
          bsf E
          movlw 0x08 ;
          movwf PORTB
          BCF E
          clrf PORTB
          nop
          nop
           
           
          bsf E
          movlw 0x01 ;очистка дисплея
          movwf PORTB
          BCF E
          clrf PORTB
          nop
          nop
          nop
           
           
          bsf E
          movlw 0x01 ;entry mode
          movwf PORTB
          BCF E
          clrf PORTB
          nop
          nop
          nop
           
          bsf E
          movlw 0x03 ;entry mode
          movwf PORTB
          BCF E
          clrf PORTB
          nop
           
           
          nop
          nop
          A bcf RW
          bsf RS
          bsf E
          movlw 0x37 ;7 показать
          movwf PORTB
          BCF E
          clrf PORTB
          nop
          nop
          bcf RW
          bsf RS
          bsf E
          movlw 0x37 ;7 показать
          movwf PORTB
          BCF E
          clrf PORTB
          nop
           
           
          goto A
           
           
          end
        Сообщение отредактировано: Jin X -
          XYF, что в этом коде не так? Что не работает?

          M

          Используйте теги [CODE][/CODE] при выделении исходников!
          vpmultishiftqb vscatterpf0dps vfmsubadd132pd vgatherpf1dps vpclmulhqlqdq vcmptrue_ussd vaeskeygenassist
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script Execution time: 0,0718 ]   [ 14 queries used ]   [ Generated: 21.07.18, 19:30 GMT ]