当前位置: 首页 > news >正文

天河定制型网站建设电子商务网站开发的

天河定制型网站建设,电子商务网站开发的,专业网站搭建运营,上海中房建筑设计有限公司51单片机使用串口查看程序执行的数据 1.概述 这篇文章介绍利用串口输出程序执行的数据#xff0c;辅助我们调试程序#xff0c;提高代码定位问题的效率。 2.硬件电路原理 3.串口助手查看程序数据 输出串口数据的方式分为CPU查询方式和中断方式。他们各有优缺点#xff0…51单片机使用串口查看程序执行的数据 1.概述 这篇文章介绍利用串口输出程序执行的数据辅助我们调试程序提高代码定位问题的效率。 2.硬件电路原理 3.串口助手查看程序数据 输出串口数据的方式分为CPU查询方式和中断方式。他们各有优缺点在实际的项目中可以灵活选择。 CPU查询方式串口收发数据时刻都在占用CPU资源。 中断方式串口收发数据触发中断只有发生中断才会使用CPU资源。但是如果中断程序处理时间较长则会影响正常程序的执行。 3.1.中断方式查看串口数据 1.程序 在UART_init中断初始化函数中设置打开了总中断和串口中断当我们在STC-ISP软件中输入信息时候就会触发UART_R中断函数在串口助手中就可以看到输入的信息。 /********************************************************************************************* 程序名    UART串口中断方式程序实例 编写人    bruce  编写时间  2023年11月27日 硬件支持  STC12C2052AD 外部12MHZ晶振 接口说明  连接串口ISP下载线 修改日志  NO.1- /********************************************************************************************* 说明 用Windows系统中的“超级终端”软件将串口端设置 [ 48008无1无 ] 或采用STC-ISP软件中的串口助手功能将串口端设置 [ 48008无1无 ]向串口发送数据单片机将数据发还给PC端并显示。/*********************************************************************************************/#includeSTC12C2052AD.H //51头文件/********************************************************************************************* 函数名UART串口初始化函数 调 用UART_init(); 参 数无 返回值无 结 果启动UART串口接收中断允许串口接收启动T/C1产生波特率占用 备 注振荡晶体为12MHzPC串口端设置 [ 48008无1无 ] /**********************************************************************************************/ void UART_init (void){//打开和关闭中断打开时使用中断关闭时使用CPU查询方式。EA 1; //允许总中断如不使用中断可用//屏蔽ES 1; //允许UART串口的中断TMOD 0x20; //定时器T/C1工作方式2SCON 0x50; //串口工作方式1允许串口接收SCON 0x40 时禁止串口接收TH1 0xF3; //定时器初值高8位设置TL1 0xF3; //定时器初值低8位设置PCON 0x80; //波特率倍频屏蔽本句波特率为2400TR1 1; //定时器启动 }/********************************************************************************************* 函数名UART串口接收中断处理函数 调 用[SBUF收到数据后中断处理] 参 数无 返回值无 结 果UART串口接收到数据时产生中断用户对数据进行处理并发送回去 备 注过长的处理程序会影响后面数据的接收 /**********************************************************************************************/ void UART_R (void) interrupt 4 using 1{ //切换寄存器组到1unsigned char UART_data; //定义串口接收数据变量RI 0; //令接收中断标志位为0软件清零UART_data SBUF; //将接收到的数据送入变量 UART_dataSBUF UART_data; //将接收的数据发送回去删除//即生效while(TI 0); //检查发送中断标志位TI 0; //令发送中断标志位为0软件清零 } /********************************************************************************************* 函数名主函数 调 用无 参 数无 返回值无 结 果程序开始处无限循环 备 注 /**********************************************************************************************/ void main (void){UART_init();while(1){} }2.串口助手查看数据 将单片机通过USB链接到电脑打开STC-ISP软件将上面的程序烧录到单片机。 烧录程序注意 1.烧录程序时一定要选择外部晶振因为我们的电路中给单片机外接了12MHZ晶振。 2.烧录完成后将单片机20引脚的VCC5V电源断电在上电这样就切换为外部晶振。 以上两点要注意否则在串口助手中会出现发送和接收的数据不一致。 点击串口助手设置步骤如下 1.接收缓存区设置HEX模式2.发送缓存区设置HEX模式3.串口选择与烧录程序时同一个串口号4.波特率程序中设置的是4800因此这里也要设置48005.校验位选择无6.停止位选择17.打开串口8.在发送区域输入内容点击发送数据9.在接收区域可查看到发送的数据 3.2.CPU查询方式查看串口数据 1.程序 在UART_init中断初始化函数中去掉中断和串口中断代码当我们在STC-ISP软件中输入信息时候CPU就会实时处理在串口助手中就可以看到输入的信息。 电路原理图和STC-ISP软件操作方法同上面一致。 /********************************************************************************************* 程序名    UART串口中断方式程序实例 编写人    bruce  编写时间  2023年11月27日 硬件支持  STC12C2052AD 外部12MHZ晶振 接口说明  连接串口ISP下载线 修改日志  NO.1- /********************************************************************************************* 说明 用Windows系统中的“超级终端”软件将串口端设置 [ 48008无1无 ] 或采用STC-ISP软件中的串口助手功能将串口端设置 [ 48008无1无 ]向串口发送数据单片机将数据发还给PC端并显示。/*********************************************************************************************/#includeSTC12C2052AD.H //51头文件/********************************************************************************************* 函数名UART串口初始化函数 调 用UART_init(); 参 数无 返回值无 结 果启动UART串口接收中断允许串口接收启动T/C1产生波特率占用 备 注振荡晶体为12MHzPC串口端设置 [ 48008无1无 ] /**********************************************************************************************/ void UART_init (void){//打开和关闭中断打开时使用中断关闭时使用CPU查询方式。//EA 1; //允许总中断如不使用中断可用//屏蔽//ES 1; //允许UART串口的中断TMOD 0x20; //定时器T/C1工作方式2SCON 0x50; //串口工作方式1允许串口接收SCON 0x40 时禁止串口接收TH1 0xF3; //定时器初值高8位设置TL1 0xF3; //定时器初值低8位设置PCON 0x80; //波特率倍频屏蔽本句波特率为2400TR1 1; //定时器启动 }/********************************************************************************************* 函数名主函数 调 用无 参 数无 返回值无 结 果程序开始处无限循环 备 注 /**********************************************************************************************/ void main (void){unsigned char UART_data; //定义串口接收数据变量UART_init();while(1){if (RI 1){ //接收中断标志位为1时UART_data SBUF; //接收数据 SBUF 为单片机的接收发送缓冲寄存器RI 0; //令接收中断标志位为0软件清零SBUF UART_data; //将接收的数据发送回去删除//即生效while(TI 0); //检查发送中断标志位,为1表示在发送数据0为发送结束。TI 0; //令发送中断标志位为0软件清零}} }3.3.发送字母和中文字符 上面两个实例发送和接收是十六进制(HEX)不能显示字母和汉字下面介绍发送字母和汉字显示的方式。 1.程序 在代码开始增加了#include string.h头文件显示中文和字母UART_T函数用来接收输入的数据然后在串口助手中输出 /********************************************************************************************* 程序名    UART串口中断方式程序实例 编写人    bruce  编写时间  2023年11月27日 硬件支持  STC12C2052AD 外部12MHZ晶振 接口说明  连接串口ISP下载线 修改日志  NO.1- /********************************************************************************************* 说明 用Windows系统中的“超级终端”软件将串口端设置 [ 48008无1无 ] 或采用STC-ISP软件中的串口助手功能将串口端设置 [ 48008无1无 ]向串口发送数据单片机将数据发还给PC端并显示。/*********************************************************************************************/#includeSTC12C2052AD.H //51头文件 #include string.h/********************************************************************************************* 函数名UART串口初始化函数 调 用UART_init(); 参 数无 返回值无 结 果启动UART串口接收中断允许串口接收启动T/C1产生波特率占用 备 注振荡晶体为12MHzPC串口端设置 [ 48008无1无 ] /**********************************************************************************************/ void UART_init (void){//打开和关闭中断打开时使用中断关闭时使用CPU查询方式。//EA 1; //允许总中断如不使用中断可用//屏蔽//ES 1; //允许UART串口的中断TMOD 0x20; //定时器T/C1工作方式2SCON 0x50; //串口工作方式1允许串口接收SCON 0x40 时禁止串口接收TH1 0xF3; //定时器初值高8位设置TL1 0xF3; //定时器初值低8位设置PCON 0x80; //波特率倍频屏蔽本句波特率为2400TR1 1; //定时器启动 }/********************************************************************************************* 函数名UART串口发送函数 调 用UART_T (?); 参 数需要UART串口发送的数据8位/1字节 返回值无 结 果将参数中的数据发送给UART串口确认发送完成后退出 备 注 /**********************************************************************************************/ void UART_T (unsigned char UART_data){ //定义串口发送数据变量SBUF UART_data; //将接收的数据发送回去while(TI 0); //检查发送中断标志位TI 0; //令发送中断标志位为0软件清零 }/********************************************************************************************* 函数名UART串口发送字符串函数 调 用UART_TC (?); 参 数需要UART串口发送的数据8位/1字节 返回值无 结 果向串口发送一个字符串,长度不限。 备 注例UART_TC(d9887321$); 此函数需要#include string.h头文件支持。 /**********************************************************************************************/ void UART_TC (unsigned char *str){while(*str ! \0){UART_T(*str);*str;}*str 0; } /********************************************************************************************* 函数名主函数 调 用无 参 数无 返回值无 结 果程序开始处无限循环 备 注 /**********************************************************************************************/ void main (void){unsigned char UART_data;UART_init();while(1){UART_TC(value:);UART_T(0X305);} }2.串口助手 串口助手查看字符类型数据时将接收区域设置为文本模式
http://www.zqtcl.cn/news/541819/

