串口通信c程序

时间:2016-02-09 23:29:36
【文件属性】:

文件名称:串口通信c程序

文件大小:3KB

文件格式:C

更新时间:2016-02-09 23:29:36

串口通信

串口通信程序,附带详细说明! //程序功能:接收串口发过来的字符,当字符分别为12345的时候分别返回OKMCU字母,当为其他字符的时候,把接收内容返回。 #include #include //内部包含延时函数 _nop_(); typedef unsigned char u8; typedef unsigned int u16; sbit SER_595 =P1^0; //串行数据输入 sbit SCK_595 =P1^1; //移位时钟脉冲 sbit RCK_595 =P1^2; //输出锁存器控制脉冲 u8 i,j,k; u8 code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, //数码管编码 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; u8 temp,buf; //u8 disbuf[2]={0x00,0x00}; void sdelay(u8 n) //延时程序 { u8 i; for(i=n;i>0;i--); } /******************************************************* * * * 驱动函数 595 * * * *******************************************************/ void smg595(u8 byte) { u8 num,c; num=byte; for(c=0;c<8;c++) { SCK_595=0; num=num<<1; SER_595=CY; SCK_595=1; } for(c=0;c<8;c++) { SCK_595=0; SER_595=0; SCK_595=1; } RCK_595=0; RCK_595=1; } void dis8(u8 r,u8 c) //数码管显示程序(第c个数码管显示r) { smg595(~(1<>4,6); } /********************************************************** * * * 主程序 * * * **********************************************************/ main() { SCON=0x50; //串口模式1,允许接收;SM0 SM1 = 01; REN=1; T2CON=0x30; //定时器T2作为波特率发生器 EA=1; ES = 1; //允许串口中断 RCAP2H=0xFF; RCAP2L=0xDC; //波特率9600 TH2=0xFF; TL2=0xDC; TR2=1; //启动定时器 T2 while(1) { play(); } } /*********************************************************/


网友评论

  • 不错 挺好用的,找了好几天了,终于找到了,很感谢啊!
  • 很好,谢谢哈~
  • 很有帮助,谢谢分享~
  • 很好。帮助很大
  • 我用不了,
  • 代码暂时没有用
  • 资源还可以,稍微修改一下能用
  • 可以借鉴,挺不错的
  • 试了一下,不能用。
  • 值得推荐的程序,值得参考!
  • 这个资源还可以,稍微修改一下能用
  • 值得推荐的程序,值得参考!
  • 比较不错,值得推荐
  • 还可以,虽然不能直接嫁接,但可以借鉴,继续努力。