Микропроцессорная техника: практический курс : учебное пособие для студентов Физико-технологического института, обучающихся по направлениям подготовки "Ядерная физика и технологии", "Биомедицинская инженерия"
Download 0.63 Mb. Pdf ko'rish
|
978-5-321-02171-21 2012 (1)
3.5. Программирование УАПП
Наличие в микроконтроллере ADuC8xx встроенного программи- руемого универсального асинхронного приемопередатчика (УАПП) позволяет организовать эффективное взаимодействие лабораторно- го стенда SDK-1 с эмулятором терминала T2, функционирующего на компьютере. При этом все набираемые на клавиатуре коды будут по- ступать на вход УАПП, а все байты, передаваемые УАПП, будут отоб- ражаться на терминале в бинарном или шестнадцатеричном коде. Та- 75 3. Лабораторный практикум Таблица 3.6. Спецификация переключателей SW3 Номер Цифра Место- переклю- на панели положе- Коммутируемая линия чателя DIP ние 1 – Перемычка Вход INT0 (P3.2) 2 – Перемычка Вход INT1 (P3.3) 3 1 DIP Вход T0 (P3.4) 4 2 DIP Вход T1 (P3.5) 5 3 DIP Линия 0 порта EXT_LO 6 4 DIP Линия 1 порта EXT_LO 7 5 DIP Линия 2 порта EXT_LO 8 6 DIP Линия 3 порта EXT_LO 9 7 DIP Линия 4 порта EXT_LO 10 8 DIP Линия 5 порта EXT_LO 11 9 DIP Линия 6 порта EXT_LO 12 10 DIP Линия 7 порта EXT_LO ким образом, из лабораторного стенда можно передавать достаточно большие объемы информации для отображения на экране или для за- писи в файл на компьютере. И наоборот, из компьютера передавать массивы данных для размещения в памяти на стенде. Это позволяет исследовать содержимое областей памяти микроконтроллера и раз- личных периферийных устройств, входящих в состав лабораторного стенда. Следующая программа иллюстрирует технологию пересылки дан- ных с использованием УАПП. В данном примере ASCII код клавиши, нажатой на клавиатуре компьютера, принимается УАПП, отобража- ется на светодиодных индикаторах стенда и отсылается обратно в COM-порт компьютера для отображения на экране монитора T2, ра- ботающего в режиме эмуляции терминала. Можно наблюдать при- нятые байты в шестнадцатеричном коде (1 term) или в бинарном формате (0 term). Подпрограмма UART_INI иллюстрирует технологию начальной инициализации УАПП. В данном примере УАПП инициализируется для работы со скоростью 9.6 кбит/с с запретом прерываний для ра- боты по интерфейсу RS232 в режиме опроса флагов. Эта программа должна быть выполнена до начала любых пересылок данных с исполь- зованием УАПП. 76 3.5. Программирование УАПП ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ðÒÉÍÅÒ ÐÒ., ËÏÔ.ÐÒÉÎÉÍÁÅÔ ÂÁÊÔ ÏÔ ËÏÍÐØÀÔÅÒÁ, ; ×Ù×ÏÄÉÔ ÅÇÏ ÎÁ Ó×ÅÔÏÄÉÏÄÎÕÀ ÌÉÎÅÊËÕ É ÏÔÓÙÌÁÅÔ ; ÏÂÒÁÔÎÏ × COM-ÐÏÒÔ ËÏÍÐØÀÔÅÒÁ (ÜÈÏ-ÐÅÞÁÔØ). ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; org 2050h ; call uart_ini1 ; éÎÉÃÉÁÌÉÚÁÃÉÑ aduc812. ; call uart_ini2 ; éÎÉÃÉÁÌÉÚÁÃÉÑ aduc842. ; ðÒÉÅÍ ÂÁÊÔÁ Ó ×Ù×ÏÄÏÍ ÎÁ ÌÉÎÅÊËÕ Ó×ÅÔÏÄÉÏÄÏ×. loop: jnb scon.0,$ ; ïÖÉÄÁÎÉÅ ÂÁÊÔÁ. mov a,sbuf ; ðÒÉÅÍ ÂÁÊÔÁ. clr scon.0 ; óÂÒ. ÆÌ. ÐÒÉÅÍÎÉËÁ. call svdisp ; ÷Ù×ÏÄ ÎÁ Ó×ÅÔÏÄÉÏÄÙ. ; ðÅÒÅÄÁÞÁ ÂÁÊÔÁ ÏÂÒÁÔÎÏ × COM ÐÏÒÔ ËÏÍÐØÀÔÅÒÁ. mov sbuf,a ; ðÅÒÅÄÁÞÁ ÂÁÊÔÁ. jnb scon.1,$ ; ïÖÉÄ. ËÏÎÃÁ ÐÅÒÅÄÁÞÉ. clr scon.1 ; óÂÒ. ÆÌ. ÐÅÒÅÄÁÔÞÉËÁ. sjmp loop ; ëÏÎÅà ÐÒÏÇÒÁÍÍÙ. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ðÏÄÐÒÏÇÒÁÍÍÁ UART_INI ÄÌÑ ADuC812 (9600 baud) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; S9600 equ 0fdh ; óËÏÒÏÓÔØ 9.6 kbod. uart_ini1: mov th1,#S9600 ; óËÏÒÏÓÔØ UART. orl tmod,#20h ; ô/ó1 -- × ÒÅÖ.autorel. anl pcon,#7fh ; óËÏÒÏÓÔØ ÎÅ ÕÄ×ÁÉ×ÁÔØ. orl tcon,#40h ; úÁÐÕÓË ÔÁÊÍÅÒÁ 1. mov scon,#50h ; îÁÓÔÒÏÊËÁ õáðð. clr ie.4 ; úÁÐÒÅÔ ÐÒÅÒÙ×. õáðð. ret ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ðÏÄÐÒÏÇÒÁÍÍÁ UART_INI ÄÌÑ ADuC842 (9600 baud) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; pllcon data 0D7h ; t3con data 09Eh ; t3fd data 09Dh ; uart_ini2: mov pllcon,#03h ; Core f=2.097152 MHz. mov t3con,#83h ; mov t3fd,#2dh ; mov scon,#52h ; ret ; end ; 77 |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling