实验目的:

  • 1.掌握51单片机串口工作模式及相关寄存器配置方法
  • 2.了解51单片机波特率的计算方法
  • 3.掌握单片机串口接收中断服务函数的设计方法
    程序说明:
  • 1.通过USB连接线连接PC机,在计算机硬件管理器中查看串口号
  • 2.打开串口调试工具软件,并将串口通讯波特率设定为2400
  • 3.将跳线J13配置为MM模式
  • 4.输入1-8字符,控制8个LED指示灯状态

基于国信长天单片机竞赛实训平台的串口程序设计如下

#include "reg52.h"  //定义51单片机特殊功能寄存器
#include "absacc.h"#define BAUD        2400       //波特率
#define SYSTEMCLOCK  11059200L  //系统时钟频率sfr AUXR  = 0x8e;bit rxc = 0;
char rx = '1';
void uart_sendstring(unsigned char *str);//主函数
void main(void)
{SCON = 0x50;AUXR = 0x40;                //1TTMOD = 0x00;                //TL1 = (65536 - (SYSTEMCLOCK/4/BAUD));   //TH1 = (65536 - (SYSTEMCLOCK/4/BAUD))>>8;TR1 = 1;ES = 1;EA = 1;while(1){if(rxc == 1) {rxc = 0;switch(rx) {case '1':XBYTE[0x8000] = 0xFE;break;case '2':XBYTE[0x8000] = 0xFD;break;case '3':XBYTE[0x8000] = 0xFB;break;case '4':XBYTE[0x8000] = 0xF7;break;case '5':XBYTE[0x8000] = 0xEF;break;case '6':XBYTE[0x8000] = 0xDF;break;case '7':XBYTE[0x8000] = 0xBF;break;case '8':XBYTE[0x8000] = 0x7F;break;default:uart_sendstring("error\r\n");  //输入其他数据返回errorbreak;}ES = 1;}}
}//串口中断服务函数
void isr_uart(void) interrupt 4
{if(RI){RI = 0;  //清除接收标志位rx = SBUF;ES = 0;rxc = 1;}
}//通过串口发送字符串
void uart_sendstring(unsigned char *str)
{unsigned char *p;p = str;while(*p != '\0'){SBUF = *p;while(TI == 0);  //等待发送标志位置位TI = 0;p++;}
}

蓝桥杯国信长天单片机--串口程序设计(十)相关推荐

  1. 蓝桥杯国信长天单片机--LED灯模块(五)

    LED等内部连接示意图 整体思路 通过74HC138芯片及74HC02芯片输入高低电平,来控制Y4C为1或0.当Y4C为1时,方可通过P0端口来控制LED灯的亮灭.当Y4C为0时,无法控制LED灯的亮 ...

  2. 蓝桥杯国信长天单片机--硬件环境(一)

    CT107D 单片机由以下功能模块组成 1.功能模块 (1)单片机芯片 配置IAP15F2K61S2单片机 (2)显示模块 配置8路LED输出L1-L8 配置8位8段共阳极数码管DS1-DS2 配置L ...

  3. 蓝桥杯国信长天单片机--程序下载(三)

    STC-ISP 程序下载 (1)打开下载界面:双击 stc-isp-15xx-v6.86.exe 运行程序,出现如图. (2)选择单片机型号:在左上方的"单片机型号"下拉列表中选择 ...

  4. 蓝桥杯国信长天单片机--软件环境(二)

    Keil Vision5 集成开发环境建立工程 第一步: 单击"Project"菜单下的"New Vision Project-"菜单项启动新工程的建立,出现新 ...

  5. 蓝桥杯国信长天单片机--数码管模块(六)

    数码管内部连接示意图 设备连接关系图 什么是位选,什么是段选? 假设我们有4个数码管,我想让某1个数码管显示对应的数字,我就需要先选中它,选中这个数码管的过程就叫位选:一般单个数码管都是8段(带小数点 ...

  6. 蓝桥杯国信长天单片机实战--数码管的动态显示

    一.原理分析 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管 ...

  7. 蓝桥杯国信长天单片机--超声波测距设计(十一)

    理论基础 超声波模块的工作原理:单片机供给超声波信号端Trig一个最少10us长的高电平触发信号,模块自动发射8个40khz的方波,同时自动检测到信号是否返回,一旦有信号返回,Echo端输出一个高电平 ...

  8. 蓝桥杯国信长天单片机--独立按键和矩阵键盘模块(七)

    独立按键模块 1-2短接实现矩阵按键:2-3短接实现独立按键. 案例: 独立按键,S6,打开所有LED ,S7,关闭所有LED.S4 ,打开蜂鸣器,S5,关闭蜂鸣器 #include "re ...

  9. 蓝桥杯国信长天单片机实战--复习

    1.LED 例1:LED1和LED3点亮 #include<stc15f2k60s2.h>void main(){P2=0xA0;P0=0X00;P2=0X80;P0=0XFF;while ...

最新文章

  1. 准确度判断 语义分割_Mask R-CNN(目标检测语义分割)测试
  2. AWS - Couldformation 初探
  3. tomcat正常启动但是访问 404
  4. Python入门100题 | 第054题
  5. 【算法】漫画:如何找到链表的倒数第n个结点?
  6. MySQL常用语句一、连接MySQL格式:mysql-h主机地址-u用户名-p用户密
  7. html 圆环实现多种颜色,SVG实现多彩圆环倒计时效果的示例代码
  8. 省选+NOI 第八部分 数论
  9. [转]Spinner的常用技巧
  10. OpenShift 4 之获取版本升级路径图
  11. bug 执行nrm 报错internal/validators.js:121 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value);
  12. yum源分类:Linux
  13. 12.PHP-FPM
  14. 小程序测试关注点之一-登录授权
  15. Linux上修改open files数目
  16. Ant 执行 YUICompressor
  17. 计算机声卡电路分析,几款经典简单的声卡话筒功放电路分析
  18. 什么是软件测试?简介,基础知识和重要性
  19. 论文--Learning to Predict Bus Arrival Time From Heterogeneous Measurements via Recurrent Neural Networ
  20. 0205函数的微分-导数与微分-高等数学

热门文章

  1. 华北科技学院计算机系qq群,华北科技学院操作系统综合实验.doc
  2. react——强制刷新页面三种方式(更)
  3. Jenkins中参数的使用
  4. vsftp日志查看_vsftp日志配置
  5. Oracle的SID和Server_Name
  6. 可视化软件之Power BI的安装与下载
  7. Laravel 好玩、好用扩展推荐(持续更新)
  8. SPV210_dwn刷机步骤
  9. 当 IT 直男约女生去看电影
  10. boost库使用串口