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

📄 tuner.lst

📁 用AVR控制旭光高频头JS-6B1/111程序.
💻 LST
📖 第 1 页 / 共 2 页
字号:
(0125) 		SCL_H;						/*置时钟线为高,使数据线上数据有效*/
     193 9A95      SBI	0x12,5
(0126) 		delay_us(2);
     194 E002      LDI	R16,2
     195 DF6E      RCALL	_delay_us
(0127) 		retc<<=1;
     196 0CAA      LSL	R10
(0128) 		if(SDA_HIGH)
     197 B380      IN	R24,0x10
     198 9586      LSR	R24
     199 9586      LSR	R24
     19A 9586      LSR	R24
     19B 9586      LSR	R24
     19C 9586      LSR	R24
     19D 9586      LSR	R24
     19E 9586      LSR	R24
     19F 7081      ANDI	R24,1
     1A0 F009      BEQ	0x01A2
(0129) 		{
(0130) 			retc+=1;				/*读数据位,接收的数据位放入retc中*/
     1A1 94A3      INC	R10
(0131) 		}
(0132) 		delay_us(2);
     1A2 E002      LDI	R16,2
     1A3 DF60      RCALL	_delay_us
     1A4 9543      INC	R20
     1A5 3048      CPI	R20,0x8
     1A6 F338      BCS	0x018E
(0133) 	}
(0134) 	SCL_L;
     1A7 9895      CBI	0x12,5
(0135) 	delay_us(2);
     1A8 E002      LDI	R16,2
     1A9 DF5A      RCALL	_delay_us
(0136) 	return retc;
     1AA 2D0A      MOV	R16,R10
     1AB 9149      LD	R20,Y+
     1AC 90A9      LD	R10,Y+
     1AD 9508      RET
