Микроконтролер PIC18FXX2

Автор работы: Пользователь скрыл имя, 16 Ноября 2011 в 16:49, курсовая работа

Краткое описание

Микропроцессор – функционально законченное устройство обработки информации, управляемое хранимой в памяти программой. Появление микропроцессоров (МП) стало возможным благодаря развитию интегральной электронике. Это позволило перейти от схем малой и средней степени интеграции к большим и сверхбольшим интегральным микросхемам (БИС и СБИС).

Содержание работы

Введение…………………………………………………………………….1
Глава 1. Микроконтроллеры……………………………………………….6
1.1 Микроконтроллеры………………..…………………………………...6
1.2 Описание микроконтроллера PIC18FXX2………..…………………..9
Глава 2. Программирование микроконтроллеров………………….........17
2.1. Программирование микроконтроллеров PIC16/PIC18 на языке C...17
Глава 3. Сборка устройства……………………………………………….21
3.1 Система виртуального моделирования PROTEUS VSM………….21
3.2 Сборка схемы………………………………………………………….24
3.3 Программирование и настройка контроллера………………………26
Заключение……………………………………………………………….42
Список литературы……………………………………………………...43

Содержимое работы - 1 файл

Курсовая.docx

— 1.32 Мб (Скачать файл)

gbl_ccpr1h                       EQU 0x00000FBF ; bytes:1

gbl_adcon1                       EQU 0x00000FC1 ; bytes:1

gbl_adcon0                       EQU 0x00000FC2 ; bytes:1

gbl_adresl                       EQU 0x00000FC3 ; bytes:1

gbl_adresh                       EQU 0x00000FC4 ; bytes:1

gbl_sspcon2                      EQU 0x00000FC5 ; bytes:1

gbl_sspcon1                      EQU 0x00000FC6 ; bytes:1

gbl_sspstat                      EQU 0x00000FC7 ; bytes:1

gbl_sspadd                       EQU 0x00000FC8 ; bytes:1

gbl_sspbuf                       EQU 0x00000FC9 ; bytes:1

gbl_t2con                        EQU 0x00000FCA ; bytes:1

gbl_pr2                          EQU 0x00000FCB ; bytes:1

gbl_tmr2                         EQU 0x00000FCC ; bytes:1

gbl_t1con                        EQU 0x00000FCD ; bytes:1

gbl_tmr1l                        EQU 0x00000FCE ; bytes:1

gbl_tmr1h                        EQU 0x00000FCF ; bytes:1

gbl_rcon                         EQU 0x00000FD0 ; bytes:1

gbl_wdtcon                       EQU 0x00000FD1 ; bytes:1

gbl_lvdcon                       EQU 0x00000FD2 ; bytes:1

gbl_osccon                       EQU 0x00000FD3 ; bytes:1

gbl_t0con                        EQU 0x00000FD5 ; bytes:1

gbl_tmr0l                        EQU 0x00000FD6 ; bytes:1

gbl_tmr0h                        EQU 0x00000FD7 ; bytes:1

gbl_status                       EQU 0x00000FD8 ; bytes:1

gbl_fsr2l                        EQU 0x00000FD9 ; bytes:1

gbl_fsr2h                        EQU 0x00000FDA ; bytes:1

gbl_plusw2                       EQU 0x00000FDB ; bytes:1

gbl_preinc2                      EQU 0x00000FDC ; bytes:1

gbl_postdec2                     EQU 0x00000FDD ; bytes:1

gbl_postinc2                     EQU 0x00000FDE ; bytes:1

gbl_indf2                        EQU 0x00000FDF ; bytes:1

gbl_bsr                          EQU 0x00000FE0 ; bytes:1

gbl_fsr1l                        EQU 0x00000FE1 ; bytes:1

gbl_fsr1h                        EQU 0x00000FE2 ; bytes:1

gbl_plusw1                       EQU 0x00000FE3 ; bytes:1

gbl_preinc1                      EQU 0x00000FE4 ; bytes:1

gbl_postdec1                     EQU 0x00000FE5 ; bytes:1

gbl_postinc1                     EQU 0x00000FE6 ; bytes:1

gbl_indf1                        EQU 0x00000FE7 ; bytes:1

gbl_wreg                         EQU 0x00000FE8 ; bytes:1

gbl_fsr0l                        EQU 0x00000FE9 ; bytes:1

gbl_fsr0h                        EQU 0x00000FEA ; bytes:1

gbl_plusw0                       EQU 0x00000FEB ; bytes:1

