⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 term.asm

📁 pic系列单片机得控制程序 主要进行温度采集和转换控制
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	movlw   0x0F
	andwf   TRISB,W
	movwf   TRISB   		; Set Port for output
	BCF     STATUS, RP0     	; Select Register page 0

	bsf     PORTA, E     		; Clock the initalize command to LCD module
	bcf     PORTA, E

	call    Delay4100       	; Delay for at least 4.1ms before continuing

	bsf     PORTA, E     		; Clock the initalize command to LCD module
	bcf     PORTA, E
	call    Delay100        	; delay for at least 100usec before continuing
	bsf     PORTA, E     		; Clock the initalize command to LCD module
	bcf     PORTA, E
	call    Wait_Busy       	; From here on, the Busy Bit will be valid.
	call 	Delay15000
	movlw   0x0f
	andwf   PORTB,F      		; Clear the upper nibble
	movlw   0x020           	; Command for 4-bit interface high nibble 
					;   lower 4 bits are don't care at this point)
	iorwf   PORTB,F      		; Send data to LCD      
	bsf     PORTA, E     		; Clock the initalize command to LCD module
	bcf     PORTA, E

	movlw   FUNCTION_SET    
	call    Send_Cmd        
	movlw   DISP_OFF
	call    Send_Cmd
	movlw   DISP_ON
	call    Send_Cmd
	movlw   ENTRY_INC
	call    Send_Cmd

	return
;--------------------------------------------------------------------------------------------
; Delays
 
delay_loop:
	nop             
	decfsz  r1,f
	goto    delay_loop
	decfsz  r2,f
	goto    delay_loop
	decfsz  r3,f
	goto    delay_loop
	decfsz  r4,f
	goto    delay_loop
	return

Delay100:				; delay 100us
	movlw   d'22'
	movwf   r1
	movlw   1
	movwf   r2
	movlw   1
	movwf   r3
	movlw   1
	movwf   r4 
	goto    delay_loop

Delay4100:				; delay 4.1ms
	movlw   d'252'
	movwf   r1
	movlw   4
	movwf   r2
	movlw   1
	movwf   r3
	movlw   1
	movwf   r4
	goto    delay_loop

Delay15000:				; delay 15ms
	movlw   d'156'
	movwf   r1
	movlw   15
	movwf   r2
	movlw   1
	movwf   r3
	movlw   1
	movwf   r4 
	goto    delay_loop

Delay500ms
	movlw   d'255'
	movwf   r1
	movlw   d'217'
	movwf   r2
	movlw   1
	movwf   r3
	movlw   1
	movwf   r4 
	goto    delay_loop
DelayT:					; delay for thermistor

	movlw   1
	movwf   r2
	movlw   1
	movwf   r3
	movlw   1
	movwf   r4 
	goto    delay_loop
DelayTInit:					; Initial delay for thermistor
	movlw   d'90'
	movwf   r1
	movlw   2
	movwf   r2
	movlw   1
	movwf   r3
	movlw   1
	movwf   r4 
	goto    delay_loop

;--------------------------------------------------------------------------------------------
; Check if W=0xFF.  If so, W gets decremented to 0xFE
CheckFF:
	movwf	Char
	incfsz	Char,f
	return
	retlw	0xFE
;--------------------------------------------------------------------------------------------
; This function displays variable Value in raw binary format, eg 10010010

DispBin:
	movlw 	0x08
	movwf	Licznik
goon:
	rlf	Value,f
	btfsc	STATUS,C
	movlw   '1'
	btfss	STATUS,C
	movlw   '0'
	call    Send_Char
	decfsz	Licznik,f
	goto	goon
	return
;--------------------------------------------------------------------------------------------
; These are the digits to be displayed given a temperature.  Format is:
;            ----------------------------------------------------------------------
;     bit #  |    7    |    6    |   5     4    |     3      2      1      0      |
;            ----------------------------------------------------------------------
;description |  sign   |  fract  |tens (0,1,2,3)|    ones (0,1,2,3,4,5,6,7,8,9)   |
;            ----------------------------------------------------------------------
;  
;	Warning: W cannot equal FF.  If so, the program will loop infinitly

	org    0x0300
GetTemp:

	addwf  PCL, f

