Микроконтролер 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 Мб (Скачать файл)

label268435984

      BCF gbl_cs_out,7

      NOP

      CLRF max6675_re_00008_1_i

label268435991

      MOVLW 0x10

      CPFSLT max6675_re_00008_1_i

      BRA label268435992

      CLRF CompTempVar130

      BTFSC gbl_so_in,5

      INCF CompTempVar130, F

      MOVF CompTempVar130, W

      IORWF max6675_re_00008_1_temp, F

      BCF STATUS,C

      RLCF max6675_re_00008_1_temp, F

      RLCF max6675_re_00008_1_temp+D'1', F

      BSF gbl_ck_out,6

      NOP

      BCF gbl_ck_out,6

      INCF max6675_re_00008_1_i, F

      BRA label268435991

label268435992

      BTFSS max6675_re_00008_1_temp,2

      BRA label268436009

      MOVLW 0x01

      MOVWF gbl_isthcopen

      BRA label268436012

label268436009

      CLRF gbl_isthcopen

label268436012

      BSF gbl_cs_out,7

      MOVF max6675_re_00008_1_temp, W

      MOVWF CompTempVar133

      MOVF max6675_re_00008_1_temp+D'1', W

; VAR_LIFETIME_BEGIN:$ret Id:0x1000020B

      MOVWF CompTempVarRet129+D'1'

      RLCF CompTempVarRet129+D'1', W

      RRCF CompTempVarRet129+D'1', F

      RRCF CompTempVar133, F

      RLCF CompTempVarRet129+D'1', W

      RRCF CompTempVarRet129+D'1', F

      RRCF CompTempVar133, F

      RLCF CompTempVarRet129+D'1', W

      RRCF CompTempVarRet129+D'1', F

      RRCF CompTempVar133, W

      MOVWF CompTempVarRet129

      RETURN

; } max6675_read_temp function end 

      ORG 0x000000FC

max6675_in_00007

; { max6675_init ; function begin

      BCF gbl_ck_tris,6

      BCF gbl_ck_out,6

      BCF gbl_cs_tris,7

      BSF gbl_cs_out,7

      BSF gbl_so_tris,5

      RETURN

; } max6675_init function end 

      ORG 0x00000108

init_Timer_00009

; { init_Timer0 ; function begin

      BSF gbl_t0con,7

      BSF gbl_t0con,6

      BCF gbl_t0con,5

      BCF gbl_t0con,3

      BCF gbl_t0con,0

      BSF gbl_t0con,1

      BCF gbl_t0con,2

      CLRF gbl_tmr0l

      BCF gbl_intcon,2

      BSF gbl_intcon,5

      BSF gbl_intcon,7

      RETURN

; } init_Timer0 function end 

      ORG 0x00000120

format_00000

; { format ; function begin

      MOVLW 0x0A

      MULWF format_00000_arg_value

      MOVF PRODL, W

      MOVWF CompTempVar123

      MOVF PRODH, W

      MOVWF CompTempVar124

      MOVLW 0x0A

      MULWF format_00000_arg_value+D'1'

      MOVF PRODL, W

      ADDWF CompTempVar124, F

      MOVF CompTempVar123, W

      MOVWF format_00000_arg_value

      MOVF CompTempVar124, W

      MOVWF format_00000_arg_value+D'1'

      BCF STATUS,C

      RRCF format_00000_arg_value+D'1', F

      RRCF format_00000_arg_value, F

      BCF STATUS,C

      RRCF format_00000_arg_value+D'1', F

      RRCF format_00000_arg_value, F

      MOVF format_00000_arg_value, W

      MOVWF __rem_16_1_00004_arg_a

      MOVF format_00000_arg_value+D'1', W

      MOVWF __rem_16_1_00004_arg_a+D'1'

      MOVLW 0x0A

      MOVWF __rem_16_1_00004_arg_b

      CLRF __rem_16_1_00004_arg_b+D'1'

      CALL __rem_16_1_00004

; VAR_LIFETIME_END:$ret Id:0x10000286

      MOVF CompTempVarRet141, W

      MOVWF gbl_5_tbuff

      MOVF format_00000_arg_value, W

      MOVWF __div_16_1_00003_arg_a

      MOVF format_00000_arg_value+D'1', W

      MOVWF __div_16_1_00003_arg_a+D'1'

      MOVLW 0x0A

      MOVWF __div_16_1_00003_arg_b

      CLRF __div_16_1_00003_arg_b+D'1'

      CALL __div_16_1_00003

      MOVF CompTempVarRet139, W

      MOVWF __rem_16_1_00004_arg_a

; VAR_LIFETIME_END:$ret Id:0x1000026E

      MOVF CompTempVarRet139+D'1', W

      MOVWF __rem_16_1_00004_arg_a+D'1'

      MOVLW 0x0A

      MOVWF __rem_16_1_00004_arg_b

      CLRF __rem_16_1_00004_arg_b+D'1'

      CALL __rem_16_1_00004

; VAR_LIFETIME_END:$ret Id:0x10000286

      MOVF CompTempVarRet141, W

      MOVWF gbl_5_tbuff+D'1'

      MOVF format_00000_arg_value, W

      MOVWF __div_16_1_00003_arg_a

      MOVF format_00000_arg_value+D'1', W

      MOVWF __div_16_1_00003_arg_a+D'1'

      MOVLW 0x64

      MOVWF __div_16_1_00003_arg_b

      CLRF __div_16_1_00003_arg_b+D'1'

      CALL __div_16_1_00003

      MOVF CompTempVarRet139, W

      MOVWF __rem_16_1_00004_arg_a

; VAR_LIFETIME_END:$ret Id:0x1000026E

      MOVF CompTempVarRet139+D'1', W

      MOVWF __rem_16_1_00004_arg_a+D'1'

      MOVLW 0x0A

      MOVWF __rem_16_1_00004_arg_b

      CLRF __rem_16_1_00004_arg_b+D'1'

      CALL __rem_16_1_00004

; VAR_LIFETIME_END:$ret Id:0x10000286

      MOVF CompTempVarRet141, W

      MOVWF gbl_5_tbuff+D'2'

      MOVF format_00000_arg_value, W

      MOVWF __div_16_1_00003_arg_a

      MOVF format_00000_arg_value+D'1', W

      MOVWF __div_16_1_00003_arg_a+D'1'

      MOVLW 0xE8

      MOVWF __div_16_1_00003_arg_b

      MOVLW 0x03

      MOVWF __div_16_1_00003_arg_b+D'1'

      CALL __div_16_1_00003

      MOVF CompTempVarRet139, W

      MOVWF __rem_16_1_00004_arg_a

; VAR_LIFETIME_END:$ret Id:0x1000026E

      MOVF CompTempVarRet139+D'1', W

      MOVWF __rem_16_1_00004_arg_a+D'1'

      MOVLW 0x0A

      MOVWF __rem_16_1_00004_arg_b

      CLRF __rem_16_1_00004_arg_b+D'1'

      CALL __rem_16_1_00004

; VAR_LIFETIME_END:$ret Id:0x10000286

      MOVF CompTempVarRet141, W

      MOVWF gbl_5_tbuff+D'3'

      RETURN

; } format function end 

      ORG 0x000001DA

