//********************************************************************** void main() { unsigned char tbl[] = { 0b11100000 | 7, 0b11100000 | 9, 0b11100000 | 11, 0b11100000 | 13, 0b11100000 | 14, 0b11100000 | 14, 0b11100000 | 13, 0b11100000 | 11, 0b11100000 | 9, 0b11100000 | 7, 0b11100000 | 5, 0b11100000 | 3, 0b11100000 | 1, 0b11100000 | 0, 0b11100000 | 0, 0b11100000 | 1, 0b11100000 | 3, 0b11100000 | 5, 0b11100000, 0b11100001, 0b11100010, 0b11100011, 0b11100100, 0b11100101, 0b11100110, 0b11100111, 0b11101000, 0b11101001, 0b11101010, 0b11101011, 0b11101100, 0b11101101, 0b11101110, 0b11101111, }; unsigned char i; CMCON = 0b00000111; TRISA = 0b11111111; while (1) { if (PORTA.F0 == 1) { for (i = 0; i < 18; i++) // サイン波 VRCON = tbl[i]; } else { for (i = 18; i < 34; i++) // のこぎり波 VRCON = tbl[i]; } } } //**********************************************************************