相关文章:

  • 扬州市网站建设工作室免费模板网站建设
  • 网站大全全部优秀网站设计流程
  • 授权网站系统网站标题如何修改
  • 商城网站大概多少钱考证培训机构报名网站
  • 马鞍山做网站怎么看网站谁做的
  • 网站建设捌金手指专业7网站如何设置广告
  • 做网站用什么浏览器好工程公司工作总结
  • 温州做网站哪家好为wordpress移动端
  • 温州平阳县企业网站搭建推荐建立网站的技术路径
  • php c2c网站开发的 书营销型网站sempk
  • 网站建设专业网站设计公司物格网陕西建省级执法人才库
  • 网站后台管理密码忘了建设网站简单吗
  • 做网站在哪里网站开发平台有哪些
  • 网站域名的建立推荐一个两学一做的网站
  • 网站开发开源框架企业影视广告制作公司
  • 网站建设人员的组织音乐网站建设目标
  • 动画制作软件下载安装网站seo置顶
  • 怎么做网站推广的步骤关闭评论 WordPress
  • 合肥建站费用学生做兼职去哪个网站
  • 万户网络做网站如何做网站的企业排名
  • 天猫网站左侧菜单向右滑出的导航菜单阜阳h5网站建设公司
  • 凡科做网站的方法wordpress备份如何安装
  • 网站备案依据四川省广安建设局网站
  • 网站后台管理系统模板品牌营销和品牌推广
  • 网站建设的整个流程图wordpress标题去重
  • 网站手机版模板做拼货商城网站
  • wordpress建自己的网站吗c2c网站的特点
  • 建设网站的成本有哪些龙岩做网站哪家最好
  • wordpress 多站点 子目录安徽望江县城乡建设局官方网站
  • 电子政务网站建设的步骤一般为俱乐部logo免费设计在线生成