当前位置:首页 > 简易电子琴设计 - 图文
1 电阻 R 1,R2, R3 ,R4 ,R5 10kΩ 5 2 3 4 5 6 电阻 电容 电容 电解电容 按钮 R4 C6,C7, C5 C1,C2, C4 S1,S2,S3,S4, S5,S6,S7,S8, S9,S10,S11,S12, S13,S14,S15,S16 220Ω 30pF 0.1uF 10uF SW-PB 1 2 1 3 16 7 3实物图:
数码管 U3 DPY7_SEG_DP 1
4、源程序
23
#include\
/*unsigned char code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};*/
unsigned char code table[]={0x5f,0x06,0x3b,0x2f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x59,0x3e,0x79,0x71}; sbit P1_0=P1^0; sbit P3_6=P3^6; sbit P3_7=P3^7; sbit P3_4=P3^4; sbit P3_5=P3^5; unsigned char temp; unsigned char key; unsigned char i,j; unsigned char STH0; unsigned char STL0;
unsigned int code tab[]={64021,64103,64260,64400, 64524,64580,64684,64777,
24
64820,64898,64968,65030, 65058,65110,65157,65178}; void main(void) {
TMOD=0x01; ET0=1; EA=1; while(1) { P3=0xff; P3_4=0; temp=P3;
temp=temp & 0x0f; if (temp!=0x0f) {
for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3;
temp=temp & 0x0f; if (temp!=0x0f) {
25
temp=P3;
temp=temp & 0x0f; switch(temp) {
case 0x0e: key=0; break; case 0x0d: key=1; break; case 0x0b: key=2; break; case 0x07: key=3; break; } temp=P3; P1_0=~P1_0; P0=table[key]; STH0=tab[key]/256;
26
共分享92篇相关文档