
STC8
文章平均质量分 94
电子友人张
NORDIC系列 STC系列 STM系列 单片机 开发板
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【STC8A8K64D4开发板】第3-10讲:SG90舵机驱动
1.学习目的1.了解SG90舵机的相关参数、控制方式。2.编程用PWM驱动SG90舵机,通过按键改变舵机旋转角度。原创 2024-08-03 15:22:10 · 1134 阅读 · 0 评论 -
【STC8A8K64D4开发板】第3-9讲:手势识别(基于PAJ7620U2)
学习目的了解IK-PAJ7620U2手势识别传感器模块的功能。掌握IK-PAJ7620U2的I2C协议、操作流程,并编程实现配置IK-PAJ7620U2工作于接近检测和手势识别模式以及读取检测结果。原创 2024-08-01 16:18:31 · 1115 阅读 · 0 评论 -
【STC8A8K64D4开发板】第3-8讲:超声波测距(基于HC-SR04)
一个用作发射器,当接收到“Trig”引脚的触发信号后对外发射40 KHz超声波脉冲,另外一个用作接收器,监听到发射器发射的脉冲后,“Echo”引脚将产生一个输出脉冲,该脉冲宽度为超声波发出到接收的时间,由此可确定脉冲传播的距离。Timer0用于测试回响信号高电平持续时间,这里我们需要计算一下,以确保Timer0的最大溢出时间大于回响信号高电平持续时间,这样,我们每次测量时,就可以让Timer0从0开始计数,测量完成后读出Timer0的计数值即可计算出时间,同时,还可以利用定时器的溢出中断判断测量是否超时。原创 2024-07-29 17:41:47 · 1419 阅读 · 0 评论 -
【STC8A8K64D4开发板】第3-7讲:声音探测传感器
1.学习目的1.了解声音探测传感器模块的作用。2.掌握单片机编程读取声音探测传感器模块引脚输出状态,从而判断周围环境声音强度有没有达到设置的阈值。原创 2024-07-25 15:46:04 · 1327 阅读 · 0 评论 -
【STC8A8K64D4开发板】第3-6讲:光照强度测量(基于BH1750)
学习目的了解BH1750光照强度传感器。掌握单片机编程使用BH1750的连续高分辨率模式和单次高分辨率模式下测量光照强度。原创 2024-07-15 14:17:47 · 1092 阅读 · 0 评论 -
【STC8A8K64D4开发板】第3-5讲:人体红外感应传感器
学习目的了解人体红外感应传感器的功能。掌握单片机编程读取人体红外感应传感器数字输出状态,从而判断有没有人。原创 2024-07-15 11:20:50 · 1718 阅读 · 0 评论 -
【STC8A8K64D4开发板】第3-4讲:雨滴传感器检测雨水
1.学习目的1.了解雨滴传感器的功能。2.掌握单片机编程读取雨滴传感器数字输出和模拟输出,从而判断有没有下雨。原创 2024-07-13 14:46:21 · 1426 阅读 · 0 评论 -
【STC8A8K64D4开发板】第3-3讲:LCD1602液晶显示模块的应用
1.学习目的1.了解LCD1602显示模块涉及到的3种存储器:CGROM、CGRAM和DDRAM。2.掌握LCD1602显示模块的显示原理:DDRAM和字符显示区域是如何对应的,写DDRAM时写入的数据和显示的字符如何关联起来的。3.根据LCD1602显示模块的读写时序和指令集,编写LCD1602显示模块的驱动程序。原创 2024-07-13 14:32:58 · 1509 阅读 · 0 评论 -
【STC8A8K64D4开发板】第3-2讲:温湿度传感器DHT11
学习目的了解DHT11数字温湿度传感器的基本原理及其数据格式。掌握STC8A8K64D4与DHT11单总线通信的程序设计,通信步骤,数据校验等。原创 2024-06-19 15:37:44 · 1199 阅读 · 0 评论 -
【STC8A8K64D4开发板】第3-1讲:温度传感器DS18B20
1.学习目的1.了解DS18B20数字温度传感器的基本原理及其数据格式。2.掌握STC8A8K64D4与DS18B20单总线通信的程序设计,通信步骤,数据校验等。原创 2024-06-18 15:52:57 · 1494 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-19讲:4×4矩阵按键识别
单片机设计中,按键作为一种常用的人机接口被广泛应用,在家用、娱乐、工控等设备上都可以见到按键的应用。我们最常用的两种按键接入方式是独立按键和矩阵按键。原创 2024-03-21 17:00:53 · 1818 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-18讲:直接存储器访问(DMA)
DMA全称是Direct Memory Access,即直接存储器访问。DMA的作用是从一个地址空间在无需CPU干预的情况下将数据“搬运”到另一个地址空间,由此实现外设和存储器之间或者存储器和存储器之间的高速数据传输。原创 2024-03-20 16:16:37 · 1816 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-17讲:PCA实现数模转换(DAC)
DAC (全称是Digital to Analog Convertor)数模转换器是一种将数字信号转换为模拟信号(以电流、电压或)的设备或电路。在很多数字系统中(例如计算机、单片机),信号以数字方式(0或者1)存储和传输,而数模转换器DAC可以将这样的信号转换为模拟信号,从而使得他们能够被外界(人或其他非数字系统)识别。数模转换器DAC的常见用法是在音乐播放器中将数字形式存储的音频信号输出为模拟的声音。原创 2024-03-20 14:16:13 · 1278 阅读 · 1 评论 -
【STC8A8K64D4开发板】第2-16讲:可编程计数器阵列PCA
PCA全称是可编程计数器阵列(Programable Counter Array),其中P表示可以编程控制、C表示计数器、A表示阵列,即有多路通道。他和我们前面学习的定时/计数器类似,对于初学者,可以把他理解为一个功能更加强大的定时/计数器。原创 2024-03-15 14:39:26 · 1857 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-15讲:脉宽调制PWM
另外, PWM 波形发生器为每路 PWM 又设计了两个用于控制波形翻转的计数器 T1/T2,可以非常灵活的控制每路 PWM 的高低电平宽度,从而达到对 PWM 的占空比以及 PWM 的输出延迟进行控制的目的。可设定 1~32767 之间的任意值作为 PWM 的周期,PWM 波形发生器内部的计数器从 0 开始计数,每个 PWM 时钟周期递增 1,当内部计数器的计数值达到[PWMCH,PWMCL]所设定的 PWM 周期时,PWM 波形发生器内部的计数器将会从 0 重新开始开始计数。即输出一定占空比的波形。原创 2024-03-11 15:54:57 · 1538 阅读 · 3 评论 -
【STC8A8K64D4开发板】第2-14讲:I2C总线的应用
I2C数据传输如下图所示,在起始条件(S)后,发送从机地址,从机地址是7位,从机地址后紧跟着的第8位是读写位(R/W),读写位为0表示写,读写位为1表示读。按页写时如果地址跨页,会出现如下图所示的情形:我们期望从地址0x04开始连续写入“A B C D E F”6个数据,但是实际写时,因为写地址增加到0x07后自动复位到0x00,所以实际写入的地址0x04~0x07写入“A B C D”4个数据,地址0x00和0x01写入“E”和“ F”2个数据。如下图所示,按页写时如果地址没有超过当前页面,写入正确。原创 2024-03-09 16:45:05 · 1011 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-13讲:SPI总线的应用
SPI的4种模式中,最常用的是模式0和模式3。正是由于SPI有4种通信模式,因此当我们使用SPI总线时,需要去查询SPI总线中主机设备(如STC8A8K64D4)和从机设备(如SPI Flash)的数据手册,确定他们支持什么模式,从而选择适合的通信模式。因为Flash的编程原理都是只能将各个bit由1写为 0,而不能将0写为1,因此在Flash编程之前,为了保证写入的正确性,必须将对应的扇区擦除,擦除操作会将该扇区的内容全部恢复为0xFF,这样执行写入操作就可以正确执行了。原创 2024-02-23 17:04:48 · 1359 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-12讲:数码管显示
这里,定义一个变量“ledseg_nod”用于记录数码管的位,每次刷新后“ledseg_nod”加1,到达8时,表示8位数码管全部刷新,“ledseg_nod”的值设置为0,开始新一轮刷新。开发板上使用的是8段数码管。位选是选择待操作的数码管,如开发板上的是8位数码管,位选就是选择8位数码管中的某一个。数码管驱动程序原理如下图所示,定义一个数组,该数组共有8个元素,分别用于保存8位数码管的段码,即数组中第1个元素用于保存8位数码管中第1位数码管的段码,第2个元素用于保存第2位数码管的段码,以此类推。原创 2024-02-20 17:20:24 · 1261 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-11讲:模数转换ADC
但是在实际应用时,我们经常会用到多个ADC通道采样电压值,这时,我们可以使用轮询的方式对各个ADC通道进行采样,具体的实现流程如下图所示,即对当前ADC通道采样完成后,切换到下一个ADC通道,之后启动ADC转换并在转换完成后读取采样结果,如此轮询对使用的各个ADC通道采样,从而实现ADC多通道采样。主函数中调用ADC初始化完成ADC的初始化,之后在主循环中每500ms启动一次ADC转换,启动后一直查询ADC 转换结束标志位ADC_FLAG的值,直到ADC_FLAG置位,即ADC转换完成。原创 2024-02-05 10:58:52 · 1678 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-10讲:定时器/计数器
定时器和计数器实际都是通过计数器来计数,定时器是对周期不变的脉冲计数(一般来自于系统时钟),由计数的个数和脉冲的周期即可计算出时间,同时,通过一个给定的预期值(即比较值,对应预期的计数值,也就是预期时间),当计数值达到预期值时产生中断,这样就实现了定时,应用程序通过设置不同的预期值实现不同时长的定时。Timer配置为计数器之后,对应的引脚会连接到计数器,因此需要配置引脚的上拉电阻(如果没有外部上拉),之后设置计数寄存器的初值并根据需要开启中断,配置完成后,启动计数器即可。原创 2024-01-29 15:52:08 · 1158 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-9讲:比较器
STC8A8K64D4单片机片内集成了比较器(Comparator),比较器有两个输入端IN+(正端输入端)和(负端输入端),可选择其中一个输入端作为参考点来比较,通常使用负端输入端(IN-)做为参考点,当正端输入端电压小于负端输入端时比较器输出低电平,反之输出高电平。开启比较器的上升沿和下降沿中断,上升沿中断产生后点亮指示灯D1,下降沿中断产生后熄灭指示灯D1。输入端通过“比较器控制寄存器1(CMPCR1)”的PIS位和NIS位配置,下面的代码配置了比较器的正向输入端为P3.7,反向输入端为P3.6。原创 2024-01-12 15:25:28 · 1507 阅读 · 0 评论 -
【STC8A8K64D4开发板】第2-8讲:片内存储器
每次编程完成后,IAP_ADDRL 和 EEPROM 命令寄存器IAP_CMD 的内容不变,即地址不会自动递增,因此,在连续的地址上批量写入数据时,需手动更新地址寄存器IAP_ADDRH 和寄存器 IAP_ADDRL 的值。每次读完成后,IAP_ADDRL 和 EEPROM 命令寄存器IAP_CMD 的内容不变,即地址不会自动递增,因此,在连续的地址上批量读出数据时,需手动更新地址寄存器IAP_ADDRH 和寄存器 IAP_ADDRL 的值。IAP方式读取数据时,第一个扇区的起始地址是0x0000。原创 2023-09-09 14:31:49 · 875 阅读 · 2 评论 -
「STC8A8K64D4开发板」第2-6讲:串口通信
当数据的最高位移到移位寄存器的输出位置,紧跟其后的是第 9 位“1”,在他的左边各位全为“0”,这个状态条件,使 TX 控制单元作最后一次移位输出,然后使允许发送信号“SEND”失效,完成一帧信息的发送,并置位中断请求位 TI,即 TI=1,向主机请求中断处理。通常,我们会做一个软件缓存,在串口中断中接收数据存入到软件缓存,并定义一个变量用于记录串口接收的字节数(接收计数器),应用程序中可以通过查询接收计数器从而判断串口是否接收到数据,如接收到数据,则从缓存中取出数据进行处理。串口1接收中断请求标志位。原创 2023-07-01 17:10:07 · 1997 阅读 · 0 评论 -
「STC8A8K64D4开发板」——外部中断(INT0~INT4)
「STC8A8K64D4开发板」——外部中断(INT0~INT4)原创 2023-05-05 10:35:57 · 1523 阅读 · 0 评论 -
【STC8A8K64D4开发板】——新建工程模板–新建和配置工程
【STC8A8K64D4开发板】——新建工程模板–新建和配置工程原创 2023-04-01 11:17:55 · 1879 阅读 · 0 评论 -
【STC8A8K64D4开发板】——开发板程序下载
【STC8A8K64D4开发板】开发板程序下载原创 2023-03-23 15:57:55 · 1312 阅读 · 0 评论 -
【STC8A8K64D4开发板】——搭建开发环境
STC8A8K64D4开发板/STC8A8K48D4开发板 搭建开发环境原创 2023-02-21 14:20:40 · 1529 阅读 · 1 评论 -
【STC8A8K64D4开发板】——STC8A8K64D4开发板介绍
STC8A8K64D4系列单片机是宏晶公司(STC)2021年推出的宽电压工作范围的1T单片机,该系列单片机工作电压为1.9V~5.5V,相比STC15系列增加了I2C、LCM接口,所有IO口均可中断,增加了DMA外设,且ADC外设增加为3个引脚(AVcc、Agnd、AVref)提高了采集精度。原创 2022-11-24 09:51:08 · 4440 阅读 · 0 评论 -
【STC8A8K64S4A12开发板】—4x4矩阵按键检测
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件电路设计1.矩阵按键检测介绍2.矩阵按键检测原理介绍二、软件设计1.矩阵按键扫描实验 – 指示灯闪烁1.1.工程需要用到的c文件1.2.头文件引用和路径设置1.3.编写代码1.4.硬件连接2.矩阵按键扫描实验 – 串口调试助手2.1.工程需要用到的c文件2.2.编写代码2.3.硬件连接总结前言今天介绍下STC8A8K64S4A12系列单片机4x4矩阵按键检测电路的工作原理、4x4矩阵按键检测的程序设计。一、硬件电路设计原创 2021-08-27 16:23:43 · 2677 阅读 · 3 评论 -
【STC8A8K64S4A12开发板】—RS485总线通信
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件设计1.开发板串口硬件电路2.RS485电气性能3.RS485通信协议4.RS485电路设计二、软件设计1.RS485总线数据收发实验(串口4)1.1.工程需要用到的c文件1.2.头文件引用和路径设置1.3.编写代码1.4.硬件连接总结前言今天介绍下STC8A8K64S4A12系列MCU串行口原理,掌握RS485总线通信的硬件原理,了解RS485总线通信的软件协议。一、硬件设计1.开发板串口硬件电路STC8A8K64原创 2021-08-12 11:21:46 · 3923 阅读 · 1 评论 -
【STC8A8K64S4A12开发板】—片外存储器FLASH讲解
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件设计1.FRAM铁电存储器介绍2.W25Q128JV存储芯片介绍2.1.芯片引脚定义2.2.芯片介绍及使用注意事项二、软件设计1.外接FLASH存储器读写单字节实验(模拟SPI)1.1.工程需要用到的c文件1.2.头文件引用和路径设置1.3.编写代码1.4.硬件连接2.外接FLASH存储器读写多字节实验(模拟SPI)2.读入数据总结前言今天介绍下STC8A8K64S4A12系列单片机外部FLASH存储器W25Q128引脚定义原创 2021-08-05 10:04:15 · 3014 阅读 · 1 评论 -
【STC8A8K64S4A12开发板】—PCA可编程计数器阵列讲解
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件设计1.传感器输出信号介绍2.PCA可编程计数器阵列介绍3.STC8A8K64S4A12系列单片机PCA介绍二、使用步骤1.引入库2.读入数据总结前言今天介绍下STC8A8K64S4A12系列PCA可编程计数器阵列的原理和4个PCA外设相关寄存器配置及程序设计。一、硬件设计1.传感器输出信号介绍传感器是一种能把物理量或化学量转变成便于处理的电信号的器件。国际电工委员会(IEC:International Elect原创 2021-07-28 14:17:07 · 2102 阅读 · 0 评论 -
【STC8A8K64S4A12开发板】—片外存储器FRAM讲解
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件设计1.FRAM铁电存储器介绍2.SPI总线原理2.1.接口信号定义2.2.SPI的4种工作模式3.STC8A8K64S4A12系列单片机SPI介绍二、软件设计1.SPI相关寄存器汇集2.寄存器解析2.1.SPI控制寄存器SPCTL2.2.SPI状态寄存器SPSTAT2.3.中断允许寄存器IE22.4.中断优先级控制寄存器3.SPI配置步骤4.外接FRAM存储器读写单字节实验(模拟SPI)4.1.工程需要用到的c文件4.2.头文件原创 2021-07-28 14:16:02 · 2191 阅读 · 4 评论 -
【STC8A8K64S4A12开发板】—片外存储器E2PROM讲解
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件设计1.E2PROM存储器介绍2.开发板DAC硬件电路介绍2.1.主要特征2.2.I2C地址2.3.I2C数据传输2.4.ACK和NACK2.5.从机地址和R/W位3.STC8A8K64S4A12系列单片机I2C介绍二、软件设计1.I2C相关寄存器汇集2.寄存器解析2.1.I2C配置寄存器I2CCFG2.2.I2C主机控制寄存器I2CMSCR2.3.I2C主机辅助控制寄存器I2CMSAUX2.4.I2C主机状态寄存器I2CMSST原创 2021-07-07 14:48:40 · 1765 阅读 · 0 评论 -
【STC8A8K64S4A12开发板】—DAC数模转换讲解
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件设计1.DAC概念介绍2.开发板DAC硬件电路介绍二、软件设计1.DAC检测 - 串口调试助手实验1.1.工程需要用到的c文件1.2.头文件引用和路径设置1.3.编写代码1.4.硬件连接总结前言今天介绍下STC8A8K64S4A12系列单片机片DAC数模转换原理及RC积分电路原理,掌握掌握STC8A8K64S4A12系列单片机实现DAC功能的硬件和软件设计。一、硬件设计1.DAC概念介绍DAC (全称是Digita原创 2021-07-02 17:38:08 · 4793 阅读 · 1 评论 -
【STC8A8K64S4A12开发板】—ADC模数转换讲解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-05-22 17:19:28 · 11625 阅读 · 1 评论 -
【STC8A8K64S4A12开发板】—片内存储器讲解
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件设计?1.有关存储器概念介绍2.STC8A8K64S4A12系列单片机片内存储器介绍二、软件设计1.片内存储器寄存器汇集2.寄存器解析2.1.IAP命令寄存器IAP_CMD2.2.IAP触发寄存器IAP_TRIG2.3.IAP控制寄存器IAP_CONTR3.片内EEPROM读写 - 单个字节(STC8A8K32S4A12)3.1.工程需要用到的c文件3.2.头文件引用和路径设置3.3.编写代码4.片内EEPROM读写 - 多个字节原创 2021-03-17 15:58:39 · 4892 阅读 · 1 评论 -
【STC8A8K64S4A12开发板】—学习PWM脉冲宽度调制
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件设计1.PWM脉冲宽度调制介绍2.STC8A8K64S4A12系列单片机PWM介绍3.PWM配置步骤二、软件设计1.PWM寄存器汇集2.寄存器解析2.1.PWM配置寄存器PWMCFG2.2.PWM控制寄存器PWMCR2.3.PWM中断标志寄存器2.4.PWM外部异常控制寄存器2.5.PWM时钟选择寄存器2.6.PWM触发ADC计数器寄存器2.7.PWM2翻转寄存器2.8.PWMn控制寄存器2.9.PWMn电平保持控制寄存器3.PW原创 2021-03-01 14:50:43 · 4885 阅读 · 2 评论 -
【STC8A8K64S4A12开发板】—学习UART串口通信
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、硬件设计1.开发板串口硬件电路2.STC8A8K64S4A12系列单片机UART介绍3.串行口UART工作模式4.串行口使用引脚切换选择5.串行口1工作模式1波特率计算公式6.串行口中断配置步骤二、软件设计1.串行口寄存器汇集2.寄存器解析2.1.中断允许寄存器IE2.2.中断允许寄存器IE22.3.电源控制寄存器PCON2.4.辅助寄存器AUXR2.5.中断优先级控制寄存器IP2.6.中断优先级控制寄存器IP22.7.串行口2控制寄原创 2021-02-07 15:42:12 · 8895 阅读 · 11 评论 -
【STC8A8K64S4A12开发板】— 单片机串行口知识点讲解
版权声明:本文为博主原创文章,转载请附上原文出处链接。文章目录前言一、关于通讯和通信的区别二、关于串行通信和串口通信的区别三、关于串行通信和并行通信的区别四、关于单工通信、半双工通信和全双工通信五、关于同步通信和异步通信六、关于同步通信和异步通信的比七、几种常见电平信号的区别八、单片机串行口介绍九、关于串口流控的介绍十、关于单片机串行口的引脚十一、关于单片机串行口的应用十二、单片机串行口的应用总结前言本次讲解STC8A8K64S4A12系列单片机串行口知识点。一、关于通讯和通信的区别目前,原创 2021-02-02 20:02:56 · 4144 阅读 · 0 评论