Выпускной работы
Вид материала | Реферат |
СодержаниеПриложение Д, Список макросов общего назначения Приложение Е, Список специализированных макросов |
- Положение о сдаче экзамена в форме защиты выпускной учебно-исследовательской экзаменационной, 39.24kb.
- Методические рекомендации по подготовке выпускной квалификационной работы бакалавра, 573.85kb.
- Методические рекомендации по выполнению выпускной квалификационной работы (дипломной, 525.53kb.
- Выпускной квалификационной работы, 5390.24kb.
- Методические рекомендации по выполнению выпускной квалификационной работы для студентов, 604.91kb.
- Методические рекомендации по выполнению выпускной квалификационной работы для студентов, 555.68kb.
- Приказ №, 1441.82kb.
- Методические указания по выполнению выпускной квалификационной работы для студентов, 551.88kb.
- Методические рекомендации по выполнению выпускной квалификационной работы по специальности:, 132.97kb.
- Методические рекомендации по подготовке и защите выпускных квалификационных работ, 320.02kb.
Приложение Д, Список макросов общего назначения
МАКРОСЫ ЛОГИЧЕСКИХ УСЛОВИЙ
IF_R.EQ.L MACRO REGISTER,LITERAL,CASE_YES,CASE_NO
При равенстве регистра REGISTER,LITERAL переход на метку CASE_YES, в противном случае CASE_NO
IF_R.EQ.R MACRO REGISTER1,REGISTER2,CASE_YES,CASE_NO
При равенстве REGISTER1 REGISTER2 переход на метку CASE_YES, в противном случае CASE_NO
IF_R.GT.L MACRO REGISTER,LITERAL,CASE_YES,CASE_NO
Если REGISTER больше LITERAL переход на метку CASE_YES, в противном случае CASE_NO
IF_R.LT.L MACRO REGISTER,LITERAL,CASE_YES,CASE_NO
Если регистр REGISTER меньше литерала LITERAL переход на метку CASE_YES, в противном случае CASE_NO
IF_R1.GT.R2 MACRO REGISTER1,REGISTER2,CASE_YES,CASE_NO
Если регистр REGISTER1 больше REGISTER2 переход на метку CASE_YES, в противном случае CASE_NO
Макросы обслуживания прерываний
Макрос блокирование всех прерываний
IntsDisable MACRO
Макрос разблокирования прерываний
IntsEnable MACRO
Макрос сохранения контекста WREG,STATUS,BSR,FSR0
SAVE_CONTEXT MACRO TEMP_WREG,TEMP_STATUS,TEMP_BSR,TEMP_FSR0
Макрос восстановления контекста W,STATUS,BSR,FSR0
RESTORE_CONTEXT MACRO TEMP_WREG,TEMP_STATUS,TEMP_BSR,TEMP_FSR0
Mакросы пересылки константы в регистр
SENDLR MACRO L_FROM,R_TO
SEND2LR MACRO L1_FROM,R1_TO,L2_FROM,R2_TO
SEND3LR MACRO L1_FROM,R1_TO,L2_FROM,R2_TO,L3_FROM,R3_TO
SEND4LR MACRO L1_FROM,R1_TO,L2_FROM,R2_TO,L3_FROM,R3_TO,L4_FROM,R4_TO
МАКРОС КОПИРОВАНИЯ МАССИВ-МАССИВ
COPY_A1A2 MACRO N_BYTES,A1,A2,TEMP_I
Макрос временной задержки с использованием вложенных циклов
Регистры INIT1 и INIT2 определяют длительность задержки
DELAY_P MACRO INIT1,INIT2,TEMP1,TEMP2
Макросы условного перехода
При равенстве регистра X_CASE,литералу CASE_L переход на метку CASE_LABEL
IF_R_EQ_L MACRO X_CASE,CASE_L,CASE_LABEL
При равенстве регистра X_CASE регистру CASE_R переход на метку CASE_LABEL
IF_R_EQ_R MACRO X_CASE,CASE_R,CASE_LABEL
Если регистр X_CASE больше литерала CASE_L переход на метку CASE_LABEL
IF_R_GT_L MACRO X_CASE,CASE_L,CASE_LABEL
Если регистр X_CASE меньше литерала CASE_L переход на метку CASE_LABEL
IF_R_LT_L MACRO X_CASE,CASE_L,CASE_LABEL
Макросы операций С 16-битными числами
Cложение двух 16-битных чисел (ARG1_H:ARG1_L + ARG2_H:ARG2_L = RES_H:RES_L)
ADD1616 MACRO ARG1_H,ARG1_L,ARG2_H,ARG2_L,RES_H,RES_L
Инкрементирование 16-битного числа
INC16 MACRO ARG1_H,ARG1_L
Вычитание двух 16-битных чисел (ARG1_H:ARG1_L + ARG2_H:ARG2_L = RES_H:RES_L)
SUB1616 MACRO ARG1_H,ARG1_L,ARG2_H,ARG2_L,RES_H,RES_L
Сравнение двух 16-битных чисел
COMP1616 MACRO ARG1_H,ARG1_L,ARG2_H,ARG2_L,CASE_G,CASE_LE
Производится сравнение двух 16-битных чисел. Если первое число, больше второго, результат вычитания содержится в регистрах REG_H, REL_L и управление передается на метку CASE_G. Если первое число равно второму, результат вычитания содержится в регистрах REG_H, REL_L и управление передается на метку CASE_GE.
Приложение Е, Список специализированных макросов
Драйвер работы с кнопками
Макрос опроса состояния кнопки. В ненажатом состоянии кнопки подтянуты к земле (лог.0). При нажатых кнопках - лог 1. Результат (опроса 1- кнопка нажата, 0 - не нажата сохраняется в BUTTON,BUT_BIT. Драйвер обеспечивает опрос состояния кнопки PORT_IN,BIT_IN и эмуляцию ее состояния на выходе PORT_OUT,BIT_OUT. При этом работа драйвера может быть заблокирована флагом BUT_STATE,BUT_FLAG. Производится двукратный опрос состояния кнопки с временным интервалом регулируемым параметрами DEL1 и DEL2. Результат опроса 1- кнопка нажата, 0 - не нажата хранится в BUT_STATE_BYTE,BUT_STATE_BIT.
BUTT_ON MACRO PORTX,BITX,BUT_STATE_BYTE,BUT_STATE_BIT,DEL1,DEL2,TEMP1,TEMP2
Макрос управления портом PORTX. При вызове биты PORTX выставляются в состояни, описываемое литералом STATE_ON. В этом состоянии PORTX удерживается в течении времени определяемом параметрами DEL_NUMBER*DEL_PARAMETER*DELPARAMETER
SWITCH_ MACRO PORTX,STATE_ON,STATE_OFF,DEL_NUMBER,DEL_PARAMETER,TEMP0,TEMP1,TEMP2
Временная задержка на таймер0, параметры литералы
TIME_DELAY MACRO COUNT_,LIMIT
Макрос для посылки строб-команд CC1100
STROBE_COM MACRO COM1,COM2
Макрос для перевода CC1100 в RESET.
CC1100_RESET MACRO ECODE
Макрос перевода СС1100 в IDLE состояние. В случае удачного перевода управление передается на метку YES_LABEL. Регистр контроля ERROR_CODE содержит значение литерала ECODE. Макрос использует параметр временной задержки, задаваемый литералом DEL и рабочие регистры: TEMP1,TEMP2,TEMP3.
СС1100_IDLE_STATE MACRO YES_LABEL,ECODE,DEL,TEMP1,TEMP2,TEMP3
Макрос перевода СС1100 В RX-состояние. При удачном переводе управление передается на метку YES_LABEL. Регистр контроля ERROR_CODE содержит значение литерала ECODE. Макрос использует три рабочих регистра TEMP1,TEMP2,TEMP3.
СС1100_RX_STATE MACRO YES_LABEL,DEL_SPI,ECODE,TEMP1,TEMP2,TEMP3
Макрос перевода СС1100 В TX-состояние. При удачном переводе управление передается на метку YES_LABEL. Регистр контроля ERROR_CODE содержит значение литерала ECODE. Макрос использует три рабочих регистра TEMP1,TEMP2,TEMP3.
СС1100_TX_STATE MACRO YES_LABEL,DEL_SPI,ECODE,TEMP1,TEMP2,TEMP3
Макрос заполнения FIFO буфера литералами. BYTE0-BYTE7 задаются как регистры.
WRITE_TX MACRO N_BYTES,LENGTH,ADRESS,BYTE0,BYTE1,BYTE2,BYTE3,BYTE4,BYTE5,BYTE6,BYTE7
Макрос заполнения TX FIFO буфера. BYTE0-BYTE7 задаются как регистры.
WRITE_TXR MACRO N_BYTES,LENGTH,ADRESS,BYTE0,BYTE1,BYTE2,BYTE3,BYTE4,BYTE5,BYTE6,BYTE7
Макрос инициализация чтения RX FIFO буфера.
READ_RX MACRO N_BYTES
Макрос инициализация чтения регистров конфигурации СС1100
READ_CONFIG MACRO ADRESS,CONFIG
Макрос заполнения таблицы мощности.
WRITE_PATABLE MACRO BYTE0,BYTE1,BYTE2,BYTE3,BYTE4,BYTE5,BYTE6,BYTE7
Макрос пересчета RSSI
RSSI_MEAN MACRO RSSI_STATUS,RSSI_VALUE
Управление мотором
MOTOR_DRIVER MACRO PORT,BIT,SOUND_INT,SILENCE_INT,NUMBER,TEMP1,TEMP2,TEMP3,SOFT_WDT