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

📄 main.lst

📁 具有温度显示的LCD显示代码,具有错误指示 警告信息
💻 LST
📖 第 1 页 / 共 5 页
字号:
                FF FF FF FF
                FF FF FF   
   505                              ;second watch counter register
   506 0000006D FF                  GB_10ms				DS			1		;10ms timer base
   507 0000006E FF                  GB_60s				DS			1		;60s timer base
   508 0000006F FF                  GB_60m				DS			1		;60m timer base
   509                              ;interrupt
   510 00000070 FF                  GB_10msFlag			DS			1		;10ms flag
   511                              ;**********************************************************************************
   512 000001E0                     .DATA									;Define data storage section
   513                              ;**********************************************************************************
   514                              ;*																				  *
   515                              ;*      	 Program Area														  *
   516                              ;*																				  *
   517                              ;**********************************************************************************
   518 0000F000                     .CODE
   519                              ;**********************************************************************************
   520                              ;*																				  *
   521                              ;*		Power on Reset Process													  *
   522                              ;*																				  *
   523                              ;**********************************************************************************
   524 0000F000                     V_Reset:
   525 0000F000 78                  		sei								;Disable interrupt
   526 0000F001 A2 FF               		ldx		#C_STACK_BOTTOM			;Initial stack pointer at $00FF
   527 0000F003 9A                  		txs								;Transfer to stack point
   528                                      
   529 0000F004 20 A1 F0            		jsr		F_LCD_Init
   530 0000F007 20 1B F0            		jsr		F_Watch_Init
   531                              		
   532 0000F00A 58                          cli
   533 0000F00B                     ?L_Main_Loop:							;The example for test
   534 0000F00B A5 70               		lda		GB_10msFlag
   535 0000F00D C9 0A               		cmp		#10
   536 0000F00F 90 FA               		bcc		?L_Main_Loop
   537 0000F011 A9 00               		lda		#0
   538 0000F013 85 70               		sta		GB_10msFlag
   539                              
   540 0000F015 20 32 F0            		jsr		F_WatchShowing
   541                              		
   542 0000F018                     ?L_LoopExit:	
   543 0000F018 4C 0B F0            		jmp		?L_Main_Loop
   544                              
   545                              
   546                              ;====================================================================================
   547                              ;	Function:		F_Watch_Init
   548                              ;	Description:	1.024ms set, varaible init
   549                              ;	Input:          none
   550                              ;	Output:         none
   551                              ;	Destroy:		A
   552                              ;	Stacks:			1
   553                              ;====================================================================================
   554 0000F01B                     F_Watch_Init: 
   555                              	   	;------------------------------------------------------
   556                              		;1.024ms 
   557 0000F01B A9 70               		lda		#C_TBASE_Div_8k			;1.024ms
   558 0000F01D 85 2D               		sta     P_BUZ_Ctrl
   559 0000F01F A9 20               		lda		#C_INT_ITVALIE
   560 0000F021 85 27               		sta		P_INT_Ctrl2
   561 0000F023 A9 FF               		lda		#$FF
   562 0000F025 85 26               		sta		P_INT_Flag2
   563                              
   564 0000F027 A9 00               		lda		#0
   565 0000F029 85 70               		sta		GB_10msFlag
   566 0000F02B 85 6D               		sta		GB_10ms
   567 0000F02D 85 6E               		sta		GB_60s
   568 0000F02F 85 6F               		sta		GB_60m
   569 0000F031 60                  		rts
   570                              ;====================================================================================
   571                              ;	Function:		F_WatchShowing
   572                              ;	Description:	second watch counting per 10ms
   573                              ;	Input:          none
   574                              ;	Output:         none
   575                              ;	Destroy:		A,X,Y
   576                              ;	Stacks:			4
   577                              ;====================================================================================
   578 0000F032                     F_WatchShowing:
   579 0000F032 F8                  		sed
   580 0000F033 A5 6D               		lda		GB_10ms
   581 0000F035 18                  		clc		
   582 0000F036 69 01               		adc		#1						;10ms add 1
   583 0000F038 85 6D               		sta		GB_10ms
   584 0000F03A 90 4C               		bcc		?L_10msshow
   585                              		
   586 0000F03C 18                  		clc
   587 0000F03D A5 6E               		lda		GB_60s
   588 0000F03F 69 01               		adc		#1						;60s add 1
   589 0000F041 85 6E               		sta		GB_60s
   590 0000F043 C9 60               		cmp		#$60
   591 0000F045 90 2A               		bcc		?L_60sshow
   592 0000F047 A9 00               		lda		#0
   593 0000F049 85 6E               		sta		GB_60s
   594                              		
   595 0000F04B 18                  		clc
   596 0000F04C A5 6F               		lda		GB_60m
   597 0000F04E 69 01               		adc		#1						;60m add 1
   598 0000F050 85 6F               		sta		GB_60m		
   599 0000F052 C9 60               		cmp		#$60
   600 0000F054 90 04               		bcc		?L_CouExit
   601 0000F056 A9 00               		lda		#0
   602 0000F058 85 6F               		sta		GB_60m		
   603 0000F05A                     ?L_CouExit:
   604 0000F05A D8                  		cld
   605 0000F05B                     ?L_60mshow:								;miniute showing
   606 0000F05B A5 6F               		lda		GB_60m	
   607 0000F05D 29 0F               		and		#$F
   608 0000F05F A0 07               		ldy		#7
   609 0000F061 20 D3 F0            		jsr		F_LCDShow
   610 0000F064 A5 6F               		lda		GB_60m	
   611 0000F066 29 F0               		and		#$F0
   612 0000F068 4A                  		lsr		a
   613 0000F069 4A                  		lsr		a
   614 0000F06A 4A                  		lsr		a
   615 0000F06B 4A                  		lsr		a
   616 0000F06C A0 08               		ldy		#8
   617 0000F06E 20 D3 F0            		jsr		F_LCDShow
   618 0000F071                     ?L_60sshow:								;second showing 
   619 0000F071 D8                  		cld
   620 0000F072 A5 6E               		lda		GB_60s	
   621 0000F074 29 0F               		and		#$F
   622 0000F076 A0 05               		ldy		#5
   623 0000F078 20 D3 F0            		jsr		F_LCDShow
   624 0000F07B A5 6E               		lda		GB_60s	
   625 0000F07D 29 F0               		and		#$F0
   626 0000F07F 4A                  		lsr		a
   627 0000F080 4A                  		lsr		a
   628 0000F081 4A                  		lsr		a
   629 0000F082 4A                  		lsr		a
   630 0000F083 A0 06               		ldy		#6
   631 0000F085 20 D3 F0            		jsr		F_LCDShow
   632 0000F088                     ?L_10msshow:							;ms showing 
   633 0000F088 D8                  		cld
   634 0000F089 A5 6D               		lda		GB_10ms	
   635 0000F08B 29 0F               		and		#$F
   636 0000F08D A0 03               		ldy		#3
   637 0000F08F 20 D3 F0            		jsr		F_LCDShow
   638 0000F092 A5 6D               		lda		GB_10ms	
   639 0000F094 29 F0               		and		#$F0
   640 0000F096 4A                  		lsr		a
   641 0000F097 4A                  		lsr		a
   642 0000F098 4A                  		lsr		a
   643 0000F099 4A                  		lsr		a
   644 0000F09A A0 04               		ldy		#4
   645 0000F09C 20 D3 F0            		jsr		F_LCDShow
   646 0000F09F EA                  		nop
   647 0000F0A0 60                  		rts		
   648                              ;====================================================================================
   649                              ;	Function:		F_LCD_Init
   650                              ;	Description:	set IO  ;black screen  ;clear showing buffer
   651                              ;	Input:          none
   652                              ;	Output:         none
   653                              ;	Destroy:		A,X,Y
   654                              ;	Stacks:			1
   655                              ;====================================================================================
   656 0000F0A1                     F_LCD_Init:
   657                              		;---------------------------------------------
   658                              		;IO set: PB0----Data  PB1----ACK  PB2----STB
   659 0000F0A1 A5 09               		lda		P_IOB_Attrib
   660 0000F0A3 29 F8               		and		#%11111000
   661 0000F0A5 85 09               		sta		P_IOB_Attrib
   662 0000F0A7 A5 05               		lda		P_IOB_Dir
   663 0000F0A9 29 F8               		and		#%11111000
   664 0000F0AB 09 05               		ora		#%00000101
   665 0000F0AD 85 05               		sta		P_IOB_Dir
   666 0000F0AF A5 5A               		lda		P_IOB_Buf
   667 0000F0B1 29 F8               		and		#%11111000
   668 0000F0B3 85 01               		sta		P_IOB_Data
   669 0000F0B5 85 5A               		sta		P_IOB_Buf
   670                              		;---------------------------------------------
   671                              		;screen black

⌨️ 快捷键说明

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