PC与51单片机串口通信(8)
时间:2025-07-13
时间:2025-07-13
PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!
//输入命令子程序,MCU从CH452读一个字节 unsigned char CH452_Read() { unsigned char i;
unsigned char cmd,keycode; //定义命令字,和数据存储器 #ifdef USE_KEY
DISABLE_INTERRUPT; //禁止键盘中断,防止传输过程中被CH452中断
//进入中断服务程序中再次传输
#endif
cmd=0x07; //输入读451命令字 CH452_LOAD_CLR; for(i=0;i!=4;i++) { if (cmd&1) {CH452_DIN_SET;} else {CH452_DIN_CLR;} // 输出位数据 CH452_DCLK_CLR; cmd>>=1; //往右移一位 CH452_DCLK_SET; //产生时钟上升沿锁通知CH451输入位数据 }
CH452_LOAD_SET; //产生加载上升沿通知CH451处理命令数据 keycode=0; //清除keycode for(i=0;i!=7;i++) { keycode<<=1; //数据移入keycode,高位在前,低位在后 keycode|=CH452_DOUT; //从高到低读入451的数据 CH452_DCLK_CLR; //产生时钟下升沿通知CH451输出下一位 CH452_DCLK_SET; }
CLEAR_INTER_FLAG; //清中断标志 #ifdef USE_KEY
ENABLE_INTERRUPT; #endif
return(keycode); //反回键值 }
//延时函数
void delayms(unsigned char i) { unsigned int j; do{ for(j=0;j!=1000;j++) {;} }while(--i); }
上一篇:特岗教师三年以来个人工作总结
下一篇:山东丝绸纺织职业学院