• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
Искать на DESSY.RU
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO





Мультиплексор 7-сегментного дисплея на микроконтроллере 8051



Статьи публикуются по мере поступления. Для упорядоченного тематического
поиска воспользуйтесь блоком  "Карта сайта"







Предположим, вам нужен трехзначный дисплей, подключенный к 8051. Каждый 7-сегментный дисплей имеет 8 контактов, поэтому общее количество 24 контактов подключено к микроконтроллеру, и осталось только 8 контактов с микроконтроллером для других приложений ввода-вывода , Также максимальное количество дисплеев, которые могут быть подключены к 8051, ограничено 4, потому что 8051 имеет только 4 порта. Более трех трех дисплеев всегда включается, и это потребляет значительное количество энергии. Все эти проблемы, связанные с прямым методом, могут быть решены путем мультиплексирования.

При мультиплексировании все дисплеи подключаются параллельно одному порту, и только один дисплей может включаться одновременно, в течение короткого периода времени. Этот цикл повторяется быстрыми темпами и из-за стойкости зрения человеческого глаза, все цифры, кажется, светятся. Основными преимуществами этого метода являются:

Требуется меньшее количество контактов порта. Потребляет меньше энергии. Можно подключить большее количество дисплеев (максимум 24).

 

Ниже показана схема для мультиплексирования 2 семисегментных дисплеев на 8051.

Мультиплексор 7-сегментный дисплей до 8051

 

Когда будет собрано и включено питание, схема отобразит номер «16» и посмотрим, как это делается. Первоначально первый дисплей активируется, делая P3.0 высоким, а затем цифровую схему привода для «1» загружают в порт 1. Это сделает первый дисплей отображаемым «1». В то же время P3.1 будет низким, поэтому второй дисплей будет ВЫКЛ. Это условие поддерживается примерно на 1 мс, а затем P3.0 становится низким. Теперь оба дисплея будут ВЫКЛ. Затем второй дисплей активируется, делая P3.1 высоким, а затем диск с цифрой для «6» загружается в порт 1. Это заставит второй дисплей отображать «6». В то же время P3.0 будет низким, поэтому второй дисплей будет ВЫКЛ. Это условие сохраняется в течение еще 1 мс, а затем порт 3.1 становится низким. Этот цикл повторяется, и из-за сохранения зрения вы почувствуете это как «16».Транзистор Q1 управляет первым дисплеем (D1), а транзистор Q2 управляет вторым дисплеем (D2). R11 и R12 являются опорными токоограничивающими резисторами Q1 и Q2. Назначение других компонентов объясняется в первом контуре.

 

 

Программа.

 ASM | 

 

 copy code |

 

 

 

01

ORG000H//initial starting address

02

MOVP1,#00000000B//clears port1

03

MOVR6,#1H//stores"1"

04

MOVR7,#6H//stores"6"

05

MOVP3,#00000000B//clears port3

06

MOVDPTR,#LABEL1//loads the adress of line29to DPTR

07

MAIN:MOVA,R6//"1"is moved to accumulator

08

SETBP3.0//activates 1st display

09

ACALL DISPLAY//calls the displaysubroutineforgetting the patternfor"1"

10

MOVP1,A//moves the patternfor"1"intoport1

11

ACALL DELAY//calls the 1ms delay

12

CLR P3.0//deactivates the 1st display

13

MOVA,R7//"2"is moved to accumulator

14

SETBP3.1//activates 2nd display

15

ACALL DISPLAY//calls the displaysubroutineforgetting the patternfor"2"

16

MOVP1,A//moves the patternfor"2"intoport1

17

ACALL DELAY//calls the 1ms delay

18

CLR P3.1//deactivates the 2nd display

19

SJMP MAIN//jumps back to mainandcycle is repeated

20

 

21

DELAY:MOVR3,#02H

22

DEL1:MOVR2,#0FAH

23

DEL2:DJNZ R2,DEL2

24

DJNZ R3,DEL1

25

RET

26

DISPLAY:MOVC A,@ADPTR//adds thebyteinA to the addressinDPTRandloads A withdatapresentinthe resultant address

27

RET

28

 

29

LABEL1:DB3FH

30

DB06H

31

DB5BH

32

DB4FH

33

DB66H

34

DB6DH

35

DB7DH

36

DB07H

37

DB7FH

38

DB6FH

39

 

40

END

 







Просмотров: 527 | Добавил: Chinas | Рейтинг: 0.0/0








Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 346



          

Радио для всех© 2022