' PIC 16F877 VHF air radio Program '------------------------------------------------- channel var word bunnsyuu var word var byte rb var byte rd var byte keta0 var byte keta1 var byte keta2 var byte keta3 var byte keta4 var byte hyouzi0var byte hyouzi1var byte hyouzi2 var byte hyouzi3 var byte hyouzi4 var byte '------------------------------------------------- Define LCD_DREG PORTC ' Set LCD Define LCD_DBIT 4 Define LCD_RSREG PORTC Define LCD_RSBIT 2 Define LCD_EREG PORTC Define LCD_EBIT 3 Define LCD_BITS 4 '------------------------------------------------- ADCON1 = 7 ' Set PORT DIGITAL '------------------------------------------------- TRISA = %00000 ' Set PORT TRISB = %00000000 TRISC = %00000000 TRISD = %00000000 TRISE = %110 '------------------------------------------------- Pause 500 channel = 12500 bunnsyuu = 2286 gosub lcd goto main '-------------------------------------------------- lcd: keta0 = bunnsyuu DIG 0 keta1 = bunnsyuu DIG 1 keta2 = bunnsyuu DIG 2 keta3 = bunnsyuu DIG 3 rd = keta1 * 16 + keta0 poke portd,rd rb = keta3 * 16 + keta2 poke portb,rb hyouzi0 = channel DIG 0 hyouzi1 = channel DIG 1 hyouzi2 = channel DIG 2 hyouzi3 = channel DIG 3 @hyouzi4 = channel DIG 4 Lcdout $fe, 1, "AirBand Receiver" Lcdout $fe,$C0," ",#hyouzi4,#hyouzi3,#hyouzi2,$2e,#hyouzi1,#hyouzi0," ",$4d,$48,$7a return '-------------------------------------------------- main: if porte.1 = 0 Then up if porte.2 = 0 Then down goto main '------------------------------------------------- up: Pause 50 if porte.1 = 0 Then up1 goto main up1:pause 50 i = 0 for i = 1 to 20 if porte.1 = 1 then up3 i = i + 1 pause 50 next i while porte.1 = 0 channel = channel + 5 bunnsyuu = bunnsyuu + 1 if bunnsyuu <= 2586 Then up2 channel = 11000 bunnsyuu = 1986 up2:pause 20 gosub lcd wend goto main up3:channel = channel + 5 bunnsyuu = bunnsyuu + 1 if bunnsyuu <= 2586 Then up4 channel = 11000 bunnsyuu = 1986 up4: gosub lcd goto main '------------------------------------------------- down: Pause 50 if porte.2 = 0 Then down1 goto main down1: pause 50 i = 0 for i = 1 to 20 if porte.2 = 1 then down3 i = i + 1 pause 50 next i while porte.2 = 0 channel = channel - 5 bunnsyuu = bunnsyuu - 1 if bunnsyuu >= 1986 Then down2 channel = 14000 bunnsyuu = 2586 down2: pause 20 gosub lcd wend goto main down3: channel = channel - 5 bunnsyuu = bunnsyuu - 1 if bunnsyuu >= 1986 Then down4 channel = 14000 bunnsyuu = 2586 down4: gosub lcd goto main '-------------------------------------------------