安徽财贸职业学院毕业设计
附录 3 实物图
- 23 -
安徽财贸职业学院毕业设计
附录 4 源程序
#include
#define uint unsigned int #define uchar unsigned char
sbit speaker=P1^4;//喇叭接30脚 uchar a,b,num1,s1num,n1,n2; char num;//定义num为可以负数
uchar code yinfu[]={0xfb,0xe9, //Do 0xfc,0x5c, //Re 0xfc,0xc1, //Mi 0xfc,0xef, //Fa 0xfd,0x45, //So 0xfd,0x92, //La 0xfd,0xd0, //Si 0xfd,0xee, //Do# 0x00,0x00, //间隔 };
void check_key();//改为P3组为按键 void keyscan();
void turn();//顺时针流动 void back();
void delay(uint z);//延时函数声明
void delay1(void);//声明第二个延时函数 void main() { TMOD=0x01; TH0=a; TL0=b; ET0=1;//打开定时器,但是未允许中断 TR0=1; while(1) { check_key(); keyscan(); } }
void time0() interrupt 1 { TH0=a; TL0=b; speaker=~speaker; }
- 24 -
安徽财贸职业学院毕业设计
void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
void keyscan() { if(key1==0) { delay(5); if(key1==0) { s1num++; while(!key1); if(s1num==1) { turn(); } } if(s1num==2) { back(); } if(s1num==3) { qianhou(); } if(s1num==4) { dangshuang(); } if(s1num==5) s1num=1; } if(key2==0) { delay(5); while(~key2); play1(); } }
void delay1(void)//第二个延时函数
- 25 -
安徽财贸职业学院毕业设计
{
uchar n=15; while(n--) {
uchar i;
for(i=0;i<125;i++); } }
- 26 -