gbl_preinc0                      EQU 0x00000FEC ; bytes:1

gbl_postdec0                     EQU 0x00000FED ; bytes:1

gbl_postinc0                     EQU 0x00000FEE ; bytes:1

gbl_indf0                        EQU 0x00000FEF ; bytes:1

gbl_intcon3                      EQU 0x00000FF0 ; bytes:1

gbl_intcon2                      EQU 0x00000FF1 ; bytes:1

gbl_intcon                       EQU 0x00000FF2 ; bytes:1

gbl_prodl                        EQU 0x00000FF3 ; bytes:1

gbl_prodh                        EQU 0x00000FF4 ; bytes:1

gbl_tablat                       EQU 0x00000FF5 ; bytes:1

gbl_tblptrl                      EQU 0x00000FF6 ; bytes:1

gbl_tblptrh                      EQU 0x00000FF7 ; bytes:1

gbl_tblptru                      EQU 0x00000FF8 ; bytes:1

gbl_pcl                          EQU 0x00000FF9 ; bytes:1

gbl_pclath                       EQU 0x00000FFA ; bytes:1

gbl_pclatu                       EQU 0x00000FFB ; bytes:1

gbl_stkptr                       EQU 0x00000FFC ; bytes:1

gbl_tosl                         EQU 0x00000FFD ; bytes:1

gbl_tosh                         EQU 0x00000FFE ; bytes:1

gbl_tosu                         EQU 0x00000FFF ; bytes:1

gbl_ck_tris                      EQU 0x00000F93 ; bit:6

gbl_cs_tris                      EQU 0x00000F93 ; bit:7

gbl_so_tris                      EQU 0x00000F93 ; bit:5

gbl_ck_out                       EQU 0x00000F8A ; bit:6

gbl_cs_out                       EQU 0x00000F8A ; bit:7

gbl_so_in                        EQU 0x00000F81 ; bit:5

gbl_isthcopen                    EQU 0x0000001D ; bytes:1

gbl_disoff_tris                  EQU 0x00000F93 ; bit:0

gbl_disoff_out                   EQU 0x00000F81 ; bit:0

gbl_5_tbuff                      EQU 0x00000013 ; bytes:4

gbl_5_digit                      EQU 0x0000001E ; bytes:1

gbl_5_interrupt_timer            EQU 0x00000001 ; bytes:2

gbl_map                          EQU 0x00000009 ; bytes:10

gbl_open                         EQU 0x00000017 ; bytes:4

CompGblVar32                     EQU 0x0000001F ; bit:0

interrupt_1_mask                 EQU 0x00000030 ; bytes:1

CompTempVar114                   EQU 0x00000031 ; bytes:1

CompTempVar116                   EQU 0x00000031 ; bytes:1

CompTempVar118                   EQU 0x00000032 ; bytes:1

CompTempVar121                   EQU 0x00000033 ; bytes:1

format_00000_arg_value           EQU 0x00000021 ; bytes:2

CompTempVar123                   EQU 0x00000023 ; bytes:1

CompTempVar124                   EQU 0x00000024 ; bytes:1

main_1_data                      EQU 0x00000003 ; bytes:2

CompGblVar33                     EQU 0x0000001F ; bit:1

CompGblVar34                     EQU 0x0000001F ; bit:2

CompTempVarRet129                EQU 0x00000022 ; bytes:2

max6675_re_00008_1_i             EQU 0x00000020 ; bytes:1

max6675_re_00008_1_temp          EQU 0x0000001B ; bytes:2

CompTempVar130                   EQU 0x00000021 ; bytes:1

CompTempVar133                   EQU 0x00000021 ; bytes:1

__div_16_1_00003_arg_a           EQU 0x00000023 ; bytes:2

__div_16_1_00003_arg_b           EQU 0x00000025 ; bytes:2

CompTempVarRet139                EQU 0x0000002E ; bytes:2

__div_16_1_00003_1_r             EQU 0x0000002B ; bytes:2

__div_16_1_00003_1_i             EQU 0x0000002D ; bytes:1

__rem_16_1_00004_arg_a           EQU 0x00000027 ; bytes:2

__rem_16_1_00004_arg_b           EQU 0x00000029 ; bytes:2

CompTempVarRet141                EQU 0x0000002E ; bytes:2

__rem_16_1_00004_1_c             EQU 0x0000002B ; bytes:2

__rem_16_1_00004_1_i             EQU 0x0000002D ; bytes:1

CompGblVar35                     EQU 0x0000001F ; bit:3