main

; { main ; function begin

      BTFSC CompGblVar32,0

      BRA label268435773

      CLRF main_1_data

      CLRF main_1_data+D'1'

      BSF CompGblVar32,0

label268435773

      CLRF gbl_trisd

      SETF gbl_portd

      CLRF gbl_trisc

      CLRF gbl_portc

      BCF gbl_disoff_tris,0

      BSF gbl_disoff_out,0

      CALL init_Timer_00009

      CALL max6675_in_00007

label268435784

      MOVLW 0x96

      CPFSLT gbl_5_interrupt_timer

      TSTFSZ gbl_5_interrupt_timer+D'1'

      TSTFSZ gbl_5_interrupt_timer+D'1'

      BRA label4026531891

      BRA label268435784

label4026531891

      BTFSC gbl_5_interrupt_timer+D'1',7

      BRA label268435784

      CLRF gbl_5_interrupt_timer

      CLRF gbl_5_interrupt_timer+D'1'

      BCF gbl_intcon,5

      CALL max6675_re_00008

      MOVF CompTempVarRet129, W

      MOVWF main_1_data

; VAR_LIFETIME_END:$ret Id:0x1000020B

      MOVF CompTempVarRet129+D'1', W

      MOVWF main_1_data+D'1'

      MOVF main_1_data, W

      MOVWF format_00000_arg_value

      MOVF main_1_data+D'1', W

      MOVWF format_00000_arg_value+D'1'

      CALL format_00000

      BSF gbl_intcon,5

      BRA label268435784

; } main function end 

      ORG 0x0000022A

_startup

      BCF CompGblVar32,0

      CLRF gbl_isthcopen

      CLRF gbl_5_tbuff

      CLRF gbl_5_tbuff+D'1'

      CLRF gbl_5_digit

      CLRF gbl_5_interrupt_timer

      CLRF gbl_5_interrupt_timer+D'1'

      MOVLW 0x40

      MOVWF gbl_map

      MOVLW 0x79

      MOVWF gbl_map+D'1'

      MOVLW 0x24

      MOVWF gbl_map+D'2'

      MOVLW 0x30

      MOVWF gbl_map+D'3'

      MOVLW 0x19

      MOVWF gbl_map+D'4'

      MOVLW 0x12

      MOVWF gbl_map+D'5'

      MOVLW 0x02

      MOVWF gbl_map+D'6'

      MOVLW 0x78

      MOVWF gbl_map+D'7'

      CLRF gbl_map+D'8'

      MOVLW 0x10

      MOVWF gbl_map+D'9'

      MOVLW 0x48

      MOVWF gbl_open

      MOVLW 0x06

      MOVWF gbl_open+D'1'

      MOVLW 0x0C

      MOVWF gbl_open+D'2'

      MOVLW 0x40

      MOVWF gbl_open+D'3'

      BCF CompGblVar33,1

      BCF CompGblVar34,2

      CLRF gbl_isthcopen

      BCF CompGblVar35,3

      BCF CompGblVar36,4

      GOTO main

      ORG 0x0000027C

interrupt

; { interrupt ; function begin

      MOVFF FSR0H,  Int1Context

      MOVFF FSR0L,  Int1Context+D'1'

      MOVFF PRODH,  Int1Context+D'2'

      MOVFF PRODL,  Int1Context+D'3'

      BSF gbl_disoff_out,0

      CLRF gbl_tmr0l

      BCF gbl_intcon,2

      MOVLW 0x05

      CPFSGT gbl_5_digit

      BRA label268435661

      CLRF gbl_5_digit

      CLRF gbl_portc

label268435661

      MOVLW 0x01

      MOVWF CompTempVar114

      MOVF gbl_5_digit, W

label268435669

      ANDLW 0xFF

      BZ label268435670

      BCF STATUS,C

      RLCF CompTempVar114, F

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