Автор работы: Пользователь скрыл имя, 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
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