CompGblVar36                     EQU 0x0000001F ; bit:4

delay_100u_00000_arg_del         EQU 0x00000031 ; bytes:1

Int1Context                      EQU 0x00000005 ; bytes:4

      ORG 0x00000000

      GOTO _startup

      ORG 0x00000008

      GOTO interrupt

      ORG 0x0000000C

delay_100u_00000

; { delay_100us ; function begin

      MOVF delay_100u_00000_arg_del, F

      BTFSS STATUS,Z

      GOTO label4026531851

      RETURN

label4026531851

      MOVLW 0x18

label4026531852

      ADDLW 0xFF

      BTFSS STATUS,Z

      GOTO label4026531852

      DECFSZ delay_100u_00000_arg_del, F

      GOTO label4026531851

      RETURN

; } delay_100us function end 

      ORG 0x00000028

__rem_16_1_00004

; { __rem_16_16 ; function begin

; VAR_LIFETIME_BEGIN:$ret Id:0x10000286

      CLRF CompTempVarRet141

      CLRF CompTempVarRet141+D'1'

      CLRF __rem_16_1_00004_1_c

      CLRF __rem_16_1_00004_1_c+D'1'

      CLRF __rem_16_1_00004_1_i

label268436110

      BTFSC __rem_16_1_00004_1_i,4

      RETURN

      BCF STATUS,C

      RLCF __rem_16_1_00004_1_c, F

      RLCF __rem_16_1_00004_1_c+D'1', F

      RLCF __rem_16_1_00004_arg_a, F

      RLCF __rem_16_1_00004_arg_a+D'1', F

      RLCF CompTempVarRet141, F

      RLCF CompTempVarRet141+D'1', F

      MOVF __rem_16_1_00004_arg_b, W

      SUBWF CompTempVarRet141, W

      MOVF __rem_16_1_00004_arg_b+D'1', W

      CPFSEQ CompTempVarRet141+D'1'

      SUBWF CompTempVarRet141+D'1', W

      BNC label268436115

      MOVF __rem_16_1_00004_arg_b, W

      SUBWF CompTempVarRet141, F

      MOVF __rem_16_1_00004_arg_b+D'1', W

      SUBWFB CompTempVarRet141+D'1', F

      BSF __rem_16_1_00004_1_c,0

label268436115

      INCF __rem_16_1_00004_1_i, F

      BRA label268436110

      RETURN

; } __rem_16_16 function end 

      ORG 0x00000060

__div_16_1_00003

; { __div_16_16 ; function begin

      CLRF __div_16_1_00003_1_r

      CLRF __div_16_1_00003_1_r+D'1'

; VAR_LIFETIME_BEGIN:$ret Id:0x1000026E

      CLRF CompTempVarRet139

      CLRF CompTempVarRet139+D'1'

      CLRF __div_16_1_00003_1_i

label268436086

      BTFSC __div_16_1_00003_1_i,4

      RETURN

      BCF STATUS,C

      RLCF CompTempVarRet139, F

      RLCF CompTempVarRet139+D'1', F

      RLCF __div_16_1_00003_arg_a, F

      RLCF __div_16_1_00003_arg_a+D'1', F

      RLCF __div_16_1_00003_1_r, F

      RLCF __div_16_1_00003_1_r+D'1', F

      MOVF __div_16_1_00003_arg_b, W

      SUBWF __div_16_1_00003_1_r, W

      MOVF __div_16_1_00003_arg_b+D'1', W

      CPFSEQ __div_16_1_00003_1_r+D'1'

      SUBWF __div_16_1_00003_1_r+D'1', W

      BNC label268436091

      MOVF __div_16_1_00003_arg_b, W

      SUBWF __div_16_1_00003_1_r, F

      MOVF __div_16_1_00003_arg_b+D'1', W

      SUBWFB __div_16_1_00003_1_r+D'1', F

      BSF CompTempVarRet139,0

label268436091

      INCF __div_16_1_00003_1_i, F

      BRA label268436086

      RETURN

; } __div_16_16 function end 

      ORG 0x00000098

max6675_re_00008

; { max6675_read_temp ; function begin

      BTFSC CompGblVar33,1

      BRA label268435983

      CLRF max6675_re_00008_1_i

      BSF CompGblVar33,1

label268435983

      BTFSC CompGblVar34,2

      BRA label268435984

      CLRF max6675_re_00008_1_temp

      CLRF max6675_re_00008_1_temp+D'1'

      BSF CompGblVar34,2

Информация о работе Микроконтролер PIC18FXX2