;               return  number  real temp       displayed temp
;-------------------------------------------------------------------------------------------
	retlw	0x79	;0	39.750000	39.5
	retlw	0x39	;1	39.125000	39
	retlw	0x78	;2	38.500000	38.5
	retlw	0x38	;3	37.875000	38
	retlw	0x37	;4	37.250000	37
	retlw	0x76	;5	36.625000	36.5
	retlw	0x36	;6	36.000000	36
	retlw	0x75	;7	35.375000	35.5
	retlw	0x74	;8	34.750000	34.5
	retlw	0x34	;9	34.125000	34
	retlw	0x73	;10	33.500000	33.5
	retlw	0x33	;11	33.000000	33
	retlw	0x72	;12	32.500000	32.5
	retlw	0x32	;13	32.000000	32
	retlw	0x71	;14	31.500000	31.5
	retlw	0x31	;15	31.000000	31
	retlw	0x70	;16	30.500000	30.5
	retlw	0x30	;17	30.000000	30
	retlw	0x69	;18	29.500000	29.5
	retlw	0x29	;19	29.000000	29
	retlw	0x68	;20	28.500000	28.5
	retlw	0x28	;21	27.975000	28
	retlw	0x67	;22	27.450000	27.5
	retlw	0x27	;23	26.925000	27
	retlw	0x66	;24	26.400000	26.5
	retlw	0x26	;25	25.875000	26
	retlw	0x65	;26	25.350000	25.5
	retlw	0x25	;27	24.825000	25
	retlw	0x64	;28	24.300000	24.5
	retlw	0x24	;29	23.775000	24
	retlw	0x23	;30	23.250000	23
	retlw	0x23	;31	22.825000	23
	retlw	0x62	;32	22.400000	22.5
	retlw	0x22	;33	21.975000	22
	retlw	0x61	;34	21.550000	21.5
	retlw	0x21	;35	21.125000	21
	retlw	0x60	;36	20.700000	20.5
	retlw	0x60	;37	20.275000	20.5
	retlw	0x20	;38	19.850000	20
	retlw	0x59	;39	19.425000	19.5
	retlw	0x19	;40	19.000000	19
	retlw	0x58	;41	18.625000	18.5
	retlw	0x18	;42	18.250000	18
	retlw	0x18	;43	17.875000	18
	retlw	0x57	;44	17.500000	17.5
	retlw	0x17	;45	17.125000	17
	retlw	0x56	;46	16.750000	16.5
	retlw	0x56	;47	16.375000	16.5
	retlw	0x16	;48	16.000000	16
	retlw	0x55	;49	15.625000	15.5
	retlw	0x15	;50	15.250000	15
	retlw	0x15	;51	14.925000	15
	retlw	0x54	;52	14.600000	14.5
	retlw	0x54	;53	14.275000	14.5
	retlw	0x14	;54	13.950000	14
	retlw	0x53	;55	13.625000	13.5
	retlw	0x53	;56	13.300000	13.5
	retlw	0x13	;57	12.975000	13
	retlw	0x52	;58	12.650000	12.5
	retlw	0x52	;59	12.325000	12.5
	retlw	0x12	;60	12.000000	12
	retlw	0x51	;61	11.650000	11.5
	retlw	0x51	;62	11.300000	11.5
	retlw	0x11	;63	10.950000	11
	retlw	0x50	;64	10.600000	10.5
	retlw	0x50	;65	10.250000	10.5
	retlw	0x10	;66	9.900000	10
	retlw	0x49	;67	9.550000	09.5
	retlw	0x9	;68	9.200000	09
	retlw	0x9	;69	8.850000	09
	retlw	0x48	;70	8.500000	08.5
	retlw	0x8	;71	8.200000	08
	retlw	0x8	;72	7.900000	08
	retlw	0x47	;73	7.600000	07.5
	retlw	0x47	;74	7.300000	07.5
	retlw	0x7	;75	7.000000	07
	retlw	0x46	;76	6.700000	06.5
	retlw	0x46	;77	6.400000	06.5
	retlw	0x6	;78	6.100000	06
	retlw	0x6	;79	5.800000	06
	retlw	0x45	;80	5.500000	05.5
	retlw	0x5	;81	5.225000	05
	retlw	0x5	;82	4.950000	05
	retlw	0x44	;83	4.675000	04.5
	retlw	0x44	;84	4.400000	04.5
	retlw	0x4	;85	4.125000	04
	retlw	0x4	;86	3.850000	04
	retlw	0x43	;87	3.575000	03.5
	retlw	0x43	;88	3.300000	03.5
	retlw	0x3	;89	3.025000	03
	retlw	0x42	;90	2.750000	02.5
	retlw	0x42	;91	2.475000	02.5
	retlw	0x2	;92	2.200000	02
	retlw	0x2	;93	1.925000	02
	retlw	0x41	;94	1.650000	01.5
	retlw	0x41	;95	1.375000	01.5
	retlw	0x1	;96	1.100000	01
	retlw	0x1	;97	0.825000	01
	retlw	0x40	;98	0.550000	00.5
	retlw	0x40	;99	0.275000	00.5
	retlw	0x0	;100	0.000000	00
	retlw	0x80	;101	-0.200000	-00
	retlw	0xc0	;102	-0.400000	-00.5
	retlw	0xc0	;103	-0.600000	-00.5
	retlw	0x81	;104	-0.800000	-01
	retlw	0x81	;105	-1.000000	-01
	retlw	0x81	;106	-1.200000	-01
	retlw	0xc1	;107	-1.400000	-01.5
	retlw	0xc1	;108	-1.600000	-01.5
	retlw	0x82	;109	-1.800000	-02
	retlw	0x82	;110	-2.000000	-02
	retlw	0x82	;111	-2.200000	-02
	retlw	0xc2	;112	-2.400000	-02.5
	retlw	0xc2	;113	-2.600000	-02.5
	retlw	0x83	;114	-2.800000	-03
	retlw	0x83	;115	-3.000000	-03
	retlw	0x83	;116	-3.200000	-03
	retlw	0xc3	;117	-3.400000	-03.5
	retlw	0xc3	;118	-3.600000	-03.5
	retlw	0x84	;119	-3.800000	-04
	retlw	0x84	;120	-4.000000	-04
	retlw	0x84	;121	-4.200000	-04
	retlw	0xc4	;122	-4.400000	-04.5
	retlw	0xc4	;123	-4.600000	-04.5
	retlw	0x85	;124	-4.800000	-05
	retlw	0x85	;125	-5.000000	-05
	retlw	0x85	;126	-5.200000	-05
	retlw	0xc5	;127	-5.400000	-05.5
	retlw	0xc5	;128	-5.600000	-05.5
	retlw	0x86	;129	-5.800000	-06
	retlw	0x86	;130	-6.000000	-06
	retlw	0x86	;131	-6.200000	-06
	retlw	0xc6	;132	-6.400000	-06.5
	retlw	0xc6	;133	-6.600000	-06.5
	retlw	0x87	;134	-6.800000	-07
	retlw	0x87	;135	-7.000000	-07
	retlw	0x87	;136	-7.200000	-07
	retlw	0xc7	;137	-7.400000	-07.5
	retlw	0xc7	;138	-7.600000	-07.5
	retlw	0x88	;139	-7.800000	-08
	retlw	0x88	;140	-8.000000	-08
	retlw	0x88	;141	-8.150000	-08
	retlw	0xc8	;142	-8.300000	-08.5
	retlw	0xc8	;143	-8.450000	-08.5
	retlw	0xc8	;144	-8.600000	-08.5
	retlw	0xc8	;145	-8.750000	-08.5
	retlw	0x89	;146	-8.900000	-09
	retlw	0x89	;147	-9.050000	-09
	retlw	0x89	;148	-9.200000	-09
	retlw	0xc9	;149	-9.350000	-09.5
	retlw	0xc9	;150	-9.500000	-09.5
	retlw	0xc9	;151	-9.675000	-09.5
	retlw	0x90	;152	-9.850000	-10
	retlw	0x90	;153	-10.025000	-10
	retlw	0x90	;154	-10.200000	-10
	retlw	0xd0	;155	-10.375000	-10.5
	retlw	0xd0	;156	-10.550000	-10.5
	retlw	0xd0	;157	-10.725000	-10.5
	retlw	0x91	;158	-10.900000	-11
	retlw	0x91	;159	-11.075000	-11
	retlw	0x91	;160	-11.250000	-11
	retlw	0xd1	;161	-11.425000	-11.5
	retlw	0xd1	;162	-11.600000	-11.5
	retlw	0x92	;163	-11.775000	-12
	retlw	0x92	;164	-11.950000	-12
	retlw	0x92	;165	-12.125000	-12
	retlw	0xd2	;166	-12.300000	-12.5
	retlw	0xd2	;167	-12.475000	-12.5
	retlw	0xd2	;168	-12.650000	-12.5
	retlw	0x93	;169	-12.825000	-13
	retlw	0x93	;170	-13.000000	-13
	retlw	0x93	;171	-13.150000	-13
	retlw	0xd3	;172	-13.300000	-13.5
	retlw	0xd3	;173	-13.450000	-13.5
	retlw	0xd3	;174	-13.600000	-13.5
	retlw	0xd3	;175	-13.750000	-13.5
	retlw	0x94	;176	-13.900000	-14
	retlw	0x94	;177	-14.050000	-14
	retlw	0x94	;178	-14.200000	-14
	retlw	0xd4	;179	-14.350000	-14.5
	retlw	0xd4	;180	-14.500000	-14.5
	retlw	0xd4	;181	-14.650000	-14.5
	retlw	0x95	;182	-14.800000	-15
	retlw	0x95	;183	-14.950000	-15
	retlw	0x95	;184	-15.100000	-15
	retlw	0x95	;185	-15.250000	-15
	retlw	0xd5	;186	-15.400000	-15.5
	retlw	0xd5	;187	-15.550000	-15.5
	retlw	0xd5	;188	-15.700000	-15.5
	retlw	0x96	;189	-15.850000	-16
	retlw	0x96	;190	-16.000000	-16
	retlw	0x96	;191	-16.125000	-16
	retlw	0x96	;192	-16.250000	-16
	retlw	0xd6	;193	-16.375000	-16.5
	retlw	0xd6	;194	-16.500000	-16.5
	retlw	0xd6	;195	-16.625000	-16.5
	retlw	0xd6	;196	-16.750000	-16.5
	retlw	0x97	;197	-16.875000	-17
	retlw	0x97	;198	-17.000000	-17
	retlw	0x97	;199	-17.125000	-17
	retlw	0x97	;200	-17.250000	-17
	retlw	0xd7	;201	-17.375000	-17.5
	retlw	0xd7	;202	-17.500000	-17.5
	retlw	0xd7	;203	-17.625000	-17.5
	retlw	0xd7	;204	-17.750000	-17.5
	retlw	0x98	;205	-17.875000	-18
	retlw	0x98	;206	-18.000000	-18
	retlw	0x98	;207	-18.125000	-18
	retlw	0x98	;208	-18.250000	-18
	retlw	0xd8	;209	-18.375000	-18.5
	retlw	0xd8	;210	-18.500000	-18.5
	retlw	0xd8	;211	-18.650000	-18.5
	retlw	0x99	;212	-18.800000	-19
	retlw	0x99	;213	-18.950000	-19
	retlw	0x99	;214	-19.100000	-19
	retlw	0x99	;215	-19.250000	-19
	retlw	0xd9	;216	-19.400000	-19.5
	retlw	0xd9	;217	-19.550000	-19.5
	retlw	0xd9	;218	-19.700000	-19.5
	retlw	0xa0	;219	-19.850000	-20
	retlw	0xa0	;220	-20.000000	-20
	retlw	0xa0	;221	-20.125000	-20
	retlw	0xa0	;222	-20.250000	-20
	retlw	0xe0	;223	-20.375000	-20.5
	retlw	0xe0	;224	-20.500000	-20.5
	retlw	0xe0	;225	-20.625000	-20.5
	retlw	0xe0	;226	-20.750000	-20.5
	retlw	0xa1	;227	-20.875000	-21
	retlw	0xa1	;228	-21.000000	-21
	retlw	0xa1	;229	-21.125000	-21
	retlw	0xa1	;230	-21.250000	-21
	retlw	0xe1	;231	-21.350000	-21.5
	retlw	0xe1	;232	-21.450000	-21.5
	retlw	0xe1	;233	-21.550000	-21.5
	retlw	0xe1	;234	-21.650000	-21.5
	retlw	0xe1	;235	-21.750000	-21.5
	retlw	0xa2	;236	-21.850000	-22
	retlw	0xa2	;237	-21.950000	-22
	retlw	0xa2	;238	-22.050000	-22
	retlw	0xa2	;239	-22.150000	-22
	retlw	0xa2	;240	-22.250000	-22
	retlw	0xe2	;241	-22.350000	-22.5
	retlw	0xe2	;242	-22.450000	-22.5
	retlw	0xe2	;243	-22.550000	-22.5
	retlw	0xe2	;244	-22.650000	-22.5
	retlw	0xe2	;245	-22.750000	-22.5
	retlw	0xa3	;246	-22.850000	-23
	retlw	0xa3	;247	-22.950000	-23
	retlw	0xa3	;248	-23.050000	-23
	retlw	0xa3	;249	-23.150000	-23
	retlw	0xa3	;250	-23.250000	-23
	retlw	0xe3	;251	-23.325000	-23.5
	retlw	0xe3	;252	-23.400000	-23.5
	retlw	0xe3	;253	-23.475000	-23.5
	retlw	0xe3	;254	-23.550000	-23.5
	
	end

; This is the end.  Finally...


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -