Buscar

Exercícios 2021-10-20 - Comunicacao Serial (3)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Exercícios 2021-10-20 - Comunicacao Serial/Comunicação Serial RS-232.pdf
Centro Universitário Católico Salesiano Auxilium 
Araçatuba / SP 
 
CURSO TERMO TURMA PERIODO DISCIPLINA 
ENGENHARIAS - - - DIVERSAS 
PROFESSOR(A) Assunto DATA 
AMADEU ZANON NETO RS-232 - SERIAL ABR/2019 
 
Profº Amadeu Zanon Neto - Página 1 de 2 
RS-232 – Protocolo eletrônico de comunicação de dados Serial. 
 Muito utilizada para comunicação entre dispositivos digitais o protocolo eletrônico RS232 
(Recommended Standard 232) para transmissão de pouco volume de dados é uma das mais antigas e utilizadas até 
hoje, a sua primeira aplicação foi em 1962 nas máquinas eletromecânicas de escrever. Ela também é conhecida 
como comunicação serial. 
 Em 1969 foi efetuada uma revisão deste protocolo conhecida como revisão C. Em 1986 foi feita a 
revisão D pela EIA (Eletronic Industries Alliancy) para aplicação em sistemas de informática. E a versão atual foi 
determinada em 1997 pela TIA (Telecommunications Industry Association) sendo chamada TIA-232F, aplicada aos 
modems (moduladores e demoduladores) para transmissão via linha discada nos primórdios da Internet, também 
aplicada aos microcontroladores e sistemas embarcados. 
 Este protocolo faz com que a informação seja transmitida bit a bit, iniciando-se com um bit start 
(bit de partida) e aí de forma assíncrona o padrão de tempo determina a transmissão e recepção dos oito bits 
necessários para compor um byte (mínimo necessário para se obter um caractere). 
 A velocidade de transmissão é medida em forma de frequência em unidade de bits por segundo ou 
bps, e os dispositivos envolvidos nesta comunicação devem estar configurados com a mesma velocidade, a lista a 
seguir mostra os valores padrão: 
• 1200, 2400, 4800, 9600, 14400, 19200, 38400, 56000, 57600 e 115200 bits por segundo. 
 
 Lembrando sempre que quanto maior a velocidade, mais energia é consumida e os meios físicos de 
transmissão devem estar em boas condições para tal. 
 Esta transmissão é feita através de dois fios, além do aterramento mútuo dos dois elementos 
envolvidos, onde a saída TX (transmissão de dados) de um, deve estar conectada com a entrada RX (recepção de 
dados) do outro e de forma inversa para que haja comunicação bidirecional. 
 
 
 
 
 
 
 
 Em diversos microcontroladores, a porta de comunicação serial é tratada com UART (Universal 
Asynchronous Receiver/Transmitter) ou seja, Receptor/Transmissor Universal Assíncrono, versão geral para os 
protocolos EIA, RS-232, RS-422, e RS-485, permitindo a sua customização para diversas aplicações. 
 
Centro Universitário Católico Salesiano Auxilium 
Araçatuba / SP 
 
CURSO TERMO TURMA PERIODO DISCIPLINA 
ENGENHARIAS - - - DIVERSAS 
PROFESSOR(A) Assunto DATA 
AMADEU ZANON NETO RS-232 - SERIAL ABR/2019 
 
Profº Amadeu Zanon Neto - Página 2 de 2 
ASCII – Protocolo lógico de comunicação de dados. 
 
 Como a comunicação serial é feita de forma eletrônica digital utilizando um sistema binário de 
informações bit a bit, estes bits são reunidos em conjunto de oito unidades de 0 e 1 formando um byte, foi 
necessário a criação de um protocolo de identificação e padronização de dados, para que os computadores 
pudessem interpretá-los de forma útil. 
 Em meados dos anos 1960, as grandes empresas produtoras de computadores começaram a 
distribuí-los de forma comercial. Nesta época os computadores de fabricantes diferentes não podiam compartilhar 
seus dados nem os arquivos, pois cada um utilizava um padrão de reconhecimento de letras, números e códigos de 
controle de forma diferente. 
 Sendo assim, os órgãos regulamentadores dos Estados Unidos reuniram os fabricantes e criaram 
um sistema de reconhecimento dos dados padronizado, esta padronização é conhecida como ASCII (American 
Standard Code for Interchange Information), ou código americano padrão para intercâmbio de informações. 
 A tabela é composta por 128 códigos padronizados que devem ser utilizados por todos os 
fabricantes de dispositivos digitais que necessitem comunicação entre eles. 
 Os primeiros 32 códigos desta tabela que se inicia em 0 e vai até 31, são utilizados como códigos de 
controle, por exemplo, a tecla <ENTER> é representada pelo código 13 e não são imprimíveis. 
 Os códigos de 32 a 126 representam os caracteres imprimíveis, além de números, sinais e as letras 
do alfabeto maiúsculas e minúsculas, por exemplo, a letra A maiúscula possui o código 65. 
 O código 127 foi utilizado para a tecla DELETE. 
 A partir do código 128 até o código 255 ficam reservados para os caracteres específicos de cada 
idioma e alguns caracteres gráficos básicos. 
 
 
 
Referência Bibliográfica 
 
Almeida, Rodrigo Maximiano A. & Moraes, Carlos Henrique V. & Seraphim, Thatyana F. Piola. Programação de 
Sistemas Embarcados, Desenvolvendo software para microcontroladores em linguagem C (2016). 1ª Ed. 467p. Rio 
de Janeiro – RJ – Brasil: Elsevier Editora Ltda. 
 
RS232 Communication – The Basics, disponível em: http://extremeelectronics.co.in/avr-tutorials/rs232-communication-the-
basics/ . Acesso em 10 Abr. 2019. 
http://extremeelectronics.co.in/avr-tutorials/rs232-communication-the-basics/
http://extremeelectronics.co.in/avr-tutorials/rs232-communication-the-basics/
Exercícios 2021-10-20 - Comunicacao Serial/Last Loaded Placa Serial.DBK
Exercícios 2021-10-20 - Comunicacao Serial/Placa Serial.DSN
Exercícios 2021-10-20 - Comunicacao Serial/Placa Serial.PWI
Exercícios 2021-10-20 - Comunicacao Serial/SERIAL.asm
; Assembly code generated by mikroVirtualMachine - V. 5.0.0.3
; Date/Time: 20/10/2020 23:00:54
; Info: http://www.mikroe.com
; ADDRESS	OPCODE	ASM
; ----------------------------------------------
$0000	$2804			GOTO	_main
$026F	$	_usart_write:
;USART_b75.ppas,40 :: 		
;USART_b75.ppas,42 :: 		
$026F	$	USART_b75_L_14:
$026F	$1303			BCF	STATUS, RP1
$0270	$1683			BSF	STATUS, RP0
$0271	$0818			MOVF	TXSTA, 0
$0272	$00F1			MOVWF	STACK_1
$0273	$3000			MOVLW	0
$0274	$18F1			BTFSC	STACK_1, 1
$0275	$3001			MOVLW	1
$0276	$00F1			MOVWF	STACK_1
$0277	$0871			MOVF	STACK_1, 0
$0278	$3A00			XORLW	0
$0279	$1D03			BTFSS	STATUS, Z
$027A	$2A7D			GOTO	USART_b75_L_15
;USART_b75.ppas,43 :: 		
$027B	$0000			NOP
$027C	$2A6F			GOTO	USART_b75_L_14
$027D	$	USART_b75_L_15:
;USART_b75.ppas,44 :: 		
$027D	$1283			BCF	STATUS, RP0
$027E	$0836			MOVF	FARG_USART_Write, 0
$027F	$0099			MOVWF	TXREG
$0280	$	USART_b75_L_12:
;USART_b75.ppas,45 :: 		
$0280	$0008			RETURN
$0281	$	_usart_data_ready:
;USART_b75.ppas,48 :: 		
;USART_b75.ppas,50 :: 		
$0281	$1303			BCF	STATUS, RP1
$0282	$1283			BCF	STATUS, RP0
$0283	$080C			MOVF	PIR1, 0
$0284	$00F1			MOVWF	STACK_1
$0285	$3000			MOVLW	0
$0286	$1AF1			BTFSC	STACK_1, 5
$0287	$3001			MOVLW	1
$0288	$00F1			MOVWF	STACK_1
$0289	$0871			MOVF	STACK_1, 0
$028A	$00B2			MOVWF	_usart_data_ready_local_result
$028B	$	USART_b75_L_18:
;USART_b75.ppas,51 :: 		
$028B	$0832			MOVF	_usart_data_ready_local_result, 0
$028C	$00F0			MOVWF	STACK_0
$028D	$0008			RETURN
$025C	$	_usart_read:
;USART_b75.ppas,54 :: 		
;USART_b75.ppas,55 :: 		
$025C	$1303			BCF	STATUS, RP1
$025D	$1283			BCF	STATUS, RP0
$025E	$081A			MOVF	RCREG, 0
$025F	$00B2			MOVWF	_usart_read_local_result
;USART_b75.ppas,61 :: 		
$0260	$0818			MOVF	RCSTA, 0
$0261	$00F1			MOVWF	STACK_1
$0262	$3000			MOVLW	0
$0263	$18F1			BTFSC	STACK_1, 1
$0264	$3001			MOVLW	1
$0265	$00F1			MOVWF	STACK_1
$0266	$0871			MOVF	STACK_1, 0
$0267	$3A01			XORLW	1
$0268	$1D03			BTFSS	STATUS, Z
$0269	$2A6C			GOTO	USART_b75_L_21
$026A	$	USART_b75_L_20:
;USART_b75.ppas,63 :: 		
$026A	$1218			BCF	RCSTA, 4
$026B	$	USART_b75_L_24:
;USART_b75.ppas,64 :: 		
$026B	$	USART_b75_L_25:
$026B	$1618			BSF	RCSTA, 4
$026C	$	USART_b75_L_26:
;USART_b75.ppas,65 :: 		
$026C	$	USART_b75_L_21:
$026C	$	USART_b75_L_22:
$026C	$	USART_b75_L_19:
;USART_b75.ppas,66 :: 		
$026C	$0832			MOVF	_usart_read_local_result, 0
$026D	$00F0			MOVWF	STACK_0
$026E	$0008			RETURN
$0231	$	_usart_write_text:
;USART_b75.ppas,121 :: 		
;USART_b75.ppas,122 :: 		
$0231	$1303			BCF	STATUS, RP1
$0232	$1283			BCF	STATUS, RP0
$0233	$01B3			CLRF	_usart_write_text_local_i, 1
;USART_b75.ppas,123 :: 		
$0234	$0832			MOVF	FARG_Usart_Write_Text, 0
$0235	$0084			MOVWF	FSR
$0236	$0800			MOVF	INDF, 0
$0237	$00B4			MOVWF	_usart_write_text_local_data
;USART_b75.ppas,124 :: 		
$0238	$	USART_b75_L_47:
$0238	$0834			MOVF	_usart_write_text_local_data, 0
$0239	$3A00			XORLW	0
$023A	$1903			BTFSC	STATUS, Z
$023B	$2A46			GOTO	USART_b75_L_48
;USART_b75.ppas,126 :: 		
$023C	$0834			MOVF	_usart_write_text_local_data, 0
$023D	$00B6			MOVWF	FARG_USART_Write
$023E	$226F			CALL	_usart_write
;USART_b75.ppas,127 :: 		
$023F	$0AB3			INCF	_usart_write_text_local_i, 1
;USART_b75.ppas,128 :: 		
$0240	$0833			MOVF	_usart_write_text_local_i, 0
$0241	$0732			ADDWF	FARG_Usart_Write_Text, 0
$0242	$0084			MOVWF	FSR
$0243	$0800			MOVF	INDF, 0
$0244	$00B4			MOVWF	_usart_write_text_local_data
;USART_b75.ppas,129 :: 		
$0245	$2A38			GOTO	USART_b75_L_47
$0246	$	USART_b75_L_48:
$0246	$	USART_b75_L_45:
;USART_b75.ppas,130 :: 		
$0246	$0008			RETURN
$0247	$	_usart_init:
;USART_b75.ppas,22 :: 		
;USART_b75.ppas,24 :: 		
$0247	$	USART_b75_L_1:
$0247	$1303			BCF	STATUS, RP1
$0248	$1683			BSF	STATUS, RP0
$0249	$1698			BSF	TXSTA, 5
$024A	$	USART_b75_L_2:
;USART_b75.ppas,25 :: 		
$024A	$3090			MOVLW	144
$024B	$1283			BCF	STATUS, RP0
$024C	$0098			MOVWF	RCSTA
;USART_b75.ppas,31 :: 		
$024D	$	USART_b75_L_3:
$024D	$1683			BSF	STATUS, RP0
$024E	$1686			BSF	TRISB, 5
$024F	$	USART_b75_L_4:
;USART_b75.ppas,32 :: 		
$024F	$	USART_b75_L_5:
$024F	$1786			BSF	TRISB, 7
$0250	$	USART_b75_L_6:
;USART_b75.ppas,35 :: 		
$0250	$	USART_b75_L_8:
$0250	$1283			BCF	STATUS, RP0
$0251	$080C			MOVF	PIR1, 0
$0252	$00F1			MOVWF	STACK_1
$0253	$3000			MOVLW	0
$0254	$1AF1			BTFSC	STACK_1, 5
$0255	$3001			MOVLW	1
$0256	$00F1			MOVWF	STACK_1
$0257	$0871			MOVF	STACK_1, 0
$0258	$3A01			XORLW	1
$0259	$1903			BTFSC	STATUS, Z
$025A	$2A50			GOTO	USART_b75_L_8
;USART_b75.ppas,36 :: 		
$025B	$	USART_b75_L_9:
$025B	$	USART_b75_L_0:
;USART_b75.ppas,37 :: 		
$025B	$0008			RETURN
$0004	$	_main:
;SERIAL.pbas,4 :: 		main:
$0004	$	_main_main:
;SERIAL.pbas,5 :: 		TRISA=%11111111
$0004	$30FF			MOVLW	255
$0005	$1303			BCF	STATUS, RP1
$0006	$1683			BSF	STATUS, RP0
$0007	$0085			MOVWF	TRISA
;SERIAL.pbas,6 :: 		TRISB=%01111111
$0008	$307F			MOVLW	127
$0009	$0086			MOVWF	TRISB
;SERIAL.pbas,7 :: 		TRISC=%00000000
$000A	$0187			CLRF	TRISC, 1
;SERIAL.pbas,8 :: 		INTCON=%00000000
$000B	$018B			CLRF	INTCON, 1
;SERIAL.pbas,9 :: 		ANSEL=%00000000
$000C	$1703			BSF	STATUS, RP1
$000D	$1283			BCF	STATUS, RP0
$000E	$019E			CLRF	ANSEL, 1
;SERIAL.pbas,10 :: 		ANSELH=%00000000
$000F	$019F			CLRF	ANSELH, 1
;SERIAL.pbas,12 :: 		PORTC=0
$0010	$1303			BCF	STATUS, RP1
$0011	$0187			CLRF	PORTC, 1
;SERIAL.pbas,14 :: 		Usart_Init(9600)
$0012	$3019			MOVLW	25
$0013	$1683			BSF	STATUS, RP0
$0014	$0099			MOVWF	SPBRG
$0015	$1518			BSF	TXSTA, BRGH
$0016	$2247			CALL	_usart_init
;SERIAL.pbas,16 :: 		executa:
$0017	$	_main_executa:
;SERIAL.pbas,17 :: 		if Usart_Data_Ready() > 0 then
$0017	$2281			CALL	_usart_data_ready
$0018	$0870			MOVF	STACK_0, 0
$0019	$3C00			SUBLW	0
$001A	$1803			BTFSC	STATUS, C
$001B	$2A2F			GOTO	SERIAL_L_2
$001C	$	SERIAL_L_1:
;SERIAL.pbas,18 :: 		recebe=Usart_Read()
$001C	$225C			CALL	_usart_read
$001D	$0870			MOVF	STACK_0, 0
$001E	$00A0			MOVWF	_recebe
;SERIAL.pbas,19 :: 		if recebe=65 then PORTC.0 = 1 end if
$001F	$0870			MOVF	STACK_0, 0
$0020	$3A41			XORLW	65
$0021	$1D03			BTFSS	STATUS, Z
$0022	$2824			GOTO	SERIAL_L_5
$0023	$	SERIAL_L_4:
$0023	$	SERIAL_L_7:
$0023	$1407			BSF	PORTC, 0
$0024	$	SERIAL_L_8:
$0024	$	SERIAL_L_5:
$0024	$	SERIAL_L_6:
;SERIAL.pbas,20 :: 		if recebe=97 then PORTC.0 = 0 end if
$0024	$0820			MOVF	_recebe, 0
$0025	$3A61			XORLW	97
$0026	$1D03			BTFSS	STATUS, Z
$0027	$2829			GOTO	SERIAL_L_10
$0028	$	SERIAL_L_9:
$0028	$1007			BCF	PORTC, 0
$0029	$	SERIAL_L_13:
$0029	$	SERIAL_L_10:
$0029	$	SERIAL_L_11:
;SERIAL.pbas,21 :: 		if recebe=66 then PORTC.1 = 1 end if
$0029	$0820			MOVF	_recebe, 0
$002A	$3A42			XORLW	66
$002B	$1D03			BTFSS	STATUS, Z
$002C	$282E			GOTO	SERIAL_L_15
$002D	$	SERIAL_L_14:
$002D	$	SERIAL_L_17:
$002D	$1487			BSF	PORTC, 1
$002E	$	SERIAL_L_18:
$002E	$	SERIAL_L_15:
$002E	$	SERIAL_L_16:
;SERIAL.pbas,22 :: 		if recebe=98 then PORTC.1 = 0 end if
$002E	$0820			MOVF	_recebe, 0
$002F	$3A62			XORLW	98
$0030	$1D03			BTFSS	STATUS, Z
$0031	$2833			GOTO	SERIAL_L_20
$0032	$	SERIAL_L_19:
$0032	$1087			BCF	PORTC, 1
$0033	$	SERIAL_L_23:
$0033	$	SERIAL_L_20:
$0033	$	SERIAL_L_21:
;SERIAL.pbas,23 :: 		if recebe=67 then PORTC.2 = 1 end if
$0033	$0820			MOVF	_recebe, 0
$0034	$3A43			XORLW	67
$0035	$1D03			BTFSS	STATUS, Z
$0036	$2838			GOTO	SERIAL_L_25
$0037	$	SERIAL_L_24:
$0037	$	SERIAL_L_27:
$0037	$1507			BSF	PORTC, 2
$0038	$	SERIAL_L_28:
$0038	$	SERIAL_L_25:
$0038	$	SERIAL_L_26:
;SERIAL.pbas,24 :: 		if recebe=99 then PORTC.2 = 0 end if
$0038	$0820			MOVF	_recebe, 0
$0039	$3A63			XORLW	99
$003A	$1D03			BTFSS	STATUS, Z
$003B	$283D			GOTO	SERIAL_L_30
$003C	$	SERIAL_L_29:
$003C	$1107			BCF	PORTC, 2
$003D	$	SERIAL_L_33:
$003D	$	SERIAL_L_30:
$003D	$	SERIAL_L_31:
;SERIAL.pbas,25 :: 		if recebe=68 then PORTC.3 = 1 end if
$003D	$0820			MOVF	_recebe, 0
$003E	$3A44			XORLW	68
$003F	$1D03			BTFSS	STATUS, Z
$0040	$2842			GOTO	SERIAL_L_35
$0041	$	SERIAL_L_34:
$0041	$	SERIAL_L_37:
$0041	$1587			BSF	PORTC, 3
$0042	$	SERIAL_L_38:
$0042	$	SERIAL_L_35:
$0042	$	SERIAL_L_36:
;SERIAL.pbas,26 :: 		if recebe=100 then PORTC.3 = 0 end if
$0042	$0820			MOVF	_recebe, 0
$0043	$3A64			XORLW	100
$0044	$1D03			BTFSS	STATUS, Z
$0045	$2847			GOTO	SERIAL_L_40
$0046	$	SERIAL_L_39:
$0046	$1187			BCF	PORTC, 3
$0047	$	SERIAL_L_43:
$0047	$	SERIAL_L_40:
$0047	$	SERIAL_L_41:
;SERIAL.pbas,27 :: 		if recebe=69 then PORTC.4 = 1 end if
$0047	$0820			MOVF	_recebe, 0
$0048	$3A45			XORLW	69
$0049	$1D03			BTFSS	STATUS, Z
$004A	$284C			GOTO	SERIAL_L_45
$004B	$	SERIAL_L_44:
$004B	$	SERIAL_L_47:
$004B	$1607			BSF	PORTC, 4
$004C	$	SERIAL_L_48:
$004C	$	SERIAL_L_45:
$004C	$	SERIAL_L_46:
;SERIAL.pbas,28 :: 		if recebe=101 then PORTC.4 = 0 end if
$004C	$0820			MOVF	_recebe, 0
$004D	$3A65			XORLW	101
$004E	$1D03			BTFSS	STATUS, Z
$004F	$2851			GOTO	SERIAL_L_50
$0050	$	SERIAL_L_49:
$0050	$1207			BCF	PORTC, 4
$0051	$	SERIAL_L_53:
$0051	$	SERIAL_L_50:
$0051	$	SERIAL_L_51:
;SERIAL.pbas,29 :: 		if recebe=70 then PORTC.5 = 1 end if
$0051	$0820			MOVF	_recebe, 0
$0052	$3A46			XORLW	70
$0053	$1D03			BTFSS	STATUS, Z
$0054	$2856			GOTO	SERIAL_L_55
$0055	$	SERIAL_L_54:
$0055	$	SERIAL_L_57:
$0055	$1687			BSF	PORTC, 5
$0056	$	SERIAL_L_58:
$0056	$	SERIAL_L_55:
$0056	$	SERIAL_L_56:
;SERIAL.pbas,30 :: 		if recebe=102 then PORTC.5 = 0 end if
$0056	$0820			MOVF	_recebe, 0
$0057	$3A66			XORLW	102
$0058	$1D03			BTFSS	STATUS, Z
$0059	$285B			GOTO	SERIAL_L_60
$005A	$	SERIAL_L_59:
$005A	$1287			BCF	PORTC, 5
$005B	$	SERIAL_L_63:
$005B	$	SERIAL_L_60:
$005B	$	SERIAL_L_61:
;SERIAL.pbas,31 :: 		if recebe=71 then PORTC.6 = 1 end if
$005B	$0820			MOVF	_recebe, 0
$005C	$3A47			XORLW	71
$005D	$1D03			BTFSS	STATUS, Z
$005E	$2860			GOTO	SERIAL_L_65
$005F	$	SERIAL_L_64:
$005F	$	SERIAL_L_67:
$005F	$1707			BSF	PORTC, 6
$0060	$	SERIAL_L_68:
$0060	$	SERIAL_L_65:
$0060	$	SERIAL_L_66:
;SERIAL.pbas,32 :: 		if recebe=103 then PORTC.6 = 0 end if
$0060	$0820			MOVF	_recebe, 0
$0061	$3A67			XORLW	103
$0062	$1D03			BTFSS	STATUS, Z
$0063	$2865			GOTO	SERIAL_L_70
$0064	$	SERIAL_L_69:
$0064	$1307			BCF	PORTC, 6
$0065	$	SERIAL_L_73:
$0065	$	SERIAL_L_70:
$0065	$	SERIAL_L_71:
;SERIAL.pbas,33 :: 		if recebe=72 then PORTC.7 = 1 end if
$0065	$0820			MOVF	_recebe, 0
$0066	$3A48			XORLW	72
$0067	$1D03			BTFSS	STATUS, Z
$0068	$286A			GOTO	SERIAL_L_75
$0069	$	SERIAL_L_74:
$0069	$	SERIAL_L_77:
$0069
$1787			BSF	PORTC, 7
$006A	$	SERIAL_L_78:
$006A	$	SERIAL_L_75:
$006A	$	SERIAL_L_76:
;SERIAL.pbas,34 :: 		if recebe=104 then PORTC.7 = 0 end if
$006A	$0820			MOVF	_recebe, 0
$006B	$3A68			XORLW	104
$006C	$1D03			BTFSS	STATUS, Z
$006D	$286F			GOTO	SERIAL_L_80
$006E	$	SERIAL_L_79:
$006E	$1387			BCF	PORTC, 7
$006F	$	SERIAL_L_83:
$006F	$	SERIAL_L_80:
$006F	$	SERIAL_L_81:
;SERIAL.pbas,36 :: 		if recebe=84 then PORTC=255 end if
$006F	$0820			MOVF	_recebe, 0
$0070	$3A54			XORLW	84
$0071	$1D03			BTFSS	STATUS, Z
$0072	$2875			GOTO	SERIAL_L_85
$0073	$	SERIAL_L_84:
$0073	$30FF			MOVLW	255
$0074	$0087			MOVWF	PORTC
$0075	$	SERIAL_L_85:
$0075	$	SERIAL_L_86:
;SERIAL.pbas,37 :: 		if recebe=48 then PORTC=0 end if
$0075	$0820			MOVF	_recebe, 0
$0076	$3A30			XORLW	48
$0077	$1D03			BTFSS	STATUS, Z
$0078	$287A			GOTO	SERIAL_L_88
$0079	$	SERIAL_L_87:
$0079	$0187			CLRF	PORTC, 1
$007A	$	SERIAL_L_88:
$007A	$	SERIAL_L_89:
;SERIAL.pbas,39 :: 		if recebe=82 then
$007A	$0820			MOVF	_recebe, 0
$007B	$3A52			XORLW	82
$007C	$1D03			BTFSS	STATUS, Z
$007D	$2A2E			GOTO	SERIAL_L_91
$007E	$	SERIAL_L_90:
;SERIAL.pbas,40 :: 		Usart_Write(13)
$007E	$300D			MOVLW	13
$007F	$00B6			MOVWF	FARG_USART_Write
$0080	$226F			CALL	_usart_write
;SERIAL.pbas,41 :: 		Usart_Write_Text("----------------") Usart_Write(13)
$0081	$302D			MOVLW	45
$0082	$00A1			MOVWF	?main_Local_Text+0
$0083	$302D			MOVLW	45
$0084	$00A2			MOVWF	?main_Local_Text+1
$0085	$302D			MOVLW	45
$0086	$00A3			MOVWF	?main_Local_Text+2
$0087	$302D			MOVLW	45
$0088	$00A4			MOVWF	?main_Local_Text+3
$0089	$302D			MOVLW	45
$008A	$00A5			MOVWF	?main_Local_Text+4
$008B	$302D			MOVLW	45
$008C	$00A6			MOVWF	?main_Local_Text+5
$008D	$302D			MOVLW	45
$008E	$00A7			MOVWF	?main_Local_Text+6
$008F	$302D			MOVLW	45
$0090	$00A8			MOVWF	?main_Local_Text+7
$0091	$302D			MOVLW	45
$0092	$00A9			MOVWF	?main_Local_Text+8
$0093	$302D			MOVLW	45
$0094	$00AA			MOVWF	?main_Local_Text+9
$0095	$302D			MOVLW	45
$0096	$00AB			MOVWF	?main_Local_Text+10
$0097	$302D			MOVLW	45
$0098	$00AC			MOVWF	?main_Local_Text+11
$0099	$302D			MOVLW	45
$009A	$00AD			MOVWF	?main_Local_Text+12
$009B	$302D			MOVLW	45
$009C	$00AE			MOVWF	?main_Local_Text+13
$009D	$302D			MOVLW	45
$009E	$00AF			MOVWF	?main_Local_Text+14
$009F	$302D			MOVLW	45
$00A0	$00B0			MOVWF	?main_Local_Text+15
$00A1	$01B1			CLRF	?main_Local_Text+16
$00A2	$3021			MOVLW	?main_Local_Text
$00A3	$00B2			MOVWF	FARG_Usart_Write_Text
$00A4	$2231			CALL	_usart_write_text
$00A5	$300D			MOVLW	13
$00A6	$00B6			MOVWF	FARG_USART_Write
$00A7	$226F			CALL	_usart_write
;SERIAL.pbas,42 :: 		Usart_Write_Text("RC0: ")
$00A8	$3052			MOVLW	82
$00A9	$00A1			MOVWF	?main_Local_Text+0
$00AA	$3043			MOVLW	67
$00AB	$00A2			MOVWF	?main_Local_Text+1
$00AC	$3030			MOVLW	48
$00AD	$00A3			MOVWF	?main_Local_Text+2
$00AE	$303A			MOVLW	58
$00AF	$00A4			MOVWF	?main_Local_Text+3
$00B0	$3020			MOVLW	32
$00B1	$00A5			MOVWF	?main_Local_Text+4
$00B2	$01A6			CLRF	?main_Local_Text+5
$00B3	$3021			MOVLW	?main_Local_Text
$00B4	$00B2			MOVWF	FARG_Usart_Write_Text
$00B5	$2231			CALL	_usart_write_text
;SERIAL.pbas,43 :: 		if PORTC.0=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$00B6	$3001			MOVLW	1
$00B7	$0507			ANDWF	PORTC, 0
$00B8	$00F1			MOVWF	STACK_1
$00B9	$0871			MOVF	STACK_1, 0
$00BA	$3A01			XORLW	1
$00BB	$1D03			BTFSS	STATUS, Z
$00BC	$28C6			GOTO	SERIAL_L_94
$00BD	$	SERIAL_L_93:
$00BD	$304F			MOVLW	79
$00BE	$00A1			MOVWF	?main_Local_Text+0
$00BF	$304E			MOVLW	78
$00C0	$00A2			MOVWF	?main_Local_Text+1
$00C1	$01A3			CLRF	?main_Local_Text+2
$00C2	$3021			MOVLW	?main_Local_Text
$00C3	$00B2			MOVWF	FARG_Usart_Write_Text
$00C4	$2231			CALL	_usart_write_text
$00C5	$28D0			GOTO	SERIAL_L_95
$00C6	$	SERIAL_L_94:
$00C6	$304F			MOVLW	79
$00C7	$00A1			MOVWF	?main_Local_Text+0
$00C8	$3046			MOVLW	70
$00C9	$00A2			MOVWF	?main_Local_Text+1
$00CA	$3046			MOVLW	70
$00CB	$00A3			MOVWF	?main_Local_Text+2
$00CC	$01A4			CLRF	?main_Local_Text+3
$00CD	$3021			MOVLW	?main_Local_Text
$00CE	$00B2			MOVWF	FARG_Usart_Write_Text
$00CF	$2231			CALL	_usart_write_text
$00D0	$	SERIAL_L_95:
$00D0	$300D			MOVLW	13
$00D1	$00B6			MOVWF	FARG_USART_Write
$00D2	$226F			CALL	_usart_write
;SERIAL.pbas,44 :: 		Usart_Write_Text("RC1: ")
$00D3	$3052			MOVLW	82
$00D4	$00A1			MOVWF	?main_Local_Text+0
$00D5	$3043			MOVLW	67
$00D6	$00A2			MOVWF	?main_Local_Text+1
$00D7	$3031			MOVLW	49
$00D8	$00A3			MOVWF	?main_Local_Text+2
$00D9	$303A			MOVLW	58
$00DA	$00A4			MOVWF	?main_Local_Text+3
$00DB	$3020			MOVLW	32
$00DC	$00A5			MOVWF	?main_Local_Text+4
$00DD	$01A6			CLRF	?main_Local_Text+5
$00DE	$3021			MOVLW	?main_Local_Text
$00DF	$00B2			MOVWF	FARG_Usart_Write_Text
$00E0	$2231			CALL	_usart_write_text
;SERIAL.pbas,45 :: 		if PORTC.1=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$00E1	$3000			MOVLW	0
$00E2	$1887			BTFSC	PORTC, 1
$00E3	$3001			MOVLW	1
$00E4	$00F1			MOVWF	STACK_1
$00E5	$0871			MOVF	STACK_1, 0
$00E6	$3A01			XORLW	1
$00E7	$1D03			BTFSS	STATUS, Z
$00E8	$28F2			GOTO	SERIAL_L_97
$00E9	$	SERIAL_L_96:
$00E9	$304F			MOVLW	79
$00EA	$00A1			MOVWF	?main_Local_Text+0
$00EB	$304E			MOVLW	78
$00EC	$00A2			MOVWF	?main_Local_Text+1
$00ED	$01A3			CLRF	?main_Local_Text+2
$00EE	$3021			MOVLW	?main_Local_Text
$00EF	$00B2			MOVWF	FARG_Usart_Write_Text
$00F0	$2231			CALL	_usart_write_text
$00F1	$28FC			GOTO	SERIAL_L_98
$00F2	$	SERIAL_L_97:
$00F2	$304F			MOVLW	79
$00F3	$00A1			MOVWF	?main_Local_Text+0
$00F4	$3046			MOVLW	70
$00F5	$00A2			MOVWF	?main_Local_Text+1
$00F6	$3046			MOVLW	70
$00F7	$00A3			MOVWF	?main_Local_Text+2
$00F8	$01A4			CLRF	?main_Local_Text+3
$00F9	$3021			MOVLW	?main_Local_Text
$00FA	$00B2			MOVWF	FARG_Usart_Write_Text
$00FB	$2231			CALL	_usart_write_text
$00FC	$	SERIAL_L_98:
$00FC	$300D			MOVLW	13
$00FD	$00B6			MOVWF	FARG_USART_Write
$00FE	$226F			CALL	_usart_write
;SERIAL.pbas,46 :: 		Usart_Write_Text("RC2: ")
$00FF	$3052			MOVLW	82
$0100	$00A1			MOVWF	?main_Local_Text+0
$0101	$3043			MOVLW	67
$0102	$00A2			MOVWF	?main_Local_Text+1
$0103	$3032			MOVLW	50
$0104	$00A3			MOVWF	?main_Local_Text+2
$0105	$303A			MOVLW	58
$0106	$00A4			MOVWF	?main_Local_Text+3
$0107	$3020			MOVLW	32
$0108	$00A5			MOVWF	?main_Local_Text+4
$0109	$01A6			CLRF	?main_Local_Text+5
$010A	$3021			MOVLW	?main_Local_Text
$010B	$00B2			MOVWF	FARG_Usart_Write_Text
$010C	$2231			CALL	_usart_write_text
;SERIAL.pbas,47 :: 		if PORTC.2=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$010D	$3000			MOVLW	0
$010E	$1907			BTFSC	PORTC, 2
$010F	$3001			MOVLW	1
$0110	$00F1			MOVWF	STACK_1
$0111	$0871			MOVF	STACK_1, 0
$0112	$3A01			XORLW	1
$0113	$1D03			BTFSS	STATUS, Z
$0114	$291E			GOTO	SERIAL_L_100
$0115	$	SERIAL_L_99:
$0115	$304F			MOVLW	79
$0116	$00A1			MOVWF	?main_Local_Text+0
$0117	$304E			MOVLW	78
$0118	$00A2			MOVWF	?main_Local_Text+1
$0119	$01A3			CLRF	?main_Local_Text+2
$011A	$3021			MOVLW	?main_Local_Text
$011B	$00B2			MOVWF	FARG_Usart_Write_Text
$011C	$2231			CALL	_usart_write_text
$011D	$2928			GOTO	SERIAL_L_101
$011E	$	SERIAL_L_100:
$011E	$304F			MOVLW	79
$011F	$00A1			MOVWF	?main_Local_Text+0
$0120	$3046			MOVLW	70
$0121	$00A2			MOVWF	?main_Local_Text+1
$0122	$3046			MOVLW	70
$0123	$00A3			MOVWF	?main_Local_Text+2
$0124	$01A4			CLRF	?main_Local_Text+3
$0125	$3021			MOVLW	?main_Local_Text
$0126	$00B2			MOVWF	FARG_Usart_Write_Text
$0127	$2231			CALL	_usart_write_text
$0128	$	SERIAL_L_101:
$0128	$300D			MOVLW	13
$0129	$00B6			MOVWF	FARG_USART_Write
$012A	$226F			CALL	_usart_write
;SERIAL.pbas,48 :: 		Usart_Write_Text("RC3: ")
$012B	$3052			MOVLW	82
$012C	$00A1			MOVWF	?main_Local_Text+0
$012D	$3043			MOVLW	67
$012E	$00A2			MOVWF	?main_Local_Text+1
$012F	$3033			MOVLW	51
$0130	$00A3			MOVWF	?main_Local_Text+2
$0131	$303A			MOVLW	58
$0132	$00A4			MOVWF	?main_Local_Text+3
$0133	$3020			MOVLW	32
$0134	$00A5			MOVWF	?main_Local_Text+4
$0135
$01A6			CLRF	?main_Local_Text+5
$0136	$3021			MOVLW	?main_Local_Text
$0137	$00B2			MOVWF	FARG_Usart_Write_Text
$0138	$2231			CALL	_usart_write_text
;SERIAL.pbas,49 :: 		if PORTC.3=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$0139	$3000			MOVLW	0
$013A	$1987			BTFSC	PORTC, 3
$013B	$3001			MOVLW	1
$013C	$00F1			MOVWF	STACK_1
$013D	$0871			MOVF	STACK_1, 0
$013E	$3A01			XORLW	1
$013F	$1D03			BTFSS	STATUS, Z
$0140	$294A			GOTO	SERIAL_L_103
$0141	$	SERIAL_L_102:
$0141	$304F			MOVLW	79
$0142	$00A1			MOVWF	?main_Local_Text+0
$0143	$304E			MOVLW	78
$0144	$00A2			MOVWF	?main_Local_Text+1
$0145	$01A3			CLRF	?main_Local_Text+2
$0146	$3021			MOVLW	?main_Local_Text
$0147	$00B2			MOVWF	FARG_Usart_Write_Text
$0148	$2231			CALL	_usart_write_text
$0149	$2954			GOTO	SERIAL_L_104
$014A	$	SERIAL_L_103:
$014A	$304F			MOVLW	79
$014B	$00A1			MOVWF	?main_Local_Text+0
$014C	$3046			MOVLW	70
$014D	$00A2			MOVWF	?main_Local_Text+1
$014E	$3046			MOVLW	70
$014F	$00A3			MOVWF	?main_Local_Text+2
$0150	$01A4			CLRF	?main_Local_Text+3
$0151	$3021			MOVLW	?main_Local_Text
$0152	$00B2			MOVWF	FARG_Usart_Write_Text
$0153	$2231			CALL	_usart_write_text
$0154	$	SERIAL_L_104:
$0154	$300D			MOVLW	13
$0155	$00B6			MOVWF	FARG_USART_Write
$0156	$226F			CALL	_usart_write
;SERIAL.pbas,50 :: 		Usart_Write_Text("RC4: ")
$0157	$3052			MOVLW	82
$0158	$00A1			MOVWF	?main_Local_Text+0
$0159	$3043			MOVLW	67
$015A	$00A2			MOVWF	?main_Local_Text+1
$015B	$3034			MOVLW	52
$015C	$00A3			MOVWF	?main_Local_Text+2
$015D	$303A			MOVLW	58
$015E	$00A4			MOVWF	?main_Local_Text+3
$015F	$3020			MOVLW	32
$0160	$00A5			MOVWF	?main_Local_Text+4
$0161	$01A6			CLRF	?main_Local_Text+5
$0162	$3021			MOVLW	?main_Local_Text
$0163	$00B2			MOVWF	FARG_Usart_Write_Text
$0164	$2231			CALL	_usart_write_text
;SERIAL.pbas,51 :: 		if PORTC.4=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$0165	$3000			MOVLW	0
$0166	$1A07			BTFSC	PORTC, 4
$0167	$3001			MOVLW	1
$0168	$00F1			MOVWF	STACK_1
$0169	$0871			MOVF	STACK_1, 0
$016A	$3A01			XORLW	1
$016B	$1D03			BTFSS	STATUS, Z
$016C	$2976			GOTO	SERIAL_L_106
$016D	$	SERIAL_L_105:
$016D	$304F			MOVLW	79
$016E	$00A1			MOVWF	?main_Local_Text+0
$016F	$304E			MOVLW	78
$0170	$00A2			MOVWF	?main_Local_Text+1
$0171	$01A3			CLRF	?main_Local_Text+2
$0172	$3021			MOVLW	?main_Local_Text
$0173	$00B2			MOVWF	FARG_Usart_Write_Text
$0174	$2231			CALL	_usart_write_text
$0175	$2980			GOTO	SERIAL_L_107
$0176	$	SERIAL_L_106:
$0176	$304F			MOVLW	79
$0177	$00A1			MOVWF	?main_Local_Text+0
$0178	$3046			MOVLW	70
$0179	$00A2			MOVWF	?main_Local_Text+1
$017A	$3046			MOVLW	70
$017B	$00A3			MOVWF	?main_Local_Text+2
$017C	$01A4			CLRF	?main_Local_Text+3
$017D	$3021			MOVLW	?main_Local_Text
$017E	$00B2			MOVWF	FARG_Usart_Write_Text
$017F	$2231			CALL	_usart_write_text
$0180	$	SERIAL_L_107:
$0180	$300D			MOVLW	13
$0181	$00B6			MOVWF	FARG_USART_Write
$0182	$226F			CALL	_usart_write
;SERIAL.pbas,52 :: 		Usart_Write_Text("RC5: ")
$0183	$3052			MOVLW	82
$0184	$00A1			MOVWF	?main_Local_Text+0
$0185	$3043			MOVLW	67
$0186	$00A2			MOVWF	?main_Local_Text+1
$0187	$3035			MOVLW	53
$0188	$00A3			MOVWF	?main_Local_Text+2
$0189	$303A			MOVLW	58
$018A	$00A4			MOVWF	?main_Local_Text+3
$018B	$3020			MOVLW	32
$018C	$00A5			MOVWF	?main_Local_Text+4
$018D	$01A6			CLRF	?main_Local_Text+5
$018E	$3021			MOVLW	?main_Local_Text
$018F	$00B2			MOVWF	FARG_Usart_Write_Text
$0190	$2231			CALL	_usart_write_text
;SERIAL.pbas,53 :: 		if PORTC.5=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$0191	$3000			MOVLW	0
$0192	$1A87			BTFSC	PORTC, 5
$0193	$3001			MOVLW	1
$0194	$00F1			MOVWF	STACK_1
$0195	$0871			MOVF	STACK_1, 0
$0196	$3A01			XORLW	1
$0197	$1D03			BTFSS	STATUS, Z
$0198	$29A2			GOTO	SERIAL_L_109
$0199	$	SERIAL_L_108:
$0199	$304F			MOVLW	79
$019A	$00A1			MOVWF	?main_Local_Text+0
$019B	$304E			MOVLW	78
$019C	$00A2			MOVWF	?main_Local_Text+1
$019D	$01A3			CLRF	?main_Local_Text+2
$019E	$3021			MOVLW	?main_Local_Text
$019F	$00B2			MOVWF	FARG_Usart_Write_Text
$01A0	$2231			CALL	_usart_write_text
$01A1	$29AC			GOTO	SERIAL_L_110
$01A2	$	SERIAL_L_109:
$01A2	$304F			MOVLW	79
$01A3	$00A1			MOVWF	?main_Local_Text+0
$01A4	$3046			MOVLW	70
$01A5	$00A2			MOVWF	?main_Local_Text+1
$01A6	$3046			MOVLW	70
$01A7	$00A3			MOVWF	?main_Local_Text+2
$01A8	$01A4			CLRF	?main_Local_Text+3
$01A9	$3021			MOVLW	?main_Local_Text
$01AA	$00B2			MOVWF	FARG_Usart_Write_Text
$01AB	$2231			CALL	_usart_write_text
$01AC	$	SERIAL_L_110:
$01AC	$300D			MOVLW	13
$01AD	$00B6			MOVWF	FARG_USART_Write
$01AE	$226F			CALL	_usart_write
;SERIAL.pbas,54 :: 		Usart_Write_Text("RC6: ")
$01AF	$3052			MOVLW	82
$01B0	$00A1			MOVWF	?main_Local_Text+0
$01B1	$3043			MOVLW	67
$01B2	$00A2			MOVWF	?main_Local_Text+1
$01B3	$3036			MOVLW	54
$01B4	$00A3			MOVWF	?main_Local_Text+2
$01B5	$303A			MOVLW	58
$01B6	$00A4			MOVWF	?main_Local_Text+3
$01B7	$3020			MOVLW	32
$01B8	$00A5			MOVWF	?main_Local_Text+4
$01B9	$01A6			CLRF	?main_Local_Text+5
$01BA	$3021			MOVLW	?main_Local_Text
$01BB	$00B2			MOVWF	FARG_Usart_Write_Text
$01BC	$2231			CALL	_usart_write_text
;SERIAL.pbas,55 :: 		if PORTC.6=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$01BD	$3000			MOVLW	0
$01BE	$1B07			BTFSC	PORTC, 6
$01BF	$3001			MOVLW	1
$01C0	$00F1			MOVWF	STACK_1
$01C1	$0871			MOVF	STACK_1, 0
$01C2	$3A01			XORLW	1
$01C3	$1D03			BTFSS	STATUS, Z
$01C4	$29CE			GOTO	SERIAL_L_112
$01C5	$	SERIAL_L_111:
$01C5	$304F			MOVLW	79
$01C6	$00A1			MOVWF	?main_Local_Text+0
$01C7	$304E			MOVLW	78
$01C8	$00A2			MOVWF	?main_Local_Text+1
$01C9	$01A3			CLRF	?main_Local_Text+2
$01CA	$3021			MOVLW	?main_Local_Text
$01CB	$00B2			MOVWF	FARG_Usart_Write_Text
$01CC	$2231			CALL	_usart_write_text
$01CD	$29D8			GOTO	SERIAL_L_113
$01CE	$	SERIAL_L_112:
$01CE	$304F			MOVLW	79
$01CF	$00A1			MOVWF	?main_Local_Text+0
$01D0	$3046			MOVLW	70
$01D1	$00A2			MOVWF	?main_Local_Text+1
$01D2	$3046			MOVLW	70
$01D3	$00A3			MOVWF	?main_Local_Text+2
$01D4	$01A4			CLRF	?main_Local_Text+3
$01D5	$3021			MOVLW	?main_Local_Text
$01D6	$00B2			MOVWF	FARG_Usart_Write_Text
$01D7	$2231			CALL	_usart_write_text
$01D8	$	SERIAL_L_113:
$01D8	$300D			MOVLW	13
$01D9	$00B6			MOVWF	FARG_USART_Write
$01DA	$226F			CALL	_usart_write
;SERIAL.pbas,56 :: 		Usart_Write_Text("RC7: ")
$01DB	$3052			MOVLW	82
$01DC	$00A1			MOVWF	?main_Local_Text+0
$01DD	$3043			MOVLW	67
$01DE	$00A2			MOVWF	?main_Local_Text+1
$01DF	$3037			MOVLW	55
$01E0	$00A3			MOVWF	?main_Local_Text+2
$01E1	$303A			MOVLW	58
$01E2	$00A4			MOVWF	?main_Local_Text+3
$01E3	$3020			MOVLW	32
$01E4	$00A5			MOVWF	?main_Local_Text+4
$01E5	$01A6			CLRF	?main_Local_Text+5
$01E6	$3021			MOVLW	?main_Local_Text
$01E7	$00B2			MOVWF	FARG_Usart_Write_Text
$01E8	$2231			CALL	_usart_write_text
;SERIAL.pbas,57 :: 		if PORTC.7=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if
$01E9	$3000			MOVLW	0
$01EA	$1B87			BTFSC	PORTC, 7
$01EB	$3001			MOVLW	1
$01EC	$00F1			MOVWF	STACK_1
$01ED	$0871			MOVF	STACK_1, 0
$01EE	$3A01			XORLW	1
$01EF	$1D03			BTFSS	STATUS, Z
$01F0	$29FA			GOTO	SERIAL_L_115
$01F1	$	SERIAL_L_114:
$01F1	$304F			MOVLW	79
$01F2	$00A1			MOVWF	?main_Local_Text+0
$01F3	$304E			MOVLW	78
$01F4	$00A2			MOVWF	?main_Local_Text+1
$01F5	$01A3			CLRF	?main_Local_Text+2
$01F6	$3021			MOVLW	?main_Local_Text
$01F7	$00B2			MOVWF	FARG_Usart_Write_Text
$01F8	$2231			CALL	_usart_write_text
$01F9	$2A04			GOTO	SERIAL_L_116
$01FA	$	SERIAL_L_115:
$01FA	$304F			MOVLW	79
$01FB	$00A1			MOVWF	?main_Local_Text+0
$01FC	$3046			MOVLW	70
$01FD	$00A2			MOVWF	?main_Local_Text+1
$01FE	$3046			MOVLW	70
$01FF	$00A3			MOVWF	?main_Local_Text+2
$0200	$01A4			CLRF	?main_Local_Text+3
$0201	$3021			MOVLW	?main_Local_Text
$0202	$00B2			MOVWF	FARG_Usart_Write_Text
$0203	$2231			CALL	_usart_write_text
$0204	$	SERIAL_L_116:
;SERIAL.pbas,58 :: 		Usart_Write(13)
$0204	$300D
MOVLW	13
$0205	$00B6			MOVWF	FARG_USART_Write
$0206	$226F			CALL	_usart_write
;SERIAL.pbas,59 :: 		Usart_Write_Text("----------------") Usart_Write(13)
$0207	$302D			MOVLW	45
$0208	$00A1			MOVWF	?main_Local_Text+0
$0209	$302D			MOVLW	45
$020A	$00A2			MOVWF	?main_Local_Text+1
$020B	$302D			MOVLW	45
$020C	$00A3			MOVWF	?main_Local_Text+2
$020D	$302D			MOVLW	45
$020E	$00A4			MOVWF	?main_Local_Text+3
$020F	$302D			MOVLW	45
$0210	$00A5			MOVWF	?main_Local_Text+4
$0211	$302D			MOVLW	45
$0212	$00A6			MOVWF	?main_Local_Text+5
$0213	$302D			MOVLW	45
$0214	$00A7			MOVWF	?main_Local_Text+6
$0215	$302D			MOVLW	45
$0216	$00A8			MOVWF	?main_Local_Text+7
$0217	$302D			MOVLW	45
$0218	$00A9			MOVWF	?main_Local_Text+8
$0219	$302D			MOVLW	45
$021A	$00AA			MOVWF	?main_Local_Text+9
$021B	$302D			MOVLW	45
$021C	$00AB			MOVWF	?main_Local_Text+10
$021D	$302D			MOVLW	45
$021E	$00AC			MOVWF	?main_Local_Text+11
$021F	$302D			MOVLW	45
$0220	$00AD			MOVWF	?main_Local_Text+12
$0221	$302D			MOVLW	45
$0222	$00AE			MOVWF	?main_Local_Text+13
$0223	$302D			MOVLW	45
$0224	$00AF			MOVWF	?main_Local_Text+14
$0225	$302D			MOVLW	45
$0226	$00B0			MOVWF	?main_Local_Text+15
$0227	$01B1			CLRF	?main_Local_Text+16
$0228	$3021			MOVLW	?main_Local_Text
$0229	$00B2			MOVWF	FARG_Usart_Write_Text
$022A	$2231			CALL	_usart_write_text
$022B	$300D			MOVLW	13
$022C	$00B6			MOVWF	FARG_USART_Write
$022D	$226F			CALL	_usart_write
$022E	$	SERIAL_L_91:
;SERIAL.pbas,60 :: 		end if
$022E	$	SERIAL_L_92:
;SERIAL.pbas,61 :: 		recebe=0
$022E	$01A0			CLRF	_recebe, 1
$022F	$	SERIAL_L_2:
;SERIAL.pbas,62 :: 		end if
$022F	$	SERIAL_L_3:
;SERIAL.pbas,64 :: 		goto executa
$022F	$2817			GOTO	_main_executa
$0230	$2A30			GOTO	$
Exercícios 2021-10-20 - Comunicacao Serial/SERIAL.dbg
Exercícios 2021-10-20 - Comunicacao Serial/SERIAL.dlt
Exercícios 2021-10-20 - Comunicacao Serial/SERIAL.hex
:100000000428FF3FFF3FFF3FFF30031383168500A7
:100010007F30860087018B01031783129E019F01A9
:10002000031387011930831699001815472281227E
:100030007008003C03182F2A5C227008A00070088A
:10004000413A031D242807142008613A031D29287A
:1000500007102008423A031D2E2887142008623A10
:10006000031D332887102008433A031D382807153D
:100070002008633A031D3D2807112008443A031D58
:10008000422887152008643A031D47288711200855
:10009000453A031D4C2807162008653A031D5128D0
:1000A00007122008463A031D562887162008663A8C
:1000B000031D5B2887122008473A031D6028071795
:1000C0002008673A031D652807132008483A031DD6
:1000D0006A2887172008683A031D6F2887132008AD
:1000E000543A031D7528FF3087002008303A031D5D
:1000F0007A2887012008523A031D2E2A0D30B600B7
:100100006F222D30A1002D30A2002D30A3002D3004
:10011000A4002D30A5002D30A6002D30A7002D30D5
:10012000A8002D30A9002D30AA002D30AB002D30B5
:10013000AC002D30AD002D30AE002D30AF002D3095
:10014000B000B1012130B20031220D30B6006F2273
:100150005230A1004330A2003030A3003A30A40056
:100160002030A500A6012130B20031220130070560
:10017000F1007108013A031DC6284F30A1004E302E
:10018000A200A3012130B2003122D0284F30A100BB
:100190004630A2004630A300A4012130B200312233
:1001A0000D30B6006F225230A1004330A200313032
:1001B000A3003A30A4002030A500A6012130B200EF
:1001C0003122003087180130F1007108013A031D17
:1001D000F2284F30A1004E30A200A3012130B2001E
:1001E0003122FC284F30A1004630A2004630A30047
:1001F000A4012130B20031220D30B6006F225230FE
:10020000A1004330A2003230A3003A30A4002030D5
:10021000A500A6012130B2003122003007190130BB
:10022000F1007108013A031D1E294F30A1004E3024
:10023000A200A3012130B200312228294F30A100B1
:100240004630A2004630A300A4012130B200312282
:100250000D30B6006F225230A1004330A20033307F
:10026000A3003A30A4002030A500A6012130B2003E
:100270003122003087190130F1007108013A031D65
:100280004A294F30A1004E30A200A3012130B20014
:10029000312254294F30A1004630A2004630A3003D
:1002A000A4012130B20031220D30B6006F2252304D
:1002B000A1004330A2003430A3003A30A400203023
:1002C000A500A6012130B20031220030071A01300A
:1002D000F1007108013A031D76294F30A1004E301C
:1002E000A200A3012130B200312280294F30A100A9
:1002F0004630A2004630A300A4012130B2003122D2
:100300000D30B6006F225230A1004330A2003530CC
:10031000A3003A30A4002030A500A6012130B2008D
:1003200031220030871A0130F1007108013A031DB3
:10033000A2294F30A1004E30A200A3012130B2000B
:100340003122AC294F30A1004630A2004630A30034
:10035000A4012130B20031220D30B6006F2252309C
:10036000A1004330A2003630A3003A30A400203070
:10037000A500A6012130B20031220030071B013058
:10038000F1007108013A031DCE294F30A1004E3013
:10039000A200A3012130B2003122D8294F30A100A0
:1003A0004630A2004630A300A4012130B200312221
:1003B0000D30B6006F225230A1004330A20037301A
:1003C000A3003A30A4002030A500A6012130B200DD
:1003D00031220030871B0130F1007108013A031D02
:1003E000FA294F30A1004E30A200A3012130B20003
:1003F0003122042A4F30A1004630A2004630A3002B
:10040000A4012130B20031220D30B6006F222D3010
:10041000A1002D30A2002D30A3002D30A4002D30DE
:10042000A5002D30A6002D30A7002D30A8002D30BE
:10043000A9002D30AA002D30AB002D30AC002D309E
:10044000AD002D30AE002D30AF002D30B000B10129
:100450002130B20031220D30B6006F22A0011728E2
:10046000302A03138312B301320884000008B40059
:100470003408003A0319462A3408B6006F22B30A3A
:100480003308320784000008B400382A0800031338
:100490008316981690308312980083168616861756
:1004A00083120C08F1000030F11A0130F1007108DC
:1004B000013A0319502A0800031383121A08B200E4
:1004C0001808F1000030F1180130F1007108013A0C
:1004D000031D6C2A181218163208F00008000313C6
:1004E00083161808F1000030F1180130F10071088E
:1004F000003A031D7D2A00006F2A831236089900F6
:100500000800031383120C08F1000030F11A0130C7
:10051000F1007108B2003208F0000800FF3FFF3F11
:02400E00C430BC
:00000001FF
Exercícios 2021-10-20 - Comunicacao Serial/SERIAL.lst
; Assembly code generated by mikroVirtualMachine - V. 5.0.0.3
; Date/Time: 20/10/2020 23:00:54
; Info: http://www.mikroe.com
; ADDRESS	OPCODE	ASM
; ----------------------------------------------
$0000	$2804			GOTO	_main
$026F	$	_usart_write:
;USART_b75.ppas,40 :: 		
;USART_b75.ppas,42 :: 		
$026F	$	USART_b75_L_14:
$026F	$1303			BCF	STATUS, RP1
$0270	$1683			BSF	STATUS, RP0
$0271	$0818			MOVF	TXSTA, 0
$0272	$00F1			MOVWF	STACK_1
$0273	$3000			MOVLW	0
$0274	$18F1			BTFSC	STACK_1, 1
$0275	$3001			MOVLW	1
$0276	$00F1			MOVWF	STACK_1
$0277	$0871			MOVF	STACK_1, 0
$0278	$3A00			XORLW	0
$0279	$1D03			BTFSS	STATUS, Z
$027A	$2A7D			GOTO	USART_b75_L_15
;USART_b75.ppas,43 :: 		
$027B	$0000			NOP
$027C	$2A6F			GOTO	USART_b75_L_14
$027D	$	USART_b75_L_15:
;USART_b75.ppas,44 :: 		
$027D	$1283			BCF	STATUS, RP0
$027E	$0836			MOVF	FARG_USART_Write, 0
$027F	$0099			MOVWF	TXREG
$0280	$	USART_b75_L_12:
;USART_b75.ppas,45 :: 		
$0280	$0008			RETURN
$0281	$	_usart_data_ready:
;USART_b75.ppas,48 :: 		
;USART_b75.ppas,50 :: 		
$0281	$1303			BCF	STATUS, RP1
$0282	$1283			BCF	STATUS, RP0
$0283	$080C			MOVF	PIR1, 0
$0284	$00F1			MOVWF	STACK_1
$0285	$3000			MOVLW	0
$0286	$1AF1			BTFSC	STACK_1, 5
$0287	$3001			MOVLW	1
$0288	$00F1			MOVWF	STACK_1
$0289	$0871			MOVF	STACK_1, 0
$028A	$00B2			MOVWF	_usart_data_ready_local_result
$028B	$	USART_b75_L_18:
;USART_b75.ppas,51 :: 		
$028B	$0832			MOVF	_usart_data_ready_local_result, 0
$028C	$00F0			MOVWF	STACK_0
$028D	$0008			RETURN
$025C	$	_usart_read:
;USART_b75.ppas,54 :: 		
;USART_b75.ppas,55 :: 		
$025C	$1303			BCF	STATUS, RP1
$025D	$1283			BCF	STATUS, RP0
$025E	$081A			MOVF	RCREG, 0
$025F	$00B2			MOVWF	_usart_read_local_result
;USART_b75.ppas,61 :: 		
$0260	$0818			MOVF	RCSTA, 0
$0261	$00F1			MOVWF	STACK_1
$0262	$3000			MOVLW	0
$0263	$18F1			BTFSC	STACK_1, 1
$0264	$3001			MOVLW	1
$0265	$00F1			MOVWF	STACK_1
$0266	$0871			MOVF	STACK_1, 0
$0267	$3A01			XORLW	1
$0268	$1D03			BTFSS	STATUS, Z
$0269	$2A6C			GOTO	USART_b75_L_21
$026A	$	USART_b75_L_20:
;USART_b75.ppas,63 :: 		
$026A	$1218			BCF	RCSTA, 4
$026B	$	USART_b75_L_24:
;USART_b75.ppas,64 :: 		
$026B	$	USART_b75_L_25:
$026B	$1618			BSF	RCSTA, 4
$026C	$	USART_b75_L_26:
;USART_b75.ppas,65 :: 		
$026C	$	USART_b75_L_21:
$026C	$	USART_b75_L_22:
$026C	$	USART_b75_L_19:
;USART_b75.ppas,66
:: 		
$026C	$0832			MOVF	_usart_read_local_result, 0
$026D	$00F0			MOVWF	STACK_0
$026E	$0008			RETURN
$0231	$	_usart_write_text:
;USART_b75.ppas,121 :: 		
;USART_b75.ppas,122 :: 		
$0231	$1303			BCF	STATUS, RP1
$0232	$1283			BCF	STATUS, RP0
$0233	$01B3			CLRF	_usart_write_text_local_i, 1
;USART_b75.ppas,123 :: 		
$0234	$0832			MOVF	FARG_Usart_Write_Text, 0
$0235	$0084			MOVWF	FSR
$0236	$0800			MOVF	INDF, 0
$0237	$00B4			MOVWF	_usart_write_text_local_data
;USART_b75.ppas,124 :: 		
$0238	$	USART_b75_L_47:
$0238	$0834			MOVF	_usart_write_text_local_data, 0
$0239	$3A00			XORLW	0
$023A	$1903			BTFSC	STATUS, Z
$023B	$2A46			GOTO	USART_b75_L_48
;USART_b75.ppas,126 :: 		
$023C	$0834			MOVF	_usart_write_text_local_data, 0
$023D	$00B6			MOVWF	FARG_USART_Write
$023E	$226F			CALL	_usart_write
;USART_b75.ppas,127 :: 		
$023F	$0AB3			INCF	_usart_write_text_local_i, 1
;USART_b75.ppas,128 :: 		
$0240	$0833			MOVF	_usart_write_text_local_i, 0
$0241	$0732			ADDWF	FARG_Usart_Write_Text, 0
$0242	$0084			MOVWF	FSR
$0243	$0800			MOVF	INDF, 0
$0244	$00B4			MOVWF	_usart_write_text_local_data
;USART_b75.ppas,129 :: 		
$0245	$2A38			GOTO	USART_b75_L_47
$0246	$	USART_b75_L_48:
$0246	$	USART_b75_L_45:
;USART_b75.ppas,130 :: 		
$0246	$0008			RETURN
$0247	$	_usart_init:
;USART_b75.ppas,22 :: 		
;USART_b75.ppas,24 :: 		
$0247	$	USART_b75_L_1:
$0247	$1303			BCF	STATUS, RP1
$0248	$1683			BSF	STATUS, RP0
$0249	$1698			BSF	TXSTA, 5
$024A	$	USART_b75_L_2:
;USART_b75.ppas,25 :: 		
$024A	$3090			MOVLW	144
$024B	$1283			BCF	STATUS, RP0
$024C	$0098			MOVWF	RCSTA
;USART_b75.ppas,31 :: 		
$024D	$	USART_b75_L_3:
$024D	$1683			BSF	STATUS, RP0
$024E	$1686			BSF	TRISB, 5
$024F	$	USART_b75_L_4:
;USART_b75.ppas,32 :: 		
$024F	$	USART_b75_L_5:
$024F	$1786			BSF	TRISB, 7
$0250	$	USART_b75_L_6:
;USART_b75.ppas,35 :: 		
$0250	$	USART_b75_L_8:
$0250	$1283			BCF	STATUS, RP0
$0251	$080C			MOVF	PIR1, 0
$0252	$00F1			MOVWF	STACK_1
$0253	$3000			MOVLW	0
$0254	$1AF1			BTFSC	STACK_1, 5
$0255	$3001			MOVLW	1
$0256	$00F1			MOVWF	STACK_1
$0257	$0871			MOVF	STACK_1, 0
$0258	$3A01			XORLW	1
$0259	$1903			BTFSC	STATUS, Z
$025A	$2A50			GOTO	USART_b75_L_8
;USART_b75.ppas,36 :: 		
$025B	$	USART_b75_L_9:
$025B	$	USART_b75_L_0:
;USART_b75.ppas,37 :: 		
$025B	$0008			RETURN
$0004	$	_main:
;SERIAL.pbas,4 :: 		main:
$0004	$	_main_main:
;SERIAL.pbas,5 :: 		TRISA=%11111111
$0004	$30FF			MOVLW	255
$0005	$1303			BCF	STATUS, RP1
$0006	$1683			BSF	STATUS, RP0
$0007	$0085			MOVWF	TRISA
;SERIAL.pbas,6 :: 		TRISB=%01111111
$0008	$307F			MOVLW	127
$0009	$0086			MOVWF	TRISB
;SERIAL.pbas,7 :: 		TRISC=%00000000
$000A	$0187			CLRF	TRISC, 1
;SERIAL.pbas,8 :: 		INTCON=%00000000
$000B	$018B			CLRF	INTCON, 1
;SERIAL.pbas,9 :: 		ANSEL=%00000000
$000C	$1703			BSF	STATUS, RP1
$000D	$1283			BCF	STATUS, RP0
$000E	$019E			CLRF	ANSEL, 1
;SERIAL.pbas,10 :: 		ANSELH=%00000000
$000F	$019F			CLRF	ANSELH, 1
;SERIAL.pbas,12 :: 		PORTC=0
$0010	$1303			BCF	STATUS, RP1
$0011	$0187			CLRF	PORTC, 1
;SERIAL.pbas,14 :: 		Usart_Init(9600)
$0012	$3019			MOVLW	25
$0013	$1683			BSF	STATUS, RP0
$0014	$0099			MOVWF	SPBRG
$0015	$1518			BSF	TXSTA, BRGH
$0016	$2247			CALL	_usart_init
;SERIAL.pbas,16 :: 		executa:
$0017	$	_main_executa:
;SERIAL.pbas,17 :: 		if Usart_Data_Ready() > 0 then
$0017	$2281			CALL	_usart_data_ready
$0018	$0870			MOVF	STACK_0, 0
$0019	$3C00			SUBLW	0
$001A	$1803			BTFSC	STATUS, C
$001B	$2A2F			GOTO	SERIAL_L_2
$001C	$	SERIAL_L_1:
;SERIAL.pbas,18 :: 		recebe=Usart_Read()
$001C	$225C			CALL	_usart_read
$001D	$0870			MOVF	STACK_0, 0
$001E	$00A0			MOVWF	_recebe
;SERIAL.pbas,19 :: 		if recebe=65 then PORTC.0 = 1 end if
$001F	$0870			MOVF	STACK_0, 0
$0020	$3A41			XORLW	65
$0021	$1D03			BTFSS	STATUS, Z
$0022	$2824			GOTO	SERIAL_L_5
$0023	$	SERIAL_L_4:
$0023	$	SERIAL_L_7:
$0023	$1407			BSF	PORTC, 0
$0024	$	SERIAL_L_8:
$0024	$	SERIAL_L_5:
$0024	$	SERIAL_L_6:
;SERIAL.pbas,20 :: 		if recebe=97 then PORTC.0 = 0 end if
$0024	$0820			MOVF	_recebe, 0
$0025	$3A61			XORLW	97
$0026	$1D03			BTFSS	STATUS, Z
$0027	$2829			GOTO	SERIAL_L_10
$0028	$	SERIAL_L_9:
$0028	$1007			BCF	PORTC, 0
$0029	$	SERIAL_L_13:
$0029	$	SERIAL_L_10:
$0029	$	SERIAL_L_11:
;SERIAL.pbas,21 :: 		if recebe=66 then PORTC.1 = 1 end if
$0029	$0820			MOVF	_recebe, 0
$002A	$3A42			XORLW	66
$002B	$1D03			BTFSS	STATUS, Z
$002C	$282E			GOTO	SERIAL_L_15
$002D	$	SERIAL_L_14:
$002D	$	SERIAL_L_17:
$002D	$1487			BSF	PORTC, 1
$002E	$	SERIAL_L_18:
$002E	$	SERIAL_L_15:
$002E	$	SERIAL_L_16:
;SERIAL.pbas,22 :: 		if recebe=98 then PORTC.1 = 0 end if
$002E	$0820			MOVF	_recebe, 0
$002F	$3A62			XORLW	98
$0030	$1D03			BTFSS	STATUS, Z
$0031	$2833			GOTO	SERIAL_L_20
$0032	$	SERIAL_L_19:
$0032	$1087			BCF	PORTC, 1
$0033	$	SERIAL_L_23:
$0033	$	SERIAL_L_20:
$0033	$	SERIAL_L_21:
;SERIAL.pbas,23 :: 		if recebe=67 then PORTC.2 = 1 end if
$0033	$0820			MOVF	_recebe, 0
$0034	$3A43			XORLW	67
$0035	$1D03			BTFSS	STATUS, Z
$0036	$2838			GOTO	SERIAL_L_25
$0037	$	SERIAL_L_24:
$0037	$	SERIAL_L_27:
$0037	$1507			BSF	PORTC, 2
$0038	$	SERIAL_L_28:
$0038	$	SERIAL_L_25:
$0038	$	SERIAL_L_26:
;SERIAL.pbas,24 :: 		if recebe=99 then PORTC.2 = 0 end if
$0038	$0820			MOVF	_recebe, 0
$0039	$3A63			XORLW	99
$003A	$1D03			BTFSS	STATUS, Z
$003B	$283D			GOTO	SERIAL_L_30
$003C	$	SERIAL_L_29:
$003C	$1107			BCF	PORTC, 2
$003D	$	SERIAL_L_33:
$003D	$	SERIAL_L_30:
$003D	$	SERIAL_L_31:
;SERIAL.pbas,25 :: 		if recebe=68 then PORTC.3 = 1 end if
$003D	$0820			MOVF	_recebe, 0
$003E	$3A44			XORLW	68
$003F	$1D03			BTFSS	STATUS, Z
$0040	$2842			GOTO	SERIAL_L_35
$0041	$	SERIAL_L_34:
$0041	$	SERIAL_L_37:
$0041	$1587			BSF	PORTC, 3
$0042	$	SERIAL_L_38:
$0042	$	SERIAL_L_35:
$0042	$	SERIAL_L_36:
;SERIAL.pbas,26 :: 		if recebe=100 then PORTC.3 = 0 end if
$0042	$0820			MOVF	_recebe, 0
$0043	$3A64			XORLW	100
$0044	$1D03			BTFSS	STATUS, Z
$0045	$2847			GOTO	SERIAL_L_40
$0046	$	SERIAL_L_39:
$0046	$1187			BCF	PORTC, 3
$0047	$	SERIAL_L_43:
$0047	$	SERIAL_L_40:
$0047	$	SERIAL_L_41:
;SERIAL.pbas,27 :: 		if recebe=69 then PORTC.4 = 1 end if
$0047	$0820			MOVF	_recebe, 0
$0048	$3A45			XORLW	69
$0049	$1D03			BTFSS	STATUS, Z
$004A	$284C			GOTO	SERIAL_L_45
$004B	$	SERIAL_L_44:
$004B	$	SERIAL_L_47:
$004B	$1607			BSF	PORTC, 4
$004C	$	SERIAL_L_48:
$004C	$	SERIAL_L_45:
$004C	$	SERIAL_L_46:
;SERIAL.pbas,28 :: 		if recebe=101 then PORTC.4 = 0 end if
$004C	$0820			MOVF	_recebe, 0
$004D	$3A65			XORLW	101
$004E	$1D03			BTFSS	STATUS, Z
$004F	$2851			GOTO	SERIAL_L_50
$0050	$	SERIAL_L_49:
$0050	$1207			BCF	PORTC, 4
$0051	$	SERIAL_L_53:
$0051	$	SERIAL_L_50:
$0051	$	SERIAL_L_51:
;SERIAL.pbas,29 :: 		if recebe=70 then PORTC.5 = 1 end if
$0051	$0820			MOVF	_recebe, 0
$0052	$3A46			XORLW	70
$0053	$1D03			BTFSS	STATUS, Z
$0054	$2856			GOTO	SERIAL_L_55
$0055	$	SERIAL_L_54:
$0055	$	SERIAL_L_57:
$0055	$1687			BSF	PORTC, 5
$0056	$	SERIAL_L_58:
$0056	$	SERIAL_L_55:
$0056	$	SERIAL_L_56:
;SERIAL.pbas,30 :: 		if recebe=102 then PORTC.5 = 0 end if
$0056	$0820			MOVF	_recebe, 0
$0057	$3A66			XORLW	102
$0058	$1D03			BTFSS	STATUS, Z
$0059	$285B			GOTO	SERIAL_L_60
$005A	$	SERIAL_L_59:
$005A	$1287			BCF	PORTC, 5
$005B	$	SERIAL_L_63:
$005B	$	SERIAL_L_60:
$005B	$	SERIAL_L_61:
;SERIAL.pbas,31 :: 		if recebe=71 then PORTC.6 = 1 end if
$005B	$0820			MOVF	_recebe, 0
$005C	$3A47			XORLW	71
$005D	$1D03			BTFSS	STATUS, Z
$005E	$2860			GOTO	SERIAL_L_65
$005F	$	SERIAL_L_64:
$005F	$	SERIAL_L_67:
$005F	$1707			BSF	PORTC, 6
$0060	$	SERIAL_L_68:
$0060	$	SERIAL_L_65:
$0060	$	SERIAL_L_66:
;SERIAL.pbas,32 :: 		if recebe=103 then PORTC.6 = 0 end if
$0060	$0820			MOVF	_recebe, 0
$0061	$3A67			XORLW	103
$0062	$1D03			BTFSS	STATUS, Z
$0063	$2865			GOTO	SERIAL_L_70
$0064	$	SERIAL_L_69:
$0064	$1307			BCF	PORTC, 6
$0065	$	SERIAL_L_73:
$0065	$	SERIAL_L_70:
$0065	$	SERIAL_L_71:
;SERIAL.pbas,33 :: 		if recebe=72 then PORTC.7 = 1 end if
$0065	$0820			MOVF	_recebe, 0
$0066	$3A48			XORLW	72
$0067	$1D03			BTFSS	STATUS, Z
$0068	$286A			GOTO	SERIAL_L_75
$0069	$	SERIAL_L_74:
$0069	$	SERIAL_L_77:
$0069	$1787			BSF	PORTC, 7
$006A	$	SERIAL_L_78:
$006A	$	SERIAL_L_75:
$006A	$	SERIAL_L_76:
;SERIAL.pbas,34 :: 		if recebe=104 then PORTC.7 = 0 end if
$006A	$0820			MOVF	_recebe, 0
$006B	$3A68			XORLW	104
$006C	$1D03			BTFSS	STATUS, Z
$006D	$286F			GOTO	SERIAL_L_80
$006E	$	SERIAL_L_79:
$006E	$1387			BCF	PORTC, 7
$006F	$	SERIAL_L_83:
$006F	$	SERIAL_L_80:
$006F	$	SERIAL_L_81:
;SERIAL.pbas,36 :: 		if recebe=84 then PORTC=255 end if
$006F	$0820			MOVF	_recebe, 0
$0070	$3A54			XORLW	84
$0071	$1D03			BTFSS	STATUS, Z
$0072	$2875			GOTO	SERIAL_L_85
$0073	$	SERIAL_L_84:
$0073	$30FF			MOVLW	255
$0074	$0087			MOVWF	PORTC
$0075	$	SERIAL_L_85:
$0075	$	SERIAL_L_86:
;SERIAL.pbas,37 :: 		if recebe=48 then PORTC=0 end if
$0075	$0820			MOVF	_recebe, 0
$0076	$3A30			XORLW	48
$0077	$1D03			BTFSS	STATUS, Z
$0078	$287A			GOTO	SERIAL_L_88
$0079	$	SERIAL_L_87:
$0079	$0187			CLRF	PORTC, 1
$007A	$	SERIAL_L_88:
$007A	$	SERIAL_L_89:
;SERIAL.pbas,39 :: 		if recebe=82 then
$007A	$0820			MOVF	_recebe, 0
$007B	$3A52			XORLW	82
$007C	$1D03			BTFSS	STATUS, Z
$007D	$2A2E			GOTO	SERIAL_L_91
$007E	$	SERIAL_L_90:
;SERIAL.pbas,40 :: 		Usart_Write(13)
$007E	$300D			MOVLW	13
$007F	$00B6			MOVWF	FARG_USART_Write
$0080	$226F			CALL	_usart_write
;SERIAL.pbas,41 :: 		Usart_Write_Text("----------------") Usart_Write(13)
$0081	$302D			MOVLW	45
$0082	$00A1			MOVWF	?main_Local_Text+0
$0083	$302D			MOVLW	45
$0084	$00A2			MOVWF	?main_Local_Text+1
$0085	$302D			MOVLW	45
$0086	$00A3			MOVWF	?main_Local_Text+2
$0087	$302D			MOVLW	45
$0088	$00A4			MOVWF	?main_Local_Text+3
$0089	$302D			MOVLW	45
$008A	$00A5			MOVWF	?main_Local_Text+4
$008B	$302D			MOVLW	45
$008C	$00A6			MOVWF	?main_Local_Text+5
$008D	$302D			MOVLW	45
$008E	$00A7			MOVWF	?main_Local_Text+6
$008F	$302D			MOVLW	45
$0090	$00A8			MOVWF	?main_Local_Text+7
$0091	$302D			MOVLW	45
$0092	$00A9			MOVWF	?main_Local_Text+8
$0093	$302D			MOVLW	45
$0094	$00AA			MOVWF	?main_Local_Text+9
$0095	$302D			MOVLW	45
$0096	$00AB			MOVWF	?main_Local_Text+10
$0097	$302D			MOVLW	45
$0098	$00AC			MOVWF	?main_Local_Text+11
$0099	$302D			MOVLW	45
$009A	$00AD			MOVWF	?main_Local_Text+12
$009B	$302D			MOVLW	45
$009C	$00AE			MOVWF	?main_Local_Text+13
$009D	$302D			MOVLW	45
$009E	$00AF			MOVWF	?main_Local_Text+14
$009F	$302D			MOVLW	45
$00A0	$00B0			MOVWF	?main_Local_Text+15
$00A1	$01B1			CLRF	?main_Local_Text+16
$00A2	$3021			MOVLW	?main_Local_Text
$00A3	$00B2			MOVWF	FARG_Usart_Write_Text
$00A4	$2231			CALL	_usart_write_text
$00A5	$300D			MOVLW	13
$00A6	$00B6			MOVWF	FARG_USART_Write
$00A7	$226F			CALL	_usart_write
;SERIAL.pbas,42 :: 		Usart_Write_Text("RC0: ")
$00A8	$3052			MOVLW	82
$00A9	$00A1			MOVWF	?main_Local_Text+0
$00AA	$3043			MOVLW	67
$00AB	$00A2			MOVWF	?main_Local_Text+1
$00AC	$3030			MOVLW	48
$00AD	$00A3			MOVWF	?main_Local_Text+2
$00AE	$303A			MOVLW	58
$00AF	$00A4			MOVWF	?main_Local_Text+3
$00B0	$3020			MOVLW	32
$00B1	$00A5			MOVWF	?main_Local_Text+4
$00B2	$01A6			CLRF	?main_Local_Text+5
$00B3	$3021			MOVLW	?main_Local_Text
$00B4	$00B2			MOVWF	FARG_Usart_Write_Text
$00B5	$2231			CALL	_usart_write_text
;SERIAL.pbas,43 :: 		if PORTC.0=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$00B6	$3001			MOVLW	1
$00B7	$0507			ANDWF	PORTC, 0
$00B8	$00F1			MOVWF	STACK_1
$00B9	$0871			MOVF	STACK_1, 0
$00BA	$3A01			XORLW	1
$00BB	$1D03			BTFSS	STATUS, Z
$00BC	$28C6			GOTO	SERIAL_L_94
$00BD	$	SERIAL_L_93:
$00BD	$304F			MOVLW	79
$00BE	$00A1			MOVWF	?main_Local_Text+0
$00BF	$304E			MOVLW	78
$00C0	$00A2			MOVWF	?main_Local_Text+1
$00C1	$01A3			CLRF	?main_Local_Text+2
$00C2	$3021			MOVLW	?main_Local_Text
$00C3	$00B2			MOVWF	FARG_Usart_Write_Text
$00C4	$2231			CALL	_usart_write_text
$00C5	$28D0			GOTO	SERIAL_L_95
$00C6	$	SERIAL_L_94:
$00C6	$304F			MOVLW	79
$00C7	$00A1			MOVWF	?main_Local_Text+0
$00C8	$3046			MOVLW	70
$00C9	$00A2			MOVWF	?main_Local_Text+1
$00CA	$3046			MOVLW	70
$00CB	$00A3			MOVWF	?main_Local_Text+2
$00CC	$01A4			CLRF	?main_Local_Text+3
$00CD	$3021			MOVLW	?main_Local_Text
$00CE	$00B2			MOVWF	FARG_Usart_Write_Text
$00CF	$2231			CALL	_usart_write_text
$00D0	$	SERIAL_L_95:
$00D0	$300D			MOVLW	13
$00D1	$00B6			MOVWF	FARG_USART_Write
$00D2	$226F			CALL	_usart_write
;SERIAL.pbas,44 :: 		Usart_Write_Text("RC1: ")
$00D3	$3052			MOVLW	82
$00D4	$00A1			MOVWF	?main_Local_Text+0
$00D5	$3043			MOVLW	67
$00D6	$00A2			MOVWF	?main_Local_Text+1
$00D7	$3031			MOVLW	49
$00D8	$00A3			MOVWF	?main_Local_Text+2
$00D9	$303A			MOVLW	58
$00DA	$00A4			MOVWF	?main_Local_Text+3
$00DB	$3020			MOVLW	32
$00DC	$00A5			MOVWF	?main_Local_Text+4
$00DD	$01A6			CLRF	?main_Local_Text+5
$00DE	$3021			MOVLW	?main_Local_Text
$00DF	$00B2			MOVWF	FARG_Usart_Write_Text
$00E0	$2231			CALL	_usart_write_text
;SERIAL.pbas,45 :: 		if PORTC.1=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$00E1	$3000			MOVLW	0
$00E2	$1887			BTFSC	PORTC, 1
$00E3	$3001			MOVLW	1
$00E4	$00F1			MOVWF	STACK_1
$00E5	$0871			MOVF	STACK_1, 0
$00E6	$3A01			XORLW	1
$00E7	$1D03			BTFSS	STATUS, Z
$00E8	$28F2			GOTO	SERIAL_L_97
$00E9	$	SERIAL_L_96:
$00E9	$304F			MOVLW	79
$00EA	$00A1			MOVWF	?main_Local_Text+0
$00EB	$304E			MOVLW	78
$00EC	$00A2			MOVWF	?main_Local_Text+1
$00ED	$01A3			CLRF	?main_Local_Text+2
$00EE	$3021			MOVLW	?main_Local_Text
$00EF	$00B2			MOVWF	FARG_Usart_Write_Text
$00F0	$2231			CALL	_usart_write_text
$00F1	$28FC			GOTO	SERIAL_L_98
$00F2	$	SERIAL_L_97:
$00F2	$304F			MOVLW	79
$00F3	$00A1			MOVWF	?main_Local_Text+0
$00F4	$3046			MOVLW	70
$00F5	$00A2			MOVWF	?main_Local_Text+1
$00F6	$3046			MOVLW	70
$00F7	$00A3			MOVWF	?main_Local_Text+2
$00F8	$01A4			CLRF	?main_Local_Text+3
$00F9	$3021			MOVLW	?main_Local_Text
$00FA	$00B2			MOVWF	FARG_Usart_Write_Text
$00FB	$2231			CALL	_usart_write_text
$00FC	$	SERIAL_L_98:
$00FC	$300D			MOVLW	13
$00FD	$00B6			MOVWF	FARG_USART_Write
$00FE	$226F			CALL	_usart_write
;SERIAL.pbas,46 :: 		Usart_Write_Text("RC2: ")
$00FF	$3052			MOVLW	82
$0100	$00A1			MOVWF	?main_Local_Text+0
$0101	$3043			MOVLW	67
$0102	$00A2			MOVWF	?main_Local_Text+1
$0103	$3032			MOVLW	50
$0104	$00A3			MOVWF	?main_Local_Text+2
$0105	$303A			MOVLW	58
$0106	$00A4			MOVWF	?main_Local_Text+3
$0107	$3020			MOVLW	32
$0108	$00A5			MOVWF	?main_Local_Text+4
$0109	$01A6			CLRF	?main_Local_Text+5
$010A	$3021			MOVLW	?main_Local_Text
$010B	$00B2			MOVWF	FARG_Usart_Write_Text
$010C	$2231			CALL	_usart_write_text
;SERIAL.pbas,47 :: 		if PORTC.2=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$010D	$3000			MOVLW	0
$010E	$1907			BTFSC	PORTC, 2
$010F	$3001			MOVLW	1
$0110	$00F1			MOVWF	STACK_1
$0111	$0871			MOVF	STACK_1, 0
$0112	$3A01			XORLW	1
$0113	$1D03			BTFSS	STATUS, Z
$0114	$291E			GOTO	SERIAL_L_100
$0115	$	SERIAL_L_99:
$0115	$304F			MOVLW	79
$0116	$00A1			MOVWF	?main_Local_Text+0
$0117	$304E			MOVLW	78
$0118	$00A2			MOVWF	?main_Local_Text+1
$0119	$01A3			CLRF	?main_Local_Text+2
$011A	$3021			MOVLW	?main_Local_Text
$011B	$00B2			MOVWF	FARG_Usart_Write_Text
$011C	$2231			CALL	_usart_write_text
$011D	$2928			GOTO	SERIAL_L_101
$011E	$	SERIAL_L_100:
$011E	$304F			MOVLW	79
$011F	$00A1			MOVWF	?main_Local_Text+0
$0120	$3046			MOVLW	70
$0121	$00A2			MOVWF	?main_Local_Text+1
$0122	$3046			MOVLW	70
$0123	$00A3			MOVWF	?main_Local_Text+2
$0124	$01A4			CLRF	?main_Local_Text+3
$0125	$3021			MOVLW	?main_Local_Text
$0126	$00B2			MOVWF	FARG_Usart_Write_Text
$0127	$2231			CALL	_usart_write_text
$0128	$	SERIAL_L_101:
$0128	$300D			MOVLW	13
$0129	$00B6			MOVWF	FARG_USART_Write
$012A	$226F			CALL	_usart_write
;SERIAL.pbas,48 :: 		Usart_Write_Text("RC3: ")
$012B	$3052			MOVLW	82
$012C	$00A1			MOVWF	?main_Local_Text+0
$012D	$3043			MOVLW	67
$012E	$00A2			MOVWF	?main_Local_Text+1
$012F	$3033			MOVLW	51
$0130	$00A3			MOVWF	?main_Local_Text+2
$0131	$303A			MOVLW	58
$0132	$00A4			MOVWF	?main_Local_Text+3
$0133	$3020			MOVLW	32
$0134	$00A5			MOVWF	?main_Local_Text+4
$0135	$01A6			CLRF	?main_Local_Text+5
$0136	$3021			MOVLW	?main_Local_Text
$0137	$00B2			MOVWF	FARG_Usart_Write_Text
$0138	$2231			CALL	_usart_write_text
;SERIAL.pbas,49 :: 		if PORTC.3=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$0139	$3000			MOVLW	0
$013A	$1987			BTFSC	PORTC, 3
$013B	$3001			MOVLW	1
$013C	$00F1			MOVWF	STACK_1
$013D	$0871			MOVF	STACK_1, 0
$013E	$3A01			XORLW	1
$013F	$1D03			BTFSS	STATUS, Z
$0140	$294A			GOTO	SERIAL_L_103
$0141	$	SERIAL_L_102:
$0141	$304F			MOVLW	79
$0142	$00A1			MOVWF	?main_Local_Text+0
$0143	$304E			MOVLW	78
$0144	$00A2			MOVWF	?main_Local_Text+1
$0145	$01A3			CLRF	?main_Local_Text+2
$0146	$3021			MOVLW	?main_Local_Text
$0147	$00B2			MOVWF	FARG_Usart_Write_Text
$0148	$2231			CALL	_usart_write_text
$0149	$2954			GOTO	SERIAL_L_104
$014A	$	SERIAL_L_103:
$014A	$304F			MOVLW	79
$014B	$00A1			MOVWF	?main_Local_Text+0
$014C	$3046			MOVLW	70
$014D	$00A2			MOVWF	?main_Local_Text+1
$014E	$3046			MOVLW	70
$014F	$00A3			MOVWF	?main_Local_Text+2
$0150	$01A4			CLRF	?main_Local_Text+3
$0151	$3021			MOVLW	?main_Local_Text
$0152	$00B2			MOVWF	FARG_Usart_Write_Text
$0153	$2231			CALL	_usart_write_text
$0154	$	SERIAL_L_104:
$0154	$300D			MOVLW	13
$0155	$00B6			MOVWF	FARG_USART_Write
$0156	$226F			CALL	_usart_write
;SERIAL.pbas,50 :: 		Usart_Write_Text("RC4: ")
$0157	$3052			MOVLW	82
$0158	$00A1			MOVWF	?main_Local_Text+0
$0159	$3043			MOVLW	67
$015A	$00A2			MOVWF	?main_Local_Text+1
$015B	$3034			MOVLW	52
$015C	$00A3			MOVWF	?main_Local_Text+2
$015D	$303A			MOVLW	58
$015E	$00A4			MOVWF	?main_Local_Text+3
$015F	$3020			MOVLW	32
$0160	$00A5			MOVWF	?main_Local_Text+4
$0161	$01A6			CLRF	?main_Local_Text+5
$0162	$3021			MOVLW	?main_Local_Text
$0163	$00B2			MOVWF	FARG_Usart_Write_Text
$0164	$2231			CALL	_usart_write_text
;SERIAL.pbas,51 :: 		if PORTC.4=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$0165	$3000			MOVLW	0
$0166	$1A07			BTFSC	PORTC, 4
$0167	$3001			MOVLW	1
$0168	$00F1			MOVWF	STACK_1
$0169	$0871			MOVF	STACK_1, 0
$016A	$3A01			XORLW	1
$016B	$1D03			BTFSS	STATUS, Z
$016C	$2976			GOTO	SERIAL_L_106
$016D	$	SERIAL_L_105:
$016D	$304F			MOVLW	79
$016E	$00A1			MOVWF	?main_Local_Text+0
$016F	$304E			MOVLW	78
$0170	$00A2			MOVWF	?main_Local_Text+1
$0171	$01A3			CLRF	?main_Local_Text+2
$0172	$3021			MOVLW	?main_Local_Text
$0173	$00B2			MOVWF	FARG_Usart_Write_Text
$0174	$2231			CALL	_usart_write_text
$0175	$2980			GOTO	SERIAL_L_107
$0176	$	SERIAL_L_106:
$0176	$304F			MOVLW	79
$0177	$00A1			MOVWF	?main_Local_Text+0
$0178	$3046			MOVLW	70
$0179	$00A2			MOVWF	?main_Local_Text+1
$017A	$3046			MOVLW	70
$017B	$00A3			MOVWF	?main_Local_Text+2
$017C	$01A4			CLRF	?main_Local_Text+3
$017D	$3021			MOVLW	?main_Local_Text
$017E	$00B2			MOVWF	FARG_Usart_Write_Text
$017F	$2231			CALL	_usart_write_text
$0180	$	SERIAL_L_107:
$0180	$300D			MOVLW	13
$0181	$00B6			MOVWF	FARG_USART_Write
$0182	$226F			CALL	_usart_write
;SERIAL.pbas,52 :: 		Usart_Write_Text("RC5: ")
$0183	$3052			MOVLW	82
$0184	$00A1			MOVWF	?main_Local_Text+0
$0185	$3043			MOVLW	67
$0186	$00A2			MOVWF	?main_Local_Text+1
$0187	$3035			MOVLW	53
$0188	$00A3			MOVWF	?main_Local_Text+2
$0189	$303A			MOVLW	58
$018A	$00A4			MOVWF	?main_Local_Text+3
$018B	$3020			MOVLW	32
$018C	$00A5			MOVWF	?main_Local_Text+4
$018D	$01A6			CLRF	?main_Local_Text+5
$018E	$3021			MOVLW	?main_Local_Text
$018F	$00B2			MOVWF	FARG_Usart_Write_Text
$0190	$2231			CALL	_usart_write_text
;SERIAL.pbas,53 :: 		if PORTC.5=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$0191	$3000			MOVLW	0
$0192	$1A87			BTFSC	PORTC, 5
$0193	$3001			MOVLW	1
$0194	$00F1			MOVWF	STACK_1
$0195	$0871			MOVF	STACK_1, 0
$0196	$3A01			XORLW	1
$0197	$1D03			BTFSS	STATUS, Z
$0198	$29A2			GOTO	SERIAL_L_109
$0199	$	SERIAL_L_108:
$0199	$304F			MOVLW	79
$019A	$00A1			MOVWF	?main_Local_Text+0
$019B	$304E			MOVLW	78
$019C	$00A2			MOVWF	?main_Local_Text+1
$019D	$01A3			CLRF	?main_Local_Text+2
$019E	$3021			MOVLW	?main_Local_Text
$019F	$00B2			MOVWF	FARG_Usart_Write_Text
$01A0	$2231			CALL	_usart_write_text
$01A1	$29AC			GOTO	SERIAL_L_110
$01A2	$	SERIAL_L_109:
$01A2	$304F			MOVLW	79
$01A3	$00A1			MOVWF	?main_Local_Text+0
$01A4	$3046			MOVLW	70
$01A5	$00A2			MOVWF	?main_Local_Text+1
$01A6	$3046			MOVLW	70
$01A7	$00A3			MOVWF	?main_Local_Text+2
$01A8	$01A4			CLRF	?main_Local_Text+3
$01A9	$3021			MOVLW	?main_Local_Text
$01AA	$00B2			MOVWF	FARG_Usart_Write_Text
$01AB	$2231			CALL	_usart_write_text
$01AC	$	SERIAL_L_110:
$01AC	$300D			MOVLW	13
$01AD	$00B6			MOVWF	FARG_USART_Write
$01AE	$226F			CALL	_usart_write
;SERIAL.pbas,54 :: 		Usart_Write_Text("RC6: ")
$01AF	$3052			MOVLW	82
$01B0	$00A1			MOVWF	?main_Local_Text+0
$01B1	$3043			MOVLW	67
$01B2	$00A2			MOVWF	?main_Local_Text+1
$01B3	$3036			MOVLW	54
$01B4	$00A3			MOVWF	?main_Local_Text+2
$01B5	$303A			MOVLW	58
$01B6	$00A4			MOVWF	?main_Local_Text+3
$01B7	$3020			MOVLW	32
$01B8	$00A5			MOVWF	?main_Local_Text+4
$01B9	$01A6			CLRF	?main_Local_Text+5
$01BA	$3021			MOVLW	?main_Local_Text
$01BB	$00B2			MOVWF	FARG_Usart_Write_Text
$01BC	$2231			CALL	_usart_write_text
;SERIAL.pbas,55 :: 		if PORTC.6=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
$01BD	$3000			MOVLW	0
$01BE	$1B07			BTFSC	PORTC, 6
$01BF	$3001			MOVLW	1
$01C0	$00F1			MOVWF	STACK_1
$01C1	$0871			MOVF	STACK_1, 0
$01C2	$3A01			XORLW	1
$01C3	$1D03			BTFSS	STATUS, Z
$01C4	$29CE			GOTO	SERIAL_L_112
$01C5	$	SERIAL_L_111:
$01C5	$304F			MOVLW	79
$01C6	$00A1			MOVWF	?main_Local_Text+0
$01C7	$304E			MOVLW	78
$01C8	$00A2			MOVWF	?main_Local_Text+1
$01C9	$01A3			CLRF	?main_Local_Text+2
$01CA	$3021			MOVLW	?main_Local_Text
$01CB	$00B2			MOVWF	FARG_Usart_Write_Text
$01CC	$2231			CALL	_usart_write_text
$01CD	$29D8			GOTO	SERIAL_L_113
$01CE	$	SERIAL_L_112:
$01CE	$304F			MOVLW	79
$01CF	$00A1			MOVWF	?main_Local_Text+0
$01D0	$3046			MOVLW	70
$01D1	$00A2			MOVWF	?main_Local_Text+1
$01D2	$3046			MOVLW	70
$01D3	$00A3			MOVWF	?main_Local_Text+2
$01D4	$01A4			CLRF	?main_Local_Text+3
$01D5	$3021			MOVLW	?main_Local_Text
$01D6	$00B2			MOVWF	FARG_Usart_Write_Text
$01D7	$2231			CALL	_usart_write_text
$01D8	$	SERIAL_L_113:
$01D8	$300D			MOVLW	13
$01D9	$00B6			MOVWF	FARG_USART_Write
$01DA	$226F			CALL	_usart_write
;SERIAL.pbas,56 :: 		Usart_Write_Text("RC7: ")
$01DB	$3052			MOVLW	82
$01DC	$00A1			MOVWF	?main_Local_Text+0
$01DD	$3043			MOVLW	67
$01DE	$00A2			MOVWF	?main_Local_Text+1
$01DF	$3037			MOVLW	55
$01E0	$00A3			MOVWF	?main_Local_Text+2
$01E1	$303A			MOVLW	58
$01E2	$00A4			MOVWF	?main_Local_Text+3
$01E3	$3020			MOVLW	32
$01E4	$00A5			MOVWF	?main_Local_Text+4
$01E5	$01A6			CLRF	?main_Local_Text+5
$01E6	$3021			MOVLW	?main_Local_Text
$01E7	$00B2			MOVWF	FARG_Usart_Write_Text
$01E8	$2231			CALL	_usart_write_text
;SERIAL.pbas,57 :: 		if PORTC.7=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if
$01E9	$3000			MOVLW	0
$01EA	$1B87			BTFSC	PORTC, 7
$01EB	$3001			MOVLW	1
$01EC	$00F1			MOVWF	STACK_1
$01ED	$0871			MOVF	STACK_1, 0
$01EE	$3A01			XORLW	1
$01EF	$1D03			BTFSS	STATUS, Z
$01F0	$29FA			GOTO	SERIAL_L_115
$01F1	$	SERIAL_L_114:
$01F1	$304F			MOVLW	79
$01F2	$00A1			MOVWF	?main_Local_Text+0
$01F3	$304E			MOVLW	78
$01F4	$00A2			MOVWF	?main_Local_Text+1
$01F5	$01A3			CLRF	?main_Local_Text+2
$01F6	$3021			MOVLW	?main_Local_Text
$01F7	$00B2			MOVWF	FARG_Usart_Write_Text
$01F8	$2231			CALL	_usart_write_text
$01F9	$2A04			GOTO	SERIAL_L_116
$01FA	$	SERIAL_L_115:
$01FA	$304F			MOVLW	79
$01FB	$00A1			MOVWF	?main_Local_Text+0
$01FC	$3046			MOVLW	70
$01FD	$00A2			MOVWF	?main_Local_Text+1
$01FE	$3046			MOVLW	70
$01FF	$00A3			MOVWF	?main_Local_Text+2
$0200	$01A4			CLRF	?main_Local_Text+3
$0201	$3021			MOVLW	?main_Local_Text
$0202	$00B2			MOVWF	FARG_Usart_Write_Text
$0203	$2231			CALL	_usart_write_text
$0204	$	SERIAL_L_116:
;SERIAL.pbas,58 :: 		Usart_Write(13)
$0204	$300D			MOVLW	13
$0205	$00B6			MOVWF	FARG_USART_Write
$0206	$226F			CALL	_usart_write
;SERIAL.pbas,59 :: 		Usart_Write_Text("----------------") Usart_Write(13)
$0207	$302D			MOVLW	45
$0208	$00A1			MOVWF	?main_Local_Text+0
$0209	$302D			MOVLW	45
$020A	$00A2			MOVWF	?main_Local_Text+1
$020B	$302D			MOVLW	45
$020C	$00A3			MOVWF	?main_Local_Text+2
$020D	$302D			MOVLW	45
$020E	$00A4			MOVWF	?main_Local_Text+3
$020F	$302D			MOVLW	45
$0210	$00A5			MOVWF	?main_Local_Text+4
$0211	$302D			MOVLW	45
$0212	$00A6			MOVWF	?main_Local_Text+5
$0213	$302D			MOVLW	45
$0214	$00A7			MOVWF	?main_Local_Text+6
$0215	$302D			MOVLW	45
$0216	$00A8			MOVWF	?main_Local_Text+7
$0217	$302D			MOVLW	45
$0218	$00A9			MOVWF	?main_Local_Text+8
$0219	$302D			MOVLW	45
$021A	$00AA			MOVWF	?main_Local_Text+9
$021B	$302D			MOVLW	45
$021C	$00AB			MOVWF	?main_Local_Text+10
$021D	$302D			MOVLW	45
$021E	$00AC			MOVWF	?main_Local_Text+11
$021F	$302D			MOVLW	45
$0220	$00AD			MOVWF	?main_Local_Text+12
$0221	$302D			MOVLW	45
$0222	$00AE			MOVWF	?main_Local_Text+13
$0223	$302D			MOVLW	45
$0224	$00AF			MOVWF	?main_Local_Text+14
$0225	$302D			MOVLW	45
$0226	$00B0			MOVWF	?main_Local_Text+15
$0227	$01B1			CLRF	?main_Local_Text+16
$0228	$3021			MOVLW	?main_Local_Text
$0229	$00B2			MOVWF	FARG_Usart_Write_Text
$022A	$2231			CALL	_usart_write_text
$022B	$300D			MOVLW	13
$022C	$00B6			MOVWF	FARG_USART_Write
$022D	$226F			CALL	_usart_write
$022E	$	SERIAL_L_91:
;SERIAL.pbas,60 :: 		end if
$022E	$	SERIAL_L_92:
;SERIAL.pbas,61 :: 		recebe=0
$022E	$01A0			CLRF	_recebe, 1
$022F	$	SERIAL_L_2:
;SERIAL.pbas,62 :: 		end if
$022F	$	SERIAL_L_3:
;SERIAL.pbas,64 :: 		goto executa
$022F	$2817			GOTO	_main_executa
$0230	$2A30			GOTO	$
//** Procedures locations **
//ADDRESS		PROCEDURE
//----------------------------------------------
$0004		main
$0231		Usart_Write_Text
$0247		USART_Init
$025C		USART_Read
$026F		USART_Write
$0281		USART_Data_Ready
//** Labels locations **
//ADDRESS		LABEL
//----------------------------------------------
$0004		_main:
$0004		_main_main:
$0017		_main_executa:
$001C		SERIAL_L_1:
$0023		SERIAL_L_4:
$0023		SERIAL_L_7:
$0024		SERIAL_L_5:
$0024		SERIAL_L_6:
$0024		SERIAL_L_8:
$0028		SERIAL_L_9:
$0029		SERIAL_L_10:
$0029		SERIAL_L_11:
$0029		SERIAL_L_13:
$002D		SERIAL_L_14:
$002D		SERIAL_L_17:
$002E		SERIAL_L_15:
$002E		SERIAL_L_16:
$002E		SERIAL_L_18:
$0032		SERIAL_L_19:
$0033		SERIAL_L_20:
$0033		SERIAL_L_21:
$0033		SERIAL_L_23:
$0037		SERIAL_L_24:
$0037		SERIAL_L_27:
$0038		SERIAL_L_25:
$0038		SERIAL_L_26:
$0038		SERIAL_L_28:
$003C		SERIAL_L_29:
$003D		SERIAL_L_30:
$003D		SERIAL_L_31:
$003D		SERIAL_L_33:
$0041		SERIAL_L_34:
$0041		SERIAL_L_37:
$0042		SERIAL_L_35:
$0042		SERIAL_L_36:
$0042		SERIAL_L_38:
$0046		SERIAL_L_39:
$0047		SERIAL_L_40:
$0047		SERIAL_L_41:
$0047		SERIAL_L_43:
$004B		SERIAL_L_44:
$004B		SERIAL_L_47:
$004C		SERIAL_L_45:
$004C		SERIAL_L_46:
$004C		SERIAL_L_48:
$0050		SERIAL_L_49:
$0051		SERIAL_L_50:
$0051		SERIAL_L_51:
$0051		SERIAL_L_53:
$0055		SERIAL_L_54:
$0055		SERIAL_L_57:
$0056		SERIAL_L_55:
$0056		SERIAL_L_56:
$0056		SERIAL_L_58:
$005A		SERIAL_L_59:
$005B		SERIAL_L_60:
$005B		SERIAL_L_61:
$005B		SERIAL_L_63:
$005F		SERIAL_L_64:
$005F		SERIAL_L_67:
$0060		SERIAL_L_65:
$0060		SERIAL_L_66:
$0060		SERIAL_L_68:
$0064		SERIAL_L_69:
$0065		SERIAL_L_70:
$0065		SERIAL_L_71:
$0065		SERIAL_L_73:
$0069		SERIAL_L_74:
$0069		SERIAL_L_77:
$006A		SERIAL_L_75:
$006A		SERIAL_L_76:
$006A		SERIAL_L_78:
$006E		SERIAL_L_79:
$006F		SERIAL_L_80:
$006F		SERIAL_L_81:
$006F		SERIAL_L_83:
$0073		SERIAL_L_84:
$0075		SERIAL_L_85:
$0075		SERIAL_L_86:
$0079		SERIAL_L_87:
$007A		SERIAL_L_88:
$007A		SERIAL_L_89:
$007E		SERIAL_L_90:
$00BD		SERIAL_L_93:
$00C6		SERIAL_L_94:
$00D0		SERIAL_L_95:
$00E9		SERIAL_L_96:
$00F2		SERIAL_L_97:
$00FC		SERIAL_L_98:
$0115		SERIAL_L_99:
$011E		SERIAL_L_100:
$0128		SERIAL_L_101:
$0141		SERIAL_L_102:
$014A		SERIAL_L_103:
$0154		SERIAL_L_104:
$016D		SERIAL_L_105:
$0176		SERIAL_L_106:
$0180		SERIAL_L_107:
$0199		SERIAL_L_108:
$01A2		SERIAL_L_109:
$01AC		SERIAL_L_110:
$01C5		SERIAL_L_111:
$01CE		SERIAL_L_112:
$01D8		SERIAL_L_113:
$01F1		SERIAL_L_114:
$01FA		SERIAL_L_115:
$0204		SERIAL_L_116:
$022E		SERIAL_L_91:
$022E		SERIAL_L_92:
$022F		SERIAL_L_2:
$022F		SERIAL_L_3:
$0231		_usart_write_text:
$0238		USART_b75_L_47:
$0246		USART_b75_L_45:
$0246		USART_b75_L_48:
$0247		_usart_init:
$0247		USART_b75_L_1:
$024A		USART_b75_L_2:
$024D		USART_b75_L_3:
$024F		USART_b75_L_4:
$024F		USART_b75_L_5:
$0250		USART_b75_L_6:
$0250		USART_b75_L_8:
$025B		USART_b75_L_0:
$025B		USART_b75_L_9:
$025C		_usart_read:
$026A		USART_b75_L_20:
$026B		USART_b75_L_24:
$026B		USART_b75_L_25:
$026C		USART_b75_L_19:
$026C		USART_b75_L_21:
$026C		USART_b75_L_22:
$026C		USART_b75_L_26:
$026F		_usart_write:
$026F		USART_b75_L_14:
$027D		USART_b75_L_15:
$0280		USART_b75_L_12:
$0281		_usart_data_ready:
$028B		USART_b75_L_18:
//** Variables locations **
//ADDRESS		VARIABLE
//----------------------------------------------
$0000		INDF
$0002		PCL
$0003		STATUS
$0004		FSR
$0007		PORTC
$000A		PCLATH
$000B		INTCON
$000C		PIR1
$0018		RCSTA
$0019		TXREG
$001A		RCREG
$0020		_recebe
$0021		?main_Local_Text
$0032		_usart_data_ready_local_result
$0032		_usart_read_local_result
$0032		FARG_USART_Init
$0032		FARG_Usart_Write_Text
$0033		_usart_write_text_local_i
$0034		_usart_write_text_local_data
$0036		FARG_USART_Write
$0070		STACK_0
$0071		STACK_1
$0072		STACK_2
$0073		STACK_3
$0074		STACK_4
$0075		STACK_5
$0076		STACK_6
$0077		STACK_7
$0078		STACK_8
$0079		STACK_9
$007A		STACK_10
$007B		STACK_11
$007C		STACK_12
$007D		STACK_13
$007E		STACK_14
$007F		STACK_15
$0085		TRISA
$0086		TRISB
$0087		TRISC
$0098		TXSTA
$0099		SPBRG
$011E		ANSEL
$011F		ANSELH
Exercícios 2021-10-20 - Comunicacao Serial/SERIAL.mcl
Exercícios 2021-10-20 - Comunicacao Serial/SERIAL.pbas
program SERIAL
dim recebe as byte
main:
TRISA=%11111111
TRISB=%01111111
TRISC=%00000000
INTCON=%00000000
ANSEL=%00000000
ANSELH=%00000000
PORTC=0
Usart_Init(9600)
executa:
 if Usart_Data_Ready() > 0 then
 recebe=Usart_Read()
 if recebe=65 then PORTC.0 = 1 end if
 if recebe=97 then PORTC.0 = 0 end if
 if recebe=66 then PORTC.1 = 1 end if
 if recebe=98 then PORTC.1 = 0 end if
 if recebe=67 then PORTC.2 = 1 end if
 if recebe=99 then PORTC.2 = 0 end if
 if recebe=68 then PORTC.3 = 1 end if
 if recebe=100 then PORTC.3 = 0 end if
 if recebe=69 then PORTC.4 = 1 end if
 if recebe=101 then PORTC.4 = 0 end if
 if recebe=70 then PORTC.5 = 1 end if
 if recebe=102 then PORTC.5 = 0 end if
 if recebe=71 then PORTC.6 = 1 end if
 if recebe=103 then PORTC.6 = 0 end if
 if recebe=72 then PORTC.7 = 1 end if
 if recebe=104 then PORTC.7 = 0 end if
 
 if recebe=84 then PORTC=255 end if
 if recebe=48 then PORTC=0 end if
 
 if recebe=82 then
 Usart_Write(13)
 Usart_Write_Text("----------------") Usart_Write(13)
 Usart_Write_Text("RC0: ")
 if PORTC.0=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
 Usart_Write_Text("RC1: ")
 if PORTC.1=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
 Usart_Write_Text("RC2: ")
 if PORTC.2=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
 Usart_Write_Text("RC3: ")
 if PORTC.3=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