FILE: E:\电视接收头\高频头项目\avr\SRC\main.c
(0001) #include "..\inc\main.h"
(0002) 
(0003) //函数声明
(0004) void delay_1ms(void);
(0005) void delay_ms(unsigned int count);
(0006) 
(0007) void delay_1ms(void)
(0008) {
(0009) 	unsigned int i;
(0010) 	for(i=1;i<(unsigned int)(XTAL*143-2);i++);
_delay_1ms:
  i                    --> R16
     1AE E001      LDI	R16,1
     1AF E010      LDI	R17,0
     1B0 C002      RJMP	0x01B3
     1B1 5F0F      SUBI	R16,0xFF
     1B2 4F1F      SBCI	R17,0xFF
     1B3 E786      LDI	R24,0x76
     1B4 E094      LDI	R25,4
     1B5 1708      CP	R16,R24
     1B6 0719      CPC	R17,R25
     1B7 F3C8      BCS	0x01B1
     1B8 9508      RET
_delay_ms:
  count                --> R20
     1B9 934A      ST	R20,-Y
     1BA 935A      ST	R21,-Y
     1BB 01A8      MOVW	R20,R16
(0011) }
(0012) 
(0013) void delay_ms(unsigned int count)
(0014) {
(0015) 	do
(0016) 	{
(0017) 		delay_1ms();
     1BC DFF1      RCALL	_delay_1ms
(0018) 	}while((--count)!=0);
     1BD 01CA      MOVW	R24,R20
     1BE 9701      SBIW	R24,1
     1BF 01AC      MOVW	R20,R24
     1C0 3040      CPI	R20,0
     1C1 0745      CPC	R20,R21
     1C2 F7C9      BNE	0x01BC
     1C3 9159      LD	R21,Y+
     1C4 9149      LD	R20,Y+
     1C5 9508      RET
(0019) }
(0020) 
(0021) void main()
(0022) {
_main:
  temp                 --> Y,+1
     1C6 C003      RJMP	0x01CA
(0023) 	BYTE temp;
(0024) 	while(1)
(0025) 	{
(0026) 		write_RF(50);
     1C7 E302      LDI	R16,0x32
     1C8 940E 01CC CALL	_write_RF
     1CA CFFC      RJMP	0x01C7
     1CB 9508      RET
_write_RF:
  channel              --> R10
     1CC 92AA      ST	R10,-Y
     1CD 2EA0      MOV	R10,R16
FILE: E:\电视接收头\高频头项目\avr\SRC\tuner.c
(0001) #include "..\inc\main.h"
(0002) 
(0003) //函数声明
(0004) void write_RF(BYTE channel);
(0005) BYTE read_RF(void);
(0006) 
(0007) BYTE channel_table[][3]=
(0008) {
(0009) 		PLL_DATA(90100-6500),	/* 经济台 (调频收音)*/
(0010)         PLL_DATA(91000-6500),	/* 经济台 */
(0011)         PLL_DATA(91800-6500),	/* 交通台 */
(0012)         PLL_DATA(97500-6500),	/* 文艺台 */
(0013)         PLL_DATA(100300-6500),	/* 交通台 */
(0014)         PLL_DATA(103200-6500),	/* 新闻台 */
(0015)         PLL_DATA(105000-6500),	/* 星沙之声 */
(0016)         PLL_DATA(106500-6500),	/* 音乐台 */
(0017) 		
(0018) 		PLL_DATA(49750),        /* 频道DS1 (VL)*/
(0019)         PLL_DATA(57750),        /* 频道DS2*/
(0020)         PLL_DATA(65750),        /* 频道DS3 */
(0021)         PLL_DATA(77250),        /* 频道DS4 */
(0022)         PLL_DATA(85250),        /* 频道DS5 */
(0023)         PLL_DATA(112250),        /* 频道Z1 */
(0024)         PLL_DATA(120250),        /* 频道Z2 */
(0025)         PLL_DATA(128250),        /* 频道Z3 */
(0026)         PLL_DATA(136250),        /* 频道Z4 */
(0027)         PLL_DATA(144250),        /* 频道Z5 */
(0028)         PLL_DATA(152250),        /* 频道Z6 */
(0029)         PLL_DATA(160250),        /* 频道Z7 */
(0030) 
(0031)         PLL_DATA(168250),        /* 频道DS6 (VH)*/
(0032)         PLL_DATA(176250),        /* 频道DS7 */
(0033)         PLL_DATA(184250),        /* 频道DS8 */
(0034)         PLL_DATA(192250),        /* 频道DS9 */
(0035)         PLL_DATA(200250),        /* 频道DS10 */
(0036)         PLL_DATA(208250),        /* 频道DS11 */
(0037)         PLL_DATA(216250),        /* 频道DS12 */
(0038)         PLL_DATA(224250),        /* 频道Z8 */
(0039)         PLL_DATA(232250),        /* 频道Z9 */
(0040)         PLL_DATA(240250),        /* 频道Z10 */
(0041)         PLL_DATA(248250),        /* 频道Z11 */
(0042)         PLL_DATA(256250),        /* 频道Z12 */
(0043)         PLL_DATA(264250),        /* 频道Z13 */
(0044)         PLL_DATA(272250),        /* 频道Z14 */
(0045)         PLL_DATA(280250),        /* 频道Z15 */
(0046)         PLL_DATA(288250),        /* 频道Z16 */
(0047)         PLL_DATA(296250),        /* 频道Z17 */
(0048)         PLL_DATA(304250),        /* 频道Z18 */
(0049)         PLL_DATA(312250),        /* 频道Z19 */
(0050)         PLL_DATA(320250),        /* 频道Z20 */
(0051)         PLL_DATA(328250),        /* 频道Z21 */
(0052)         PLL_DATA(336250),        /* 频道Z22 */
(0053)         PLL_DATA(344250),        /* 频道Z23 */
(0054)         PLL_DATA(352250),        /* 频道Z24 */
(0055)         PLL_DATA(360250),        /* 频道Z25 */
(0056)         PLL_DATA(368250),        /* 频道Z26 */
(0057)         PLL_DATA(376250),        /* 频道Z27 */
(0058)         PLL_DATA(384250),        /* 频道Z28 */
(0059)         PLL_DATA(392250),        /* 频道Z29 */
(0060)         PLL_DATA(400250),        /* 频道Z30 */
(0061)         PLL_DATA(408250),        /* 频道Z31 */
(0062)         PLL_DATA(416250),        /* 频道Z32 */
(0063)         PLL_DATA(424250),        /* 频道Z33 */
(0064)         PLL_DATA(432250),        /* 频道Z34 */
(0065)         PLL_DATA(440250),        /* 频道Z35 */
(0066)         PLL_DATA(448250),        /* 频道Z36 */
(0067) 
(0068)         PLL_DATA(456250),        /* 频道Z37 (UHF)*/
(0069)         PLL_DATA(464250),        /* 频道Z38 */
(0070)         PLL_DATA(471250),        /* 频道DS13 */
(0071)         PLL_DATA(479250),        /* 频道DS14 */
(0072)         PLL_DATA(487250),        /* 频道DS15 */
(0073)         PLL_DATA(495250),        /* 频道DS16 */
(0074)         PLL_DATA(503250),        /* 频道DS17 */
(0075)         PLL_DATA(511250),        /* 频道DS18 */
(0076)         PLL_DATA(519250),        /* 频道DS19 */
(0077)         PLL_DATA(527250),        /* 频道DS20 */
(0078)         PLL_DATA(535250),        /* 频道DS21 */
(0079)         PLL_DATA(543250),        /* 频道DS22 */
(0080)         PLL_DATA(551250),        /* 频道DS23 */
(0081)         PLL_DATA(559250),        /* 频道DS24 */
(0082)         PLL_DATA(607250),        /* 频道DS25 */
(0083)         PLL_DATA(615250),        /* 频道DS26 */
(0084)         PLL_DATA(623250),        /* 频道DS27 */
(0085)         PLL_DATA(631250),        /* 频道DS28 */
(0086)         PLL_DATA(639250),        /* 频道DS29 */
(0087)         PLL_DATA(647250),        /* 频道DS30 */
(0088)         PLL_DATA(655250),        /* 频道DS31 */
(0089)         PLL_DATA(663250),        /* 频道DS32 */
(0090)         PLL_DATA(671250),        /* 频道DS33 */
(0091)         PLL_DATA(679250),        /* 频道DS34 */
(0092)         PLL_DATA(687250),        /* 频道DS35 */
(0093)         PLL_DATA(695250),        /* 频道DS36 */
(0094)         PLL_DATA(703250),        /* 频道DS37 */
(0095)         PLL_DATA(711250),        /* 频道DS38 */
(0096)         PLL_DATA(719250),        /* 频道DS39 */
(0097)         PLL_DATA(727250),        /* 频道DS40 */
(0098)         PLL_DATA(735250),        /* 频道DS41 */
(0099)         PLL_DATA(743250),        /* 频道DS42 */
(0100)         PLL_DATA(751250),        /* 频道DS43 */
(0101)         PLL_DATA(759250),        /* 频道DS44 */
(0102)         PLL_DATA(767250),        /* 频道DS45 */
(0103)         PLL_DATA(775250),        /* 频道DS46 */
(0104)         PLL_DATA(783250),        /* 频道DS47 */
(0105)         PLL_DATA(791250),        /* 频道DS48 */
(0106)         PLL_DATA(799250),        /* 频道DS49 */
(0107)         PLL_DATA(807250),        /* 频道DS50 */
(0108)         PLL_DATA(815250),        /* 频道DS51 */
(0109)         PLL_DATA(823250),        /* 频道DS52 */
(0110)         PLL_DATA(831250),        /* 频道DS53 */
(0111)         PLL_DATA(839250),        /* 频道DS54 */
(0112)         PLL_DATA(847250),        /* 频道DS55 */
(0113)         PLL_DATA(855250),        /* 频道DS56 */
(0114)         PLL_DATA(863250),        /* 频道DS57 */
(0115) }; 
(0116) 
(0117) //把频道参数写入高频头的射频部分
(0118) #if (n)
(0119) void write_RF(BYTE channel)
(0120) {
(0121) 	while(1)
(0122) 	{
(0123) 		Start_I2C();
(0124) 		if(SendByte(RF_ADDR_Write))
(0125) 		{
(0126) 			Stop_I2C();
(0127) 			continue;
(0128) 		}
(0129) 		if(SendByte(channel_table[channel][0]))
(0130) 		{
(0131) 			Stop_I2C();
(0132) 			continue;
(0133) 		}
(0134) 		if(SendByte(channel_table[channel][1]))
(0135) 		{
(0136) 			Stop_I2C();
(0137) 			continue;
(0138) 		}
(0139) 		if(SendByte(CB))
(0140) 		{
(0141) 			Stop_I2C();
(0142) 			continue;
(0143) 		}
(0144) 		if(SendByte(channel_table[channel][2]))	
(0145) 		{
(0146) 			Stop_I2C();
(0147) 			continue;
(0148) 		}
(0149) 		Stop_I2C();
(0150) 		break;
(0151) 	}
(0152) }
(0153) #endif
(0154) 
(0155) #if (y)
(0156) void write_RF(BYTE channel)
(0157) {
(0158) 	Start_I2C();
     1CE 940E 0116 CALL	_Start_I2C
(0159) 	SendByte(RF_ADDR_Write);
     1D0 EC02      LDI	R16,0xC2
     1D1 940E 0149 CALL	_SendByte
(0160) 	SendByte(channel_table[channel][0]);
     1D3 E083      LDI	R24,3
     1D4 9D8A      MUL	R24,R10
     1D5 01F0      MOVW	R30,R0
     1D6 E081      LDI	R24,1
     1D7 E091      LDI	R25,1
     1D8 0FE8      ADD	R30,R24
     1D9 1FF9      ADC	R31,R25
     1DA 8100      LDD	R16,Z+0
     1DB 940E 0149 CALL	_SendByte
(0161) 	SendByte(channel_table[channel][1]);
     1DD E083      LDI	R24,3
     1DE 9D8A      MUL	R24,R10
     1DF 01F0      MOVW	R30,R0
     1E0 E082      LDI	R24,2
     1E1 E091      LDI	R25,1
     1E2 0FE8      ADD	R30,R24
     1E3 1FF9      ADC	R31,R25
     1E4 8100      LDD	R16,Z+0
     1E5 940E 0149 CALL	_SendByte
(0162) 	SendByte(CB);
     1E7 E808      LDI	R16,0x88
     1E8 940E 0149 CALL	_SendByte
(0163) 	SendByte(channel_table[channel][2]);
     1EA E083      LDI	R24,3
     1EB 9D8A      MUL	R24,R10
     1EC 01F0      MOVW	R30,R0
     1ED E083      LDI	R24,3
     1EE E091      LDI	R25,1
     1EF 0FE8      ADD	R30,R24
     1F0 1FF9      ADC	R31,R25
     1F1 8100      LDD	R16,Z+0
     1F2 940E 0149 CALL	_SendByte
(0164) 	Stop_I2C();;
FILE: <library>
     1F4 940E 0125 CALL	_Stop_I2C
     1F6 90A9      LD	R10,Y+
     1F7 9508      RET
lsl8:
     1F8 2311      TST	R17
     1F9 F019      BEQ	0x01FD
     1FA 0F00      LSL	R16
     1FB 951A      DEC	R17
     1FC CFFB      RJMP	lsl8
     1FD 9508      RET

⌨️ 快捷键说明

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