【STC8G1K08A串口使用】

这篇具有很好参考价值的文章主要介绍了【STC8G1K08A串口使用】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


STC8G1K08A单片机

stc8g1k08a,STC,单片机,嵌入式硬件

stc8g1k08a单片机引脚功能:

stc8g1k08a,STC,单片机,嵌入式硬件

1.实际接线

stc8g1k08a,STC,单片机,嵌入式硬件
因为内置晶振,所以不需要外接晶振。图中VCC,GND跨接电容起到退耦作用,在通断电时保护单片机。CH340N模块的TX跟RX分别接到STC8G1K08A的RX(5号引脚,也就是程序中的P3.0)跟TX(6号引脚,也就是程序中的P3.1)上,下面是实物接线图:
stc8g1k08a,STC,单片机,嵌入式硬件
stc8g1k08a,STC,单片机,嵌入式硬件

一、使用串口前先配置串口

这里我们使用宏晶的STC-ISP软件进行波特率配置

stc8g1k08a,STC,单片机,嵌入式硬件

1.系统频率选择11.0592MHz(STC8G1k08a的运行频率可以在下载程序的时候进行设置,最大为35MHz)
2.波特率设置为9600bps
3.定时器时钟为1T
4.使能串口中断
5.生成c代码复制到keil

二、使用步骤

1.添加STC库

stc8g1k08a,STC,单片机,嵌入式硬件
选择
stc8g1k08a,STC,单片机,嵌入式硬件

添加后就可以使用<stc8g.h>了

例程完整代码

代码如下:

#include<stc8g.h>
#include<stdio.h>
void setup();
void loop();
void Uart1_Init(void);
void Sendbyte(unsigned char dat);
void delayms(unsigned int delay_time_ms);
char putchar(char c);
void main(){setup();while(1)loop();}//主程序

unsigned char recv;//收到的8位数据

void setup(){//初始化函数
  Uart1_Init();
  
}

void loop(){//循环执行函数
  delayms(1000);
  printf("Hello World");
}



void Uart1_Init(void)	//9600bps@11.0592MHz
{
	SCON = 0x50;		//8位数据,可变波特率
	AUXR |= 0x40;		//定时器时钟1T模式
	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//设置定时器模式
	TL1 = 0xE0;			//设置定时初始值
	TH1 = 0xFE;			//设置定时初始值
	ET1 = 0;			//禁止定时器中断
	TR1 = 1;			//定时器1开始计时
	ES = 1;				//使能串口1中断
	EA = 1;       //使能总中断
}


void Sendbyte(unsigned char dat){//发送8位数据到串口
  SBUF = dat;
  while(!TI);
  TI=0;
}


void delayms(unsigned int delay_time_ms){//延时X毫秒函数
  while(delay_time_ms){
	  unsigned char data i, j;

	  i = 15;
	  j = 90;
	  do
	  {
		  while (--j);
  	} while (--i);
    delay_time_ms--;
	}
}



char putchar(char c){//重定义printf()函数,用于串口打印信息
  Sendbyte(c);
  return c;
}

void Read_UART()interrupt 4{//串口中断时执行
  if(RI){
	  RI=0;
		recv = SBUF;
	  switch(recv){
		  case '0':printf(" recv:0 \n");break;
		  case '1':printf(" recv:1 \n");break;
			case '2':printf(" recv:2 \n");break;
			case '3':printf(" recv:3 \n");break;
			default:printf("NO\n");break;
		}
	}
}

下载程序后打开串口监视器每秒会收到一次“Hello world”
stc8g1k08a,STC,单片机,嵌入式硬件

发送0,1,2,3这四个数,单片机会回复:“recv”。
stc8g1k08a,STC,单片机,嵌入式硬件
发送其他数,回复“NO”
stc8g1k08a,STC,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-860654.html

到了这里,关于【STC8G1K08A串口使用】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STC8h1k28六个基本实验

    实验内容: 项目1: 参考原理图,设计1位闪烁灯程序,每次亮、灭时长均为500ms。 项目2: 参考原理图,设计三色流转灯程序,GRB三种颜色的LED轮番点亮,每次只亮一盏,每次点亮时长为500ms。 原理图: 实验原理: (共阳)LED负极接单片机IO口(P00P01P02),当IO口输出低电

    2024年02月04日
    浏览(35)
  • 【STC8】热启动&&串口指令下载

      在目标开发板没有装载自动下载电路的时候,往往需要冷启动,也就是需要手动开关电源,来达到单片机复位下载。当然还有一种方法是热启动,通过串口接收到自定义的指令后,软件执行复位下载。这就是本文介绍的内容。 开发板:STC8A8K64S4A12开发板(用的是STC8A8K64

    2024年02月06日
    浏览(70)
  • STC8H系列单片机IAP实现不停电下载(通过串口)

    在使用串口往STC单片机烧录程序时,需要冷启动,先点击下载再上电。这样做有一定的缺点。首先,一些特殊的外围电路要求一直保持有电状态,有些客户需求我们能远程操控设备就可以升级程序,而不需要去现场断电设备。其次,频繁的断电上电操作也比较麻烦。 STC 单片

    2024年02月03日
    浏览(54)
  • 一键使用PWM并输出,STC8H系列库函数,PWM外设教程

    随着STC单片机的发展,外设功能也不断增加,开发时间也慢慢的延长了很多博主为了缩短开发时间自己开发了一种库文件。可以一键使用外设,顾名思义就是我们不用再去配置寄存器不用再去看开发手册只需要对外设有一定了解便可以非常灵活的使用这个库函数,并且我在每

    2024年02月15日
    浏览(29)
  • STC8学习 ——ADC 1

    注意:  uint8_t正常左移8位是0,但如果赋值给uint16_t就占uint16_t中高8位,要保留数据就要把八位数据左移8位后赋给16数据,继续赋给8位数据,结果就是0 注意:通过ADC采集数据并输出电压的原理是  电压和对应ADC端口采集结果的比值是恒定的 ADC第15通道采集的内部参考电压值

    2023年04月24日
    浏览(60)
  • STC8学习5 - 定时器

    定时器也可以做为计数器,其实他们本质上的原理是一样的,定时器是计数单片机内部的系统时钟,每1个或者12个时钟脉冲,就加一。计数器则是记录外部输入脉冲。 1. 定时器0有四种工作模式,这里使用的是定时器0的16位可重新装载模式,16位(0x0000~0xFFFF)即可以从0数到

    2024年02月06日
    浏览(30)
  • STC8比较器功能案例介绍

    📌相关篇《STC8功能脚切换相关寄存器P_SW1和P_SW2以及MCLKOCR介绍》 📋基于内部参考电压源,使用外部端口P3.7作为比较器正极输入源,比较器结果输出到P3.4 或者P4.1(由P_SW2 中的CMPO_S 进行设定)上。 📑实验说明 🌿采用10K电位器,0 - 5V可调电压范围,可调端接到P37外部端口引

    2024年02月08日
    浏览(26)
  • 单片机STC8H入门

      STC8H系列单片机是不需要外部晶振和外部复位的单片机。在相同的工作频率下,STC8H系列单片机比传统的8051快约12倍,是宽电压/高速/高可靠/低功耗/强抗静电/较强干扰的新一代8051单片机。 用常用的C51版的keil安装,可以进入下面链接下载: https://download.csdn.net/download/wei

    2024年02月02日
    浏览(33)
  • 『STC8H8K64U』概述

            大家好,我是初尧.C。希望看完这篇文章对你能有所帮助,不足之处请指正~📝         本文由初尧.C 原创 CSDN首发 如需转载还请通知🚫         📌无端坠入凡生梦. 却惹三千烦恼丝📌         欢迎各位💘点赞+收藏+留言💖         系列专栏― STC8H8K64U🎨     

    2024年02月05日
    浏览(31)
  • STC8H_PWM制作呼吸灯

    PWM边沿对齐模式 寄存器描述 输出使能寄存器(PWMx_ENO) 功能实现说明: 通过定时器递增或递减来设置PWM的占空比调节亮度,最终显示出呼吸灯的效果 代码部分 PWM程序模块 主函数部分 中断部分

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包