Usart_Write_Text("RC4: ")
 if PORTC.4=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
 Usart_Write_Text("RC5: ")
 if PORTC.5=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
 Usart_Write_Text("RC6: ")
 if PORTC.6=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if Usart_Write(13)
 Usart_Write_Text("RC7: ")
 if PORTC.7=1 then Usart_Write_Text("ON") Else Usart_Write_Text("OFF") end if 
 Usart_Write(13)
 Usart_Write_Text("----------------") Usart_Write(13)
 end if
 recebe=0
 end if
 goto executa
end.
Exercícios 2021-10-20 - Comunicacao Serial/SERIAL.pbp
[DeviceName]
Value=P16F690
[DeviceClock]
Value=4
[MainUnit]
Value=SERIAL.pbas
[DeviceFlags]
Count=10
Value0=_FCMEN_OFF = $37FF
Value1=_IESO_OFF = $3BFF
Value2=_BOR_OFF = $3CFF
Value3=_CPD_OFF = $3FFF
Value4=_CP_OFF = $3FFF
Value5=_MCLRE_OFF = $3FDF
Value6=_PWRTE_ON = $3FEF
Value7=_WDT_OFF = $3FF7
Value8=_INTRC_OSC_NOCLKOUT = $3FFC
Value9=_EXTRC_OSC_NOCLKOUT = $3FFE
[BuildSimDebug]
Build=0
SimDebug=0
[ProjectFiles]
Count=0
[OtherFiles]
Count=0
[TabIndex]
Value=0
[SearchPath]
Count=4
Value0=C:\Program Files (x86)\Mikroelektronika\mikroBasic\Defs\
Value1=C:\Program Files (x86)\Mikroelektronika\mikroBasic\Uses\p16\
Value2=D:\Salesiano 2020\UniSalesiano\Semestre 2\SAD - Eng Meca 8T - Sistemas de Aquisicao de Dados\Exercícios 2020-10-20 - Comunicacao Serial\
Value3=D:\Salesiano 2020\UniSalesiano\Semestre 2\SAD - Eng Meca 8T - Sistemas de Aquisicao de Dados\Aula 2020-10-20 - Comunicacao Serial\
[EEPROMinfo]
isused=0
Exercícios 2021-10-20 - Comunicacao Serial/SERIAL_callertable.txt
main
	USART_Init
	Usart_Write_Text
		USART_Write
	USART_Write
	USART_Read
	USART_Data_Ready
Exercícios 2021-10-20 - Comunicacao Serial/Tabela ASCII com códigos de controle e teclado.pdf
Exercícios 2021-10-20 - Comunicacao Serial/Tabela ASCII.pdf
Tabela ASCII – Completa
Fonte: http://www.spectrum.eti.br/news/tabela_ascii_completa 
A Tabela ASCII (American Standard Code for Information Interchange) não é nenhuma novidade para 
quem já trabalha com informática, principalmente com desenvolvimento de software. A minha intenção 
em publicar esta tabela é adicionar várias informações em uma única tabela, já que a maioria disponível 
na internet apresenta poucos dados.
Esta tabela é a junção da tabela ASCII Normal (32 a 127), tabela dos Caracteres de Controle (0 a 31) e 
a tabela ASCII Estendida (128 a 255).
Decimal Binário Hex Referência
0 00000000 00 Null - NUL
1 00000001 01 Start of Heading - SOH
2 00000010 02 Start of Text - STX
3 00000011 03 End of Text - ETX
4 00000100 04 End of Transmission - EOT
5 00000101 05 Enquiry - ENQ
6 00000110 06 Acknowledge - ACK
7 00000111 07 Bell, rings terminal bell - BEL
8 00001000 08 BackSpace - BS
9 00001001 09 Horizontal Tab - HT
10 00001010 0A Line Feed - LF
11 00001011 0B Vertical Tab - VT
12 00001100 0C Form Feed - FF
13 00001101 0D Enter - CR
14 00001110 0E Shift-Out - SO
15 00001111 0F Shift-In - SI
16 00010000 10 Data Link Escape - DLE
17 00010001 11 Device Control 1 - D1
18 00010010 12 Device Control 2 - D2
19 00010011 13 Device Control 3 - D3
20 00010100 14 Device Control 4 - D4
21 00010101 15 Negative Acknowledge - NAK
22 00010110 16 Synchronous idle - SYN
23 00010111 17 End Transmission Block - ETB
24 00011000 18 Cancel line - CAN
25 00011001 19 End of Medium - EM
26 00011010 1A Substitute - SUB
27 00011011 1B Escape - ESC
28 00011100 1C File Separator - FS
29 00011101 1D Group Separator - GS
30 00011110 1E Record Separator - RS
31 00011111 1F Unit Separator - US
32 00100000 20 Space - SPC
33 00100001 21 !
34 00100010 22 "
35 00100011 23 #
36 00100100 24 $
37 00100101 25 %
38 00100110 26 &
39 00100111 27 '
40 00101000 28 (
41 00101001 29 )
42 00101010 2A *
43 00101011 2B +
44 00101100 2C ,
45 00101101 2D -
46 00101110 2E .
47 00101111 2F /
48 00110000 30 0
49 00110001 31 1
50 00110010 32 2
51 00110011 33 3
52 00110100 34 4
53 00110101 35 5
54 00110110 36 6
55 00110111 37 7
56 00111000 38 8
57 00111001 39 9
58 00111010 3A :
59 00111011 3B ;
60 00111100 3C <
61 00111101 3D =
62 00111110 3E >
63 00111111 3F ?
64 01000000 40 @
65 01000001 41 A
66 01000010 42 B
67 01000011 43 C
68 01000100 44 D
69 01000101 45 E
70 01000110 46 F
71 01000111 47 G
72 01001000 48 H
73 01001001 49 I
74 01001010 4A J
75 01001011 4B K
76 01001100 4C L
77 01001101 4D M
78 01001110 4E N
79 01001111 4F O
80 01010000 50 P
81 01010001 51 Q
82 01010010 52 R
83 01010011 53 S
84 01010100 54 T
85 01010101 55 U
86 01010110 56 V
87 01010111 57 W
88 01011000 58 X
89 01011001 59 Y
90 01011010 5A Z
91 01011011 5B [
92 01011100 5C \
93 01011101 5D ]
94 01011110 5E ^
95 01011111 5F _
96 01100000 60 `
97 01100001 61 a
98 01100010 62 b
99 01100011 63 c
100 01100100 64 d
101 01100101 65 e
102 01100110 66 f
103 01100111 67 g
104 01101000 68 h
105 01101001 69 i
106 01101010 6A j
107 01101011 6B k
108 01101100 6C l
109 01101101 6D m
110 01101110 6E n
111 01101111 6F o
112 01110000 70 p
113 01110001 71 q
114 01110010 72 r
115 01110011 73 s
116 01110100 74 t
117 01110101 75 u
118 01110110 76 v
119 01110111 77 w
120 01111000 78 x
121 01111001 79 y
122 01111010 7A z
123 01111011 7B {
124 01111100 7C |
125 01111101 7D }
126 01111110 7E ~
127 01111111 7F Delete
128 10000000 80 Ç
129 10000001 81 ü
130 10000010 82 é
131 10000011 83 â
132 10000100 84 ä
133 10000101 85 à
134 10000110 86 å
135 10000111 87 ç
136 10001000 88 ê
137 10001001 89 ë
138 10001010 8A è
139 10001011 8B ï
140 10001100 8C î
141 10001101 8D ì
142 10001110 8E Ä
143 10001111 8F Å
144 10010000 90 É
145 10010001 91 æ
146 10010010 92 Æ
147 10010011 93 ô
148 10010100 94 ö
149 10010101 95 ò
150 10010110 96 û
151 10010111 97 ù
152 10011000 98 ÿ
153 10011001 99 Ö
154 10011010 9A Ü
155 10011011 9B ø
156 10011100 9C £
157 10011101 9D Ø
158 10011110 9E ×
159 10011111 9F ƒ
160 10100000 A0 á
161 10100001 A1 ù
162 10100010 A2 ó
163 10100011 A3 ú
164 10100100 A4 ñ
165 10100101 A5 Ñ
166 10100110 A6 ª
167 10100111 A7 º
168 10101000 A8 ¿
169 10101001 A9 ®
170 10101010 AA ¬
171 10101011 AB ½
172 10101100 AC ¼
173 10101101 AD ¡
174 10101110 AE «
175 10101111 AF »
176 10110000 B0 ░
177 10110001 B1 ▒
178 10110010 B2 ▓
179 10110011 B3 │
180 10110100 B4 ┤
181 10110101 B5 Á
182 10110110 B6 Â
183 10110111 B7 À
184 10111000 B8 ©
185 10111001 B9 ╣
186 10111010 BA ║
187 10111011 BB ╗
188 10111100 BC ╝
189 10111101 BD ¢
190 10111110 BE ¥
191 10111111 BF ┐
192 11000000 C0 └
193 11000001 C1 ┴
194 11000010 C2 ┬
195 11000011 C3 ├
196 11000100 C4 ─
197 11000101 C5 ┼
198 11000110 C6 ã
199 11000111 C7 Ã
200 11001000 C8 ╚
201 11001001 C9 ╔
202 11001010 CA ╩
203 11001011 CB ╦
204 11001100 CC ╠
205 11001101 CD ═
206 11001110 CE ╬
207 11001111 CF ¤
208 11010000 D0 ð
209 11010001 D1 Ð
210 11010010 D2 Ê
211 11010011 D3 Ë
212 11010100 D4 È
213 11010101 D5 ı
214 11010110 D6 Í
215 11010111 D7 Î
216 11011000 D8 Ï
217 11011001 D9 ┘
218 11011010 DA ┌
219 11011011 DB █
220 11011100 DC ▄
221 11011101 DD ¦
222 11011110 DE Ì
223 11011111 DF ▀
224 11100000 E0 Ó
225 11100001 E1 ß
226 11100010 E2 Ô
227 11100011 E3 Ò
228 11100100 E4 õ
229 11100101 E5 Õ
230 11100110 E6 µ
231 11100111 E7 þ
232 11101000 E8 Þ
233 11101001 E9 Ú
234 11101010 EA Û
235 11101011 EB Ù
236 11101100 EC ý
237 11101101 ED Ý
238 11101110 EE ¯
239 11101111 EF ´
240 11110000 F0
241 11110001 F1 ±
242 11110010 F2 ‗
243 11110011 F3 ¾
244 11110100 F4 ¶
245 11110101 F5 §
246 11110110 F6 ÷
247 11110111 F7 ¸
248 11111000 F8 °
249 11111001 F9 ¨
250 11111010 FA ·
251 11111011 FB ¹
252 11111100 FC ³
253 11111101 FD ²
254 11111110 FE ■
255 11111111 FF 
		Tabela ASCII – Completa

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando