⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t.c

📁 这是《Keil Cx51 V7.0单片机高级语言编程与uVision2应用实践》教材各章中列出的全部程序例子。
💻 C
字号:
    #include <reg51.h>
    #define COUNT 10                         /* 定义发送缓冲区大小 */
    #define NODE_ADDR 64                     /* 定义目的节点地址 */
    unsigned char buffer[COUNT];             /* 定义发送缓冲区 */
    int pointer;                             /* 定义当前位置指针 */
    main() {
    /* 发送缓冲区初始化 */
       while(pointer<COUNT) {
	      buffer[pointer]='A'+pointer;
	      pointer++;
       }
    /* 初始化串行口和波特率发生器 */
       SCON=0xc0;
       TMOD=0x20;
       TH1=0xfd;
       TR1=1;
       ET1=0;
       ES=1;
       EA=1;
       pointer=-1;
    /* 发送地址帧 */
       TB8=1;
       SBUF=NODE_ADDR;
    /* 等待全部数据帧发送完毕 */
       while(pointer<COUNT);
          /* ...... */
    }

    /* 发送中断服务函数 */
    void send(void) interrupt 4 using 3 {    
    /* 清发送中断标志并修改发送缓冲区当前位置指针 */
       TI=0;
       pointer++;
    /* 如果全部数据发送完毕则返回, 否则发送一帧数据 */
       if(pointer>=COUNT) return;
       else {
      	  TB8=0;                             /* 设置数据帧标志 */
      	  SBUF=buffer[pointer];              /* 启动发送 */
       }
     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -