单片机课程设计
} } } ds=1; //低位为0 else { } ds=0; //产生一个上升沿 SCK=0; SCK=1; SCK=0; data_>>=1; RCK=0;//显示数据 RCK=1; RCK=0; void WriteS(uchar data1,uchar data2) { } void yimaqi_154(uchar W) {
write_595(data2); write_595(data1); EN=0;//使能 switch(W) { case 16: { } case 15: { A_=0; B_=1; 20
A_=1; B_=1; C_=1; D_=1; break; 单片机课程设计
} C_=1; D_=1; break; case 14: { } case 13: { } case 12: { } case 11: { } case 10: { 21
A_=1; B_=0; C_=1; D_=1; break; A_=0; B_=0; C_=1; D_=1; break; A_=1; B_=1; C_=0; D_=1; break; A_=0; B_=1; C_=0; D_=1; break; 单片机课程设计
} A_=1; B_=0; C_=0; D_=1; break; case 9: { } case 8: { } case 7: { } case 6: { } 22
A_=0; B_=0; C_=0; D_=1; break; A_=1; B_=1; C_=1; D_=0; break; A_=0; B_=1; C_=1; D_=0; break; A_=1; B_=0; C_=1; D_=0; break; 单片机课程设计
case 5: { } case 4: { } case 3: { } case 2: { } case 1: { A_=0; B_=0; C_=0; D_=0; 23
A_=0; B_=0; C_=1; D_=0; break; A_=1; B_=1; C_=0; D_=0; break; A_=0; B_=1; C_=0; D_=0; break; A_=1; B_=0; C_=0; D_=0; break; 单片机课程设计
} } } break; void delay1(uint z) { } void init() { } void irwork() 们转换为16进制的 { }
24
uint x,y; for(x=z;x>0;x--) for(y=7;y>0;y--); //定时器T0初始化 //T0工作于工作方式2,8位自动重装 TMOD=0X02; TH0=0X00; TL0=0X00; ET0=1; EA=1; TR0=1; IT0=1; EX0=1; EA=1; //允许定时器T0工作 //启动定时器 //中断方式为下降沿有效 //外部中断0中断允许控制位 //中断允许总控制位 //接收到的那些数据是二进制的数据,现在把他disp[0]=ircode[0]/16; disp[1]=ircode[0]; disp[2]=ircode[1]/16; disp[3]=ircode[1]; disp[4]=ircode[2]/16; disp[6]=ircode[3]/16; disp[7]=ircode[3]; // 数据码1 //数据码1 disp[5]=ircode[2];