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

📄 3510i.lst

📁 3510 TFT彩屏的测试程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    181D C0AA      RJMP	0x18C8
    181E 3087      CPI	R24,7
    181F E0E0      LDI	R30,0
    1820 079E      CPC	R25,R30
    1821 F409      BNE	0x1823
    1822 C0FC      RJMP	0x191F
    1823 3088      CPI	R24,0x8
    1824 E0E0      LDI	R30,0
    1825 079E      CPC	R25,R30
    1826 F409      BNE	0x1828
    1827 C0B6      RJMP	0x18DE
    1828 3089      CPI	R24,0x9
    1829 E0E0      LDI	R30,0
    182A 079E      CPC	R25,R30
    182B F409      BNE	0x182D
    182C C0F2      RJMP	0x191F
    182D 308B      CPI	R24,0xB
    182E E0E0      LDI	R30,0
    182F 079E      CPC	R25,R30
    1830 F409      BNE	0x1832
    1831 C0C2      RJMP	0x18F4
    1832 308C      CPI	R24,0xC
    1833 E0E0      LDI	R30,0
    1834 079E      CPC	R25,R30
    1835 F409      BNE	0x1837
    1836 C0D3      RJMP	0x190A
    1837 C0E7      RJMP	0x191F
(0160) 		{
(0161) 			case 1: //confirm键
(0162) 			{	
(0163) 				++MenuLevel;
    1838 918000BB  LDS	R24,_MenuLevel
    183A 5F8F      SUBI	R24,0xFF
    183B 938000BB  STS	_MenuLevel,R24
(0164) 				if(MenuLevel==1)	//enter the menu 
    183D 3081      CPI	R24,1
    183E F401      BNE	0x183F
(0165) 				{
(0166) 					
(0167) 				}
(0168) 				LCD_BGColor=0xff;
    183F EF8F      LDI	R24,0xFF
    1840 E090      LDI	R25,0
    1841 939000BF  STS	_LCD_BGColor+1,R25
    1843 938000BE  STS	_LCD_BGColor,R24
(0169) 				LCD_EraseBlock(0,0,97,66);
    1845 E482      LDI	R24,0x42
    1846 838A      STD	Y+2,R24
    1847 E681      LDI	R24,0x61
    1848 8388      STD	Y+0,R24
    1849 2722      CLR	R18
    184A 2700      CLR	R16
    184B 940E1D47  CALL	_LCD_EraseBlock
(0170) 				LCD_BGColor=0b11100000;
    184D EE80      LDI	R24,0xE0
    184E E090      LDI	R25,0
    184F 939000BF  STS	_LCD_BGColor+1,R25
    1851 938000BE  STS	_LCD_BGColor,R24
(0171) 				LCD_EraseBlock(10,10,87,56);
    1853 E388      LDI	R24,0x38
    1854 838A      STD	Y+2,R24
    1855 E587      LDI	R24,0x57
    1856 8388      STD	Y+0,R24
    1857 E02A      LDI	R18,0xA
    1858 E00A      LDI	R16,0xA
    1859 940E1D47  CALL	_LCD_EraseBlock
(0172) 				LCD_WriteEnglishString("Confirm Key",10 , 25);
    185B E189      LDI	R24,0x19
    185C 8388      STD	Y+0,R24
    185D E02A      LDI	R18,0xA
    185E EA04      LDI	R16,0xA4
    185F E010      LDI	R17,0
    1860 940E1C38  CALL	_LCD_WriteEnglishString
(0173) 				break;
    1862 C0BC      RJMP	0x191F
(0174) 			}
(0175) 			case 2://up
(0176) 			{
(0177) 				LCD_BGColor=0b11100000;
    1863 EE80      LDI	R24,0xE0
    1864 E090      LDI	R25,0
    1865 939000BF  STS	_LCD_BGColor+1,R25
    1867 938000BE  STS	_LCD_BGColor,R24
(0178) 				LCD_EraseBlock(10,10,87,56);
    1869 E388      LDI	R24,0x38
    186A 838A      STD	Y+2,R24
    186B E587      LDI	R24,0x57
    186C 8388      STD	Y+0,R24
    186D E02A      LDI	R18,0xA
    186E E00A      LDI	R16,0xA
    186F 940E1D47  CALL	_LCD_EraseBlock
(0179) 				LCD_WriteEnglishString("Up Key",10 , 25);
    1871 E189      LDI	R24,0x19
    1872 8388      STD	Y+0,R24
    1873 E02A      LDI	R18,0xA
    1874 E90D      LDI	R16,0x9D
    1875 E010      LDI	R17,0
    1876 940E1C38  CALL	_LCD_WriteEnglishString
(0180) 				break;
    1878 C0A6      RJMP	0x191F
(0181) 			}
(0182) 			case 3://cancel
(0183) 			{
(0184) 				if(MenuLevel>0)
    1879 2422      CLR	R2
    187A 903000BB  LDS	R3,_MenuLevel
    187C 1423      CP	R2,R3
    187D F428      BCC	0x1883
(0185) 					--MenuLevel;
    187E 2D83      MOV	R24,R3
    187F 5081      SUBI	R24,1
    1880 938000BB  STS	_MenuLevel,R24
    1882 C003      RJMP	0x1886
(0186) 				else
(0187) 					MenuLevel=0;
    1883 2422      CLR	R2
    1884 922000BB  STS	_MenuLevel,R2
(0188) 				
(0189) 				LCD_BGColor=0b11100000;
    1886 EE80      LDI	R24,0xE0
    1887 E090      LDI	R25,0
    1888 939000BF  STS	_LCD_BGColor+1,R25
    188A 938000BE  STS	_LCD_BGColor,R24
(0190) 				LCD_EraseBlock(10,10,87,56);
    188C E388      LDI	R24,0x38
    188D 838A      STD	Y+2,R24
    188E E587      LDI	R24,0x57
    188F 8388      STD	Y+0,R24
    1890 E02A      LDI	R18,0xA
    1891 E00A      LDI	R16,0xA
    1892 940E1D47  CALL	_LCD_EraseBlock
(0191) 				LCD_WriteEnglishString("Cancel Key",10 , 25);
    1894 E189      LDI	R24,0x19
    1895 8388      STD	Y+0,R24
    1896 E02A      LDI	R18,0xA
    1897 E902      LDI	R16,0x92
    1898 E010      LDI	R17,0
    1899 940E1C38  CALL	_LCD_WriteEnglishString
(0192) 				break;
    189B C083      RJMP	0x191F
(0193) 			}
(0194) 			case 4: //left
(0195) 			{
(0196) 				LCD_BGColor=0b11100000;
    189C EE80      LDI	R24,0xE0
    189D E090      LDI	R25,0
    189E 939000BF  STS	_LCD_BGColor+1,R25
    18A0 938000BE  STS	_LCD_BGColor,R24
(0197) 				LCD_EraseBlock(10,10,87,56);
    18A2 E388      LDI	R24,0x38
    18A3 838A      STD	Y+2,R24
    18A4 E587      LDI	R24,0x57
    18A5 8388      STD	Y+0,R24
    18A6 E02A      LDI	R18,0xA
    18A7 E00A      LDI	R16,0xA
    18A8 940E1D47  CALL	_LCD_EraseBlock
(0198) 				LCD_WriteEnglishString("Left Key",10 , 25);
    18AA E189      LDI	R24,0x19
    18AB 8388      STD	Y+0,R24
    18AC E02A      LDI	R18,0xA
    18AD E809      LDI	R16,0x89
    18AE E010      LDI	R17,0
    18AF 940E1C38  CALL	_LCD_WriteEnglishString
(0199) 				break;
    18B1 C06D      RJMP	0x191F
(0200) 			}
(0201) 			case 5://confirm
(0202) 			{
(0203) 				LCD_BGColor=0b11100000;
    18B2 EE80      LDI	R24,0xE0
    18B3 E090      LDI	R25,0
    18B4 939000BF  STS	_LCD_BGColor+1,R25
    18B6 938000BE  STS	_LCD_BGColor,R24
(0204) 				LCD_EraseBlock(10,10,87,56);
    18B8 E388      LDI	R24,0x38
    18B9 838A      STD	Y+2,R24
    18BA E587      LDI	R24,0x57
    18BB 8388      STD	Y+0,R24
    18BC E02A      LDI	R18,0xA
    18BD E00A      LDI	R16,0xA
    18BE 940E1D47  CALL	_LCD_EraseBlock
(0205) 				LCD_WriteEnglishString("Confirm Key",10 , 25);
    18C0 E189      LDI	R24,0x19
    18C1 8388      STD	Y+0,R24
    18C2 E02A      LDI	R18,0xA
    18C3 EA04      LDI	R16,0xA4
    18C4 E010      LDI	R17,0
    18C5 940E1C38  CALL	_LCD_WriteEnglishString
(0206) 				break;
    18C7 C057      RJMP	0x191F
(0207) 			}
(0208) 			case 6://right
(0209) 			{
(0210) 				LCD_BGColor=0b11100000;
    18C8 EE80      LDI	R24,0xE0
    18C9 E090      LDI	R25,0
    18CA 939000BF  STS	_LCD_BGColor+1,R25
    18CC 938000BE  STS	_LCD_BGColor,R24
(0211) 				LCD_EraseBlock(10,10,87,56);
    18CE E388      LDI	R24,0x38
    18CF 838A      STD	Y+2,R24
    18D0 E587      LDI	R24,0x57
    18D1 8388      STD	Y+0,R24
    18D2 E02A      LDI	R18,0xA
    18D3 E00A      LDI	R16,0xA
    18D4 940E1D47  CALL	_LCD_EraseBlock
(0212) 				LCD_WriteEnglishString("Right Key",10 , 25);
    18D6 E189      LDI	R24,0x19
    18D7 8388      STD	Y+0,R24
    18D8 E02A      LDI	R18,0xA
    18D9 E70F      LDI	R16,0x7F
    18DA E010      LDI	R17,0
    18DB 940E1C38  CALL	_LCD_WriteEnglishString
(0213) 				break;
    18DD C041      RJMP	0x191F
(0214) 			}
(0215) 			case 7: //
(0216) 			{
(0217) 				//LCD_WriteEnglishString("KeyValue=7",10 , 25);
(0218) 				break;
(0219) 			}
(0220) 			case 8://down
(0221) 			{
(0222) 				LCD_BGColor=0b11100000;
    18DE EE80      LDI	R24,0xE0
    18DF E090      LDI	R25,0
    18E0 939000BF  STS	_LCD_BGColor+1,R25
    18E2 938000BE  STS	_LCD_BGColor,R24
(0223) 				LCD_EraseBlock(10,10,87,56);
    18E4 E388      LDI	R24,0x38
    18E5 838A      STD	Y+2,R24
    18E6 E587      LDI	R24,0x57
    18E7 8388      STD	Y+0,R24
    18E8 E02A      LDI	R18,0xA
    18E9 E00A      LDI	R16,0xA
    18EA 940E1D47  CALL	_LCD_EraseBlock
(0224) 				LCD_WriteEnglishString("Down Key",10 , 25);
    18EC E189      LDI	R24,0x19
    18ED 8388      STD	Y+0,R24
    18EE E02A      LDI	R18,0xA
    18EF E706      LDI	R16,0x76
    18F0 E010      LDI	R17,0
    18F1 940E1C38  CALL	_LCD_WriteEnglishString
(0225) 				break;
    18F3 C02B      RJMP	0x191F
(0226) 			}
(0227) 			case 9://
(0228) 			{
(0229) 				//LCD_WriteEnglishString("KeyValue=9",10 , 25);
(0230) 				break;
(0231) 			}
(0232) 			case 0: //
(0233) 			{
(0234) 				//LCD_WriteEnglishString("KeyValue=0",10 , 25);
(0235) 				break;
(0236) 			}
(0237) 			case 0x0b://Time
(0238) 			{
(0239) 				LCD_BGColor=0b11100000;
    18F4 EE80      LDI	R24,0xE0
    18F5 E090      LDI	R25,0
    18F6 939000BF  STS	_LCD_BGColor+1,R25
    18F8 938000BE  STS	_LCD_BGColor,R24
(0240) 				LCD_EraseBlock(10,10,87,56);
    18FA E388      LDI	R24,0x38
    18FB 838A      STD	Y+2,R24
    18FC E587      LDI	R24,0x57
    18FD 8388      STD	Y+0,R24
    18FE E02A      LDI	R18,0xA
    18FF E00A      LDI	R16,0xA
    1900 940E1D47  CALL	_LCD_EraseBlock
(0241) 				LCD_WriteEnglishString("KeyValue=*",10 , 25);
    1902 E189      LDI	R24,0x19
    1903 8388      STD	Y+0,R24
    1904 E02A      LDI	R18,0xA
    1905 E60B      LDI	R16,0x6B
    1906 E010      LDI	R17,0
    1907 940E1C38  CALL	_LCD_WriteEnglishString
(0242) 				break;
    1909 C015      RJMP	0x191F
(0243) 			}
(0244) 			case 0x0c://Temp
(0245) 			{
(0246) 				LCD_BGColor=0b11100000;
    190A EE80      LDI	R24,0xE0
    190B E090      LDI	R25,0
    190C 939000BF  STS	_LCD_BGColor+1,R25
    190E 938000BE  STS	_LCD_BGColor,R24
(0247) 				LCD_EraseBlock(10,10,87,56);
    1910 E388      LDI	R24,0x38
    1911 838A      STD	Y+2,R24
    1912 E587      LDI	R24,0x57
    1913 8388      STD	Y+0,R24
    1914 E02A      LDI	R18,0xA
    1915 E00A      LDI	R16,0xA
    1916 940E1D47  CALL	_LCD_EraseBlock
(0248) 				LCD_WriteEnglishString("KeyValue=#",10 , 25);
    1918 E189      LDI	R24,0x19
    1919 8388      STD	Y+0,R24
    191A E02A      LDI	R18,0xA
    191B E600      LDI	R16,0x60
    191C E010      LDI	R17,0
    191D 940E1C38  CALL	_LCD_WriteEnglishString
(0249) 				break;
(0250) 			}
(0251) 			default:break;
(0252) 		}
(0253) 	}
    191F 9623      ADIW	R28,3
    1920 940E1E73  CALL	pop_gset3x
    1922 9508      RET
(0254) }
(0255) /*--------------------------------------------延时函数------------------------------------*/					
(0256) //1us延时函数
(0257) void delay_1us(void)
(0258) {
(0259) 	NOP();
_delay_1us:
    1923 0000      NOP
    1924 9508      RET
_delay_nus:
  i                    --> R10
  n                    --> R12
    1925 940E1E88  CALL	push_gset4x
    1927 0168      MOVW	R12,R16
(0260) }
(0261) 
(0262) //n us 延时函数
(0263) void delay_nus(unsigned int n)
(0264) {
(0265) 	unsigned int i;
(0266) 	for(i=0;i<n;i++)
    1928 24AA      CLR	R10
    1929 24BB      CLR	R11
    192A C004      RJMP	0x192F
(0267) 		delay_1us();
    192B DFF7      RCALL	_delay_1us
    192C 01C5      MOVW	R24,R10
    192D 9601      ADIW	R24,1
    192E 015C      MOVW	R10,R24
    192F 14AC      CP	R10,R12
    1930 04BD      CPC	R11,R13
    1931 F3C8      BCS	0x192B
    1932 940E1E7F  CALL	pop_gset4x
    1934 9508      RET
(0268) }
(0269) 
(0270) //1ms延时函数
(0271) void delay_1ms(void)
(0272) {
(0273) 	unsigned int i;
(0274) 	for(i=0;i<600;i++);
_delay_1ms:
  i                    --> R16
    1935 2700      CLR	R16
    1936 2711      CLR	R17
    1937 C002      RJMP	0x193A
    1938 5F0F      SUBI	R16,0xFF
    1939 4F1F      SBCI	R17,0xFF
    193A 3508      CPI	R16,0x58
    193B E0E2      LDI	R30,2
    193C 071E      CPC	R17,R30
    193D F3D0      BCS	0x1938
    193E 9508      RET
_delay_nms:
  i                    --> R10
  n                    --> R12
    193F 940E1E88  CALL	push_gset4x
    1941 0168      MOVW	R12,R16
(0275) }
(0276) 
(0277) //n ms延时函数
(0278) void delay_nms(unsigned int n)
(0279) {
(0280) 	unsigned int i;
(0281) 	for(i=0;i<n;i++)
    1942 24AA      CLR	R10
    1943 24BB      CLR	R11
    1944 C004      RJMP	0x1949
(0282) 		delay_1ms();
    1945 DFEF      RCALL	_delay_1ms
    1946 01C5      MOVW	R24,R10
    1947 9601      ADIW	R24,1
    1948 015C      MOVW	R10,R24
    1949 14AC      CP	R10,R12
    194A 04BD      CPC	R11,R13
    194B F3C8      BCS	0x1945
    194C 940E1E7F  CALL	pop_gset4x
    194E 9508      RET
FILE: D:\StudyRoom\学习AVR\3510测试ICC版\main.c
(0001) //=======头文件============
(0002) #include <iom16v.h>
(0003) #include <macros.h>
(0004) #include "3510i.h"
(0005) #include "bit.h"
(0006) #include "tu.h"
(0007) #include "keyscan.h"
(0008) #include "buzzpr.h"
(0009) #include "chinese_12x12_pixel.h"
(0010) //=========================
(0011) extern 	uchar LCD_BGColor;
(0012) extern	uchar LCD_PenColor;
(0013) extern 	uchar fBuzzring;
(0014) extern	BuzzringCnt;
(0015) void MCU_Initial(void)
(0016) {
(0017) 	CLI();
_MCU_Initial:
    194F 94F8      BCLR	7
(0018) 	PORTA = 0x00;
    1950 2422      CLR	R2
    1951 BA2B      OUT	0x1B,R2
(0019) 	DDRA  = 0xFF;
    1952 EF8F      LDI	R24,0xFF
    1953 BB8A      OUT	0x1A,R24
(0020) 	PORTB = 0x00;
    1954 BA28      OUT	0x18,R2
(0021) 	DDRB  = 0xFF;
    1955 BB87      OUT	0x17,R24
(0022) 	PORTC = 0x00; 
    1956 BA25      OUT	0x15,R2

⌨️ 快捷键说明

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