МИКРОКОНТРОЛЛЕР 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