Главная страница
Навигация по странице:

  • 2 есептеу-графикалық жұмыс. Клавиатура көмегімен 7 сегментті дисплейді басқару Жұмыс мақсаты

  • 1. Жұмыс бойынша теориялық ақпарат

  • 2. Есептік-графикалық жұмыстың тапсырмасы және берілгені

  • Пайдаланылған әдебиеттер тізімі

  • Сандық техниканы және басқару микробақылауыштарын программалау. АУТк-18-4 Орынбасаров А. 2 РГР ПЦТИМУ. Программалау Таырыбы Клавиатура кмегімен 7 сегментті дисплейді басару Мамандыы 5В070200 Автоматтандыру жне басару


    Скачать 353.17 Kb.
    НазваниеПрограммалау Таырыбы Клавиатура кмегімен 7 сегментті дисплейді басару Мамандыы 5В070200 Автоматтандыру жне басару
    АнкорСандық техниканы және басқару микробақылауыштарын программалау
    Дата17.10.2021
    Размер353.17 Kb.
    Формат файлаdocx
    Имя файлаАУТк-18-4 Орынбасаров А. 2 РГР ПЦТИМУ.docx
    ТипПрограмма
    #249168

    Коммерциялық емес акционерлік қоғам

    «Ғұмарбек Дәукеев атындағы АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС

    УНИВЕРСИТЕТІ»
    Автоматтандыру және басқару кафедрасы

    № 2 есептеу-графикалық жұмыс
    Пәні: «Сандық техниканы және басқару микробақылауыштарын программалау»

    Тақырыбы: «Клавиатура көмегімен 7 сегментті дисплейді басқару»

    Мамандығы: 5В070200 – «Автоматтандыру және басқару»

    Орындаған: Орынбасаров Алмат Тобы: АУ(АУТ)к 18-4

    Нұсқа: № 18

    Тексерген: аға оқытушы Ибрашева А. Т.

    ______________ ______________ «___» _______________ 2021 ж.

    (бағасы) (қолы)

    Алматы, 2021 жыл.

    2 есептеу-графикалық жұмыс. Клавиатура көмегімен 7 сегментті дисплейді басқару

    Жұмыс мақсаты: Тапсырмаға сәйкес берілген үш немесе төрт таңбалы санды цифрларының батырмалары арқылы 7 сегментті индикаторға шығару.



    Аты-жөні

    Шығаратын сан

    18

    Орынбасаров Алмат

    1578

    1. Жұмыс бойынша теориялық ақпарат

    Көптеген цифрлық индикаторлар қажетті сегменттерді таңдап қосу прин­ципімен жұмыс істейді (1 суретті қараңыздар). Мәліметті беретін порттың разрядтары санмен белгіленген. Әдетте бұл сегменттер жарықдиодтары немесе сұйық кристалдан жасалған элементтердің электродтары болады.



    1 сурет – Жеті сегментті индикатор

    Ішкі программаның жүйелік көрінісі 1, а суретінде келтірілген. Кіріс сигнал мұнда W жұмысшы регистрде орналасқан 4-битті екілік код. Ал осы W жұмысшы регистрге қайтатын шығыс мән сәйкес 7-битті код, ол қажетті сәйкес битті көрсетеді (Vyb_Seg ішкі программасы). PIC микробақылауыштарының гарвард архитектурасы программа жадысының мәндерін мәліметтер ретінде қолдануға мүмкіндік бермейді. Оның орнына түрлендіру кестесі retlw командаларының жиыны ретінде іске асырылады, олардың әрбіреуі бір байтты константаны береді. Жетінші бит нүкте үшін қолданылады.

    Клавиатура программаларда мәліметтерді енгізу, есептеу алгоритмін өзгерту нұсқауларын беру үшін және т.б. қолданылады. Зертханалық жұмыста PORTD-ға ’1’ сигналын беру арқылы клавиатураға қорек кернеуін береміз, қосымша қорек көзі қажет емес.

    Пленкалы клавиатураны МБ-қа қосу сұлбасы 2 суретте көрсетілген. RD7, RD6, RD5, RD4 разрядтары ‘1’ сигналын беруге арналған, қалғандары сигнал қабылдау үшін. Келген сигналды микропроцессор программаға сәйкес өңдейді, программа орындалуы сәйкесінше өзгереді.

    6.1-суретте «1» цифрлы кнопканың PORTD-ға қосылуы көрсетілген. «1» кнопкасының бір клеммасы RD7 аяқшасына, ал екіншісі RD3 аяқшасына жалғанған. RD7 битін шығысқа, ал RD3 битін кіріске программалау керек.Кнопка басылған кезде RD7 битінен шыққан сигнал «1» кнопкасы арқылы RD3 кірісіне өтеді.



    2 сурет – Клавиатураны қосу сұлбасы және кнопкалар қызметі
    2. Есептік-графикалық жұмыстың тапсырмасы және берілгені

    4x4 матрица түріндегі клавиатура көмегімен өзімізге керекті үш таңбалы санды 7 сегментті дисплейге шығару керек. «854» санын клавиатураның 8, 5, 4 батырмаларын басу арқылы аталған санды индикаторға шығаратын программа кодын құрамыз.

    Жүздік, ондық және бірлік разрядтағы цифрлерді әр түрлі адрестерге жазып, сәйкес батырмалардың басылуын BTFSS командасы арқылы тексеру жасаймыз. Батырма басылған соң, VYBOR_SEG ішкі программасы орындалады. Ішкі программада PCL регистрі қосылады. Ол регистр келесі орындалатын жолды нұсқап отырады. Сол регистрдің үстіне разрядтағы сандарды қосу арқылы цифрлердің 7 сегментті дисплейдегі түрі алынады. Аталған ақпаратты PORTB регистріне көшіреді. Осыдан кейін, PORTC регистрінің 0-ші, 1-ші, 2-ші аяқшалары қосылып, үш таңбалы сан шығады.

    Л2 программасы:

    FORONESECONE EQU h'21'

    FORONESECTWO EQU h'22'

    CLRF STATUS

    BSF STATUS, RP0

    CLRF PORTE

    CLRF TRISC

    CLRF TRISB

    MOVLW b'00001111'

    MOVWF ADCON1

    CLRF TRISA

    BCF STATUS, RP0

    CLRF PORTC

    CLRF PORTB

    CLRF PORTA

    CLRF PORTE

    ONE

    BSF STATUS, 5

    MOVLW B'00001111'

    MOVWF TRISD

    BCF STATUS, 5

    MOVLW B'00010000'

    MOVWF PORTD

    BTFSS PORTD, 0

    GOTO TWO

    CLRF PORTC

    MOVLW d'1'

    CALL VYBOR_SEG

    CALL RESH

    TWO

    BSF STATUS, 5

    MOVLW B'00001111'

    MOVWF TRISD

    BCF STATUS, 5

    MOVLW B'00100000'

    MOVWF PORTD

    BTFSS PORTD, 0

    GOTO THREE

    CLRF PORTC

    MOVLW d'2'

    CALL VYBOR_SEG

    CALL RESH

    THREE

    BSF STATUS, 5

    MOVLW B'00001111'

    MOVWF TRISD

    BCF STATUS, 5

    MOVLW B'01000000'

    MOVWF PORTD

    BTFSS PORTD, 0

    GOTO FOUR

    CLRF PORTC

    MOVLW d'3'

    CALL VYBOR_SEG

    CALL RESH

    FOUR

    BSF STATUS, 5

    MOVLW B'00001111'

    MOVWF TRISD

    BCF STATUS, 5

    MOVLW B'10000000'

    MOVWF PORTD

    BTFSS PORTD, 0

    GOTO FIVE

    CLRF PORTC

    MOVLW d'4'

    CALL VYBOR_SEG

    CALL RESH

    FIVE

    BSF STATUS, 5

    MOVLW B'00001111'

    MOVWF TRISD

    BCF STATUS, 5

    MOVLW B'00010000'

    MOVWF PORTD

    BTFSS PORTD, 1

    GOTO SIX

    CLRF PORTC

    MOVLW d'5'

    CALL VYBOR_SEG

    CALL RESH

    SIX

    BSF STATUS, 5

    MOVLW B'00001111'

    MOVWF TRISD

    BCF STATUS, 5

    MOVLW B'00100000'

    MOVWF PORTD

    BTFSS PORTD, 1

    GOTO SEVEN

    CLRF PORTC

    MOVLW d'6'

    CALL VYBOR_SEG

    CALL RESH

    SEVEN

    BSF STATUS, 5

    MOVLW B'00001111'

    MOVWF TRISD

    BCF STATUS, 5

    MOVLW B'01000000'

    MOVWF PORTD

    BTFSS PORTD, 1

    GOTO EIGHT

    CLRF PORTC

    MOVLW d'7'

    CALL VYBOR_SEG

    CALL RESH

    EIGHT

    BSF STATUS, 5

    MOVLW B'00001111'

    MOVWF TRISD

    BCF STATUS, 5

    MOVLW B'10000000'

    MOVWF PORTD

    BTFSS PORTD, 1

    GOTO NINE

    CLRF PORTC

    MOVLW d'8'

    CALL VYBOR_SEG

    CALL RESH

    NINE

    BSF STATUS, 5

    MOVLW B'00001111'

    MOVWF TRISD

    BCF STATUS, 5

    MOVLW B'00010000'

    MOVWF PORTD

    BTFSS PORTD, 2

    GOTO ONE

    CLRF PORTC

    MOVLW d'9'

    CALL VYBOR_SEG

    CALL RESH

    GOTO ONE

    RESH

    BTFSC PORTA, 1

    GOTO br

    BTFSS PORTC, 0

    BTFSC PORTC, 0

    GOTO br

    BSF PORTC, 0

    BSF PORTA, 1

    MOVWF PORTB

    BTFSS PORTC, 0

    BTFSC PORTC, 0

    GOTO ONESEC

    br

    BTFSC PORTA, 4

    GOTO ek

    BTFSS PORTC, 1

    BTFSC PORTC, 1

    GOTO ek

    BSF PORTC, 1

    BSF PORTA, 4

    MOVWF PORTB

    BTFSS PORTC, 1

    BTFSC PORTC, 1

    GOTO ONESEC
    ek

    BTFSC PORTA, 5

    GOTO ush

    BTFSS PORTC, 2

    BTFSC PORTC, 2

    GOTO ush

    BSF PORTC, 2

    BSF PORTA, 5

    MOVWF PORTB

    BTFSS PORTC, 2

    BTFSC PORTC, 2

    GOTO ONESEC

    ush

    BTFSS PORTC, 3

    BTFSC PORTC, 3

    GOTO ush

    BSF PORTC, 3

    MOVWF PORTB

    BTFSS PORTC, 3

    BTFSC PORTC, 3

    GOTO ONESEC

    RETURN
    ONESEC

    MOVLW D'2';

    MOVWF FORONESECONE

    MTWO

    MOVLW D'15';

    MOVWF FORONESECTWO

    MTHREE

    DECF FORONESECTWO, F

    BTFSS STATUS, Z

    GOTO MTHREE

    DECF FORONESECONE, F

    BTFSS STATUS, Z

    GOTO MTWO

    RETURN
    VYBOR_SEG

    ADDWF PCL, f

    RETLW b'00111111'

    RETLW b'00000110'

    RETLW b'01011011'

    RETLW b'01001111'

    RETLW b'01100110'

    RETLW b'01101101'

    RETLW b'01111101'

    RETLW b'00000111'

    RETLW b'01111111'

    RETLW b'01101111'
    END




    3 сурет – PIC Simulator IDE ортасында программаның орындалуы
    3 суретте басылғаннан батырмаға сәйкес шығатын санның 7 сегментті дисплейдегі түрі көрсетілген.

    Қорытынды
    № 2 есептік-графикалық жұмыстың тапсырмасы бойынша «1578» санын 4x4 матрица түріндегі клавиатураның аталған санға сәйкес батырмаларын басу арқылы 7 сегментті индикаторға шығардық.

    Жүздік, ондық және бірлік разрядтағы цифрлерді әр түрлі адрестерге жазып, сәйкес батырмалардың басылуын BTFSS командасы арқылы тексеру жасадық. Батырма басылған соң, VYBOR_SEG ішкі программасы орындалды. Ішкі программада PCL регистрі қосылды. Сол регистрдің үстіне разрядтағы сандарды қосу арқылы цифрлердің 7 сегментті дисплейдегі түрін алдық. Осыдан кейін, PORTC регистрінің 0-ші, 1-ші, 2-ші, 3-ші аяқшалары қосылып, төрт таңбалы сан шықты.

    Сонымен қатар, Enter және Clear батырмаларын пайдаланып, 7 сегментті дисплейді басқардық. Clear батырмасы көмегімен 7 сегментті дисплейге 0 орнаттық.


    Пайдаланылған әдебиеттер тізімі

    1. Заец Н.И. Радиолюбительские конструкции на PIC. – М.: Солон, 2003.

    2. Катцен С. PIC микроконтроллеры. Все, что необходимо вам знать.
    – М.: Додека, 2008.

    3. Копесбаева А. А. Басқару жүйелеріндегі микропроцессорлық кешендер. Оқулық. – Алматы: АЭжБИ, 2010.

    4. Кохц Дитер. Измерение, управление с помощью PIC-контроллеров. – Киев. Наукова думка. 2007.

    5. Погребинский М. П. Микропроцессорные системы управления электротехническими установками. – М.: МЭИ, 2003.

    6. Тарасов В. М. Программирование цифровой техники и микроконтроллеров управления. Конспект лекций для студентов всех форм обучения специальности 5В070200- «Автоматизация и управление» – Алматы: АУЭС, 2012.

    7. Яценков В. С. Микроконтроллеры Microchip. Практическое руководство. – 2-е изд. исп. и допол. – М.: Горячая линия – Телеком, 2005.


    написать администратору сайта