Конференция_Чиеу Дык Куанx

advertisement
МИКРОКОНТРОЛЛЕР AT89C51 И НЕСКОЛЬКО ЕГО ПРИМЕРОВ
Чиеу Дык Куан
Национальный исследовательский Томский политехнический университет
Научный руководитель: Торгаев С. Е.
Развитие микроэлектроники и широкое применение её изделий в промышленном
производстве, в устройствах и системах управления самыми разнообразными объектами и
процессами является в настоящее время одним из основных направлений научнотехнического прогресса.
В 1976 году экспоненциальное развитие полупроводниковой технологии привело к
созданию фирмой Intel первого МК-8048. Сегодня 8048 является уже достоянием истории,
а следующее изделие, выпущенное Intel в 1980 году является МК 8051. Важную роль в
достижений высокой популярности семейства 8051 сыграла открытая политика фирмы
Intel, родоначальницы архитектуры, направленная на широкое распространение лицензий
на ядро 8051 среди большого количества ведущих полупроводниковых компаний мира.
Для программирования 8051 мы можем использовать несколько языков: Си,
ASM(Assembly) и т. д. с соответствующим приложением.
В этой статьи покажу вам несколько примеров, которые написаны языком ASM. Мы
будем использовать AT89C51- один из контроллеров семейства 8051.
Контроллер AT89C51 имеет 4 порта:P0, P1, P2, P3. Эти порты используются как и
вводы и выводы.
На первом примере , напишем программу, которая включит, затем выключит
светодиоды, подключающие с портом P1.
«
ORG 00H
MAIN:
MOVP1,#00H ;Все светодиоды выключены
CALL DELAY
MOVP1,#0FFH; Все светодиоды включены
CALL DELAY
JMP MAIN
DELAY: ;Подпрограмма задержки
MOVR0,#255
LAP:
MOV R6,#255
DJNZ R6,$
DJNZ R0,LAPRET
END
»
Для проверки этой программы используем приложение «Proteus». Схема, элементы
изображены в рисунке 1.
Рис. 1: Схема реализации примера 1на «Proteus»
На втором примере, напишем программу, которая позволяет включить каждый
светодиод порта 1( порт 1 имеет 8 светодиодов). Программа написана так:
ORG 00H
MAIN:
MOVP1,#00000000B;Все светодиоды выключены
CALL DELAY
MOVP1,#00000001B; Светодиод P1.0 включен
CALL DELAY
MOVP1,#00000011B; СветодиодыP1.0,P1.1 включены
CALL DELAY
MOVP1,#00000111B; СветодиодыP1.0,P1.1,P1.2 включены
CALL DELAY
MOVP1,#00001111B; Светодиоды P1.0-P1.3 включены
CALL DELAY
MOVP1,#00011111B; Светодиоды P1.0-P1.4 включены
CALL DELAY
MOVP1,#00111111B; Светодиоды P1.0-P1.5 включены
CALLDELAY
MOVP1,#01111111B; Светодиоды P1.0-P1.6 включены
CALL DELAY
MOVP1,#11111111B; Светодиоды P1.0-P1.7 включены
CALL DELAY
JMP MAIN
DELAY:
; Подпрограмма задержки
MOVR0,#200
LAP:
MOV R1,#200
LAP2:
NOP
NOP
NOP
DJNZ R1,LAP2
DJNZ R0,LAP
RET
END
Посмотрим полученный результат: (Рис.2)
Рис.2: Рис. 1: Схема реализации примера 2 на «Proteus»
Это самые легкие примеры я вам покажу. Надеюсь что, они вам нравятся. Чтобы
понять более о микроконтроллере AT89C51,а также о семействе 8051 вы можете искать на
интернете или в книгах.
Список литературы
1. http://chipn24.com/bvct/chi-tiet/39/ltcode-lap-trinh-8051-co-ban-asm.html
2. http://ru.wikipedia.org/wiki/Intel_8051
3. http://www.atsv.ru/articles/8051.htm
Download