
51单片机
文章平均质量分 95
51单片机入门
猿来这样1
编程圈子,谢厂节的博客
展开
-
中颖51芯片学习10. Touch Key触摸按键功能
SH79F9476内建触摸按键功能模块,最大能连接20个按键。SH79F9476内建触摸按键功能模块工作电路,应用时无需外接电容,即可实现触摸检测功能。硬件高抗干扰。灵活软件库,支持上电自校准功能,低开发难度。原创 2024-04-23 10:34:18 · 2101 阅读 · 1 评论 -
中颖51芯片学习9. PWM(12bit脉冲宽度调制)
前面介绍了使用 SH79F9476 的可编程计数器阵列 PCA0 生成PWM波,其支持8位、16位脉宽调制。两路12位PWM模块:SH79F9476提供了两个PWM模块,每个模块可以生成具有可调周期和占空比的脉宽调制波形。周期溢出中断:每个PWM周期都提供了溢出中断功能,可以在周期结束时触发中断处理程序。输出极性可选择:可以通过设置PWM控制寄存器来选择PWM输出的极性,从而决定占空比期间输出的电平。PWM模块控制。原创 2024-04-22 13:48:03 · 1476 阅读 · 0 评论 -
中颖51芯片学习8. ADC模数转换
ADC(Analog-to-Digital Converter)是一种将模拟信号转换为数字信号的电路或模块,以将来自外部传感器或其他模拟设备的模拟电压信号转换为处理器能处理的数字信号。ADC转换中,采样率SPS(Samples Per Second),即每秒样本数用来衡量采样的速度,它的单位通常用Hz表示, 即 1SPS=1Hz。分辨率:具有12位分辨率,能够将模拟信号转换为数字数据,并提供高精度的测量。参考电压:可选择使用外部VREF或芯片内部的VDD作为基准电压。模拟输入通道。原创 2024-04-19 15:29:16 · 1737 阅读 · 0 评论 -
中颖51芯片学习7. printf重定向到串口与自定义日志输出函数
printf重定向是指将标准输出函数printf()的输出流重定向到用户定义的其他输出设备或存储介质,而不是默认的标准输出设备(通常是终端或控制台)。这样做可以将printf()函数输出的内容发送到不同的设备,比如串口、文件、LCD屏幕等,从而实现更灵活的输出方式。通过重写putchar函数可以简单地实现printf重定向 。 下面是一个示例:调用方法:main.c示例会通过uart0串口输出ascii码。标准的C语言格式化字符格式如下:数值的输出是%d,如:但是在C51中,对于单字节变量的格式化原创 2024-04-20 20:24:05 · 1973 阅读 · 0 评论 -
中颖51芯片学习6. EUART接口通讯
SH79F9476 有3个自带波特率发生器的EUART0/1/2(波特率发生器是一个15位向上计数器)。SH79F9476的EUART有四种工作方式,3个EUART功能基本一样。下面主要介绍 EUART0。方式0。原创 2024-04-11 19:00:37 · 1052 阅读 · 1 评论 -
中颖51芯片学习5. 类EEPROM操作
代码保护模式是一种微控制器提供的安全功能,旨在保护程序代码不受未经授权的访问和修改。中颖 SH79F9476 提供了四种代码保护模式,分别是代码保护模式0、代码保护模式1、代码保护模式2和代码保护模式3。Flash编程器在ICP模式设置相应的保护位,以进入所需的保护模式。SSP模式不支持代码保护控制模式编程。地址: F7H Bank0符号:XPAGE对于程序存储区,一个扇区为 512 字节。寄存器定义如下。原创 2024-04-10 15:58:05 · 1338 阅读 · 1 评论 -
中颖51芯片学习4. 可编程计数器阵列PCA0
PCA(Programmable Counter Array)是一种可编程计数器阵列,是常见于一些8位和16位微控制器中的重要外设之一,包括中颖C51单片机。PCA0的功能包括计时器和捕获/比较功能,它能够执行多种定时和控制任务。PCA可以作为一个多功能的定时器,能够产生精确的定时脉冲,用于计时、延时等应用。它可以以不同的时钟源(如系统时钟、外部时钟等)来进行计数,并且支持不同的计数模式(例如定时器、捕获/比较等)。原创 2024-04-09 15:00:50 · 1360 阅读 · 0 评论 -
中颖51芯片学习3. 定时器
SH79F9476芯片具有多个定时器模块,包括定时器/计数器、PWM(脉冲宽度调制)定时器等,定时器可以配置为在计时达到特定值时触发中断,以便处理紧急事件或执行特定的任务。T2端口可以编程输出50%的占空比时钟周期。清C/T2位和置T2OE位,使定时器2作为时钟发生器。TR2位启动和中止定时器。原创 2024-04-08 14:47:21 · 1366 阅读 · 0 评论 -
中颖51芯片学习2. IO端口操作
Pin2的值跟随Pin0变化,Pin0接地时,Pin2输出低电平;Pin0接高电平时,Pin2输出高电平。寄存器PxCRy用来控制端口的输入、输出功能,其中x的取值范围是0~3, y的取值是0~7。P0.0~P0.3口可输出 1/2VDD 电压,由P0V0单独控制。其中:P35S~P30S 值定义与P07S、P06S 值定义相同。控制P0口输入电平逻辑控制,即控制输入时的高、低电平阈值。示例,让P0_0输出0.2V电压。控制功能与PIMS0类似。原创 2024-04-07 10:38:40 · 1171 阅读 · 0 评论 -
中颖51芯片学习1. 系统时钟及IO口输出操作
SH79F9476,是一款基于8051指令流水线结构的8位单片机,保留了标准8051芯片的大部分特性,如256字节RAM、3路UART、外部中断0、2、3;另外SH79F9476还集成了4096字节RAM、64K程序存储Flash块。原创 2024-04-03 15:01:47 · 1567 阅读 · 0 评论 -
51单片机学习笔记17 4线双极性马达和SG90舵机
四线双极性电机通常用于驱动一些需要高效率和可靠性的应用。它的定子通常包含固定的线圈,而转子则是可以旋转的部分,通常是通过磁场与定子相互作用来产生转动力。TC1508S是一款双通道直流电机驱动集成电路,主要用于驱动中小型直流电机或四线双极性步进电机。这款芯片内置了功率MOSFET全桥驱动电路,可以方便地实现电机的正转、反转、停止以及刹车控制。我手头的步进电机额定电压要6-24V,TC1508S无法直接驱动。已网购 TMI8549 芯片,到手实验成功后补充驱动电路。原创 2024-04-11 15:23:31 · 1571 阅读 · 0 评论 -
51单片机学习笔记16 小型直流电机和五线四相电机控制
本文使用的小型直流电机常用于玩具,两根导线,改变电流强度时改变转速、改变电流方向时改变转向。原创 2024-04-10 11:48:18 · 1607 阅读 · 0 评论 -
51单片机学习笔记15 LCD12864(带字库)显示屏使用
LCD12864是一种128x64像素的液晶显示屏,常用于电子设备中作为显示器。它通常采用ST7920或者类似的控制器,可以通过串行或并行接口与微控制器或其他设备通信。LCD12864显示屏可以显示单色图像和文本,通常用于嵌入式系统、电子仪器、3D打印机等领域。管脚编号功能1VSS(地)2VDD(电源,5V)3V0(液晶对比度调节)4RS(寄存器选择,1:数据;2:命令寄存器)5R/W(读/写选择,1:读;2:写)6E(使能信号)7-14DB0-DB7(数据位)15。原创 2024-04-06 15:59:32 · 5335 阅读 · 0 评论 -
51单片机学习笔记14 LCD1602显示屏使用
LCD1602是一种常用的字符型液晶显示模块,它由16列、2行的字符组成,每个字符由5x8像素的点阵构成。外观图:显示能力:LCD1602可以同时显示两行文字,每行最多可显示16个字符。低功耗:LCD1602采用液晶显示技术,具有较低的功耗。易于控制:LCD1602可以通过并行或串行接口与微控制器进行通信,控制简单、灵活。通常使用的控制芯片为HD44780,它提供了一套简单易用的指令集,用于控制LCD的显示内容、光标位置等。背光显示:LCD1602通常配有背光,可以在暗环境中提供良好的可视性。原创 2024-04-03 09:10:48 · 4830 阅读 · 0 评论 -
51单片机学习笔记13 红外遥控接收
NEC 编码格式支持多种不同的功能和操作,因此命令码可以涵盖各种各样的控制命令。类似于地址码,命令码也可以包含一个校验位,通常是命令码的反码。一个完整的 NEC 编码帧通常由连续的脉冲序列组成,包括引导脉冲、地址码、反码、命令码、命令反码和结束码等部分。通过地址码,接收器能够准确地识别要控制的设备或设备组,从而确保遥控器发送的命令能够正确地被接收并执行。RAW 码不使用特定的编码格式,而是直接记录脉冲的时间间隔,可以通过分析脉冲的时间来解码。命令码的长度通常是 8 位二进制数,与地址码相同。原创 2024-04-02 16:37:12 · 1934 阅读 · 0 评论 -
51单片机学习笔记12 SPI接口 使用1302时钟
DS1302是一款由Maxim Integrated公司生产的实时时钟(RTC)芯片。RTC芯片用于计算机和其他电子设备中的时间和日期的集成电路,通常被用于电子时钟、计时器、温度记录器等应用中。实时时钟功能:提供年、月、日、时、分、秒等时间数据。串行接口:通过串行接口(如SPI)与微控制器进行通信。低功耗设计:具有低功耗特性,在电池供电情况下能够长时间稳定运行。内置晶体振荡器:集成了晶体振荡器,不需要外部晶振。电池备份:支持电池备份以保持时钟运行,即使主电源断电时也能保持时间数据。温度补偿。原创 2024-04-01 10:20:53 · 1129 阅读 · 0 评论 -
51单片机学习笔记11 使用DS18B20温度传感器
DS18B20是一种具有高精度、数字输出和单总线通信数字温度传感器,可以提供9位温度读数。1-Wire协议是一种串行通信协议,用于在单一数据线上进行通信和供电。它由独特的通信方式和协议约定组成,广泛应用于各种数字设备和传感器之间的通信。原创 2024-03-28 09:56:24 · 2564 阅读 · 0 评论 -
51单片机学习笔记10 IIC通讯和EEPROM
IIC(也被称为I²C,是一种串行通信协议。它由Philips Semiconductor(现在的NXP Semiconductors)在1980年代初期开发,用于在集成电路(IC)之间进行低速、短距离的通信。I²C协议广泛应用于嵌入式系统中,尤其是在微控制器与各种外围设备之间的通信,如传感器、EEPROM、RTC(实时时钟)等。原创 2024-03-22 14:30:00 · 1323 阅读 · 0 评论 -
51单片机学习笔记9 串口通讯
51单片机的串口通信是通过内置的串行通信口(UART)实现的,常用于与外部设备进行数据交换。串口通信是一种基于串行传输的数据通信方式,通过一根数据线和一根时钟线(或不需要时钟线)进行数据传输。数据按照一定的规则和时序被发送和接收。TXD:接P3.1引脚RXD:接P3.0引脚SBUF 是缓冲区,分为发送缓冲区和接收缓冲区。TH1和TL1是定时器1的功能,需要工作在方式2(自动重载模式),用来设置波特率;原创 2024-03-21 19:17:29 · 1482 阅读 · 1 评论 -
51单片机学习笔记8 中断系统及定时器
TMOD 寄存器各位的功能分成2组,高4位、低4位,分别控制定时器1、定时器0的工作模式。位7:GATE1(定时器1门控位):当 GATE1 为 1 时,定时器1的计数/定时工作由外部引脚控制。当 GATE1 为 0 时,定时器1的计数/定时工作受到内部控制。位6:C/T1(定时器1计数/定时选择位):当 C/T1 为 0 时,定时器1为定时器模式;当 C/T1 为 1 时,定时器1为计数器模式。位5-4:M11 和 M10(定时器1工作模式位)原创 2024-03-20 15:09:16 · 1555 阅读 · 0 评论 -
51单片机学习笔记7 串转并操作方法
由于单片机的I/O资源有限,在进行一些外围设备通讯时,如LED点阵、数码管操作,需要大量的I/O资源,为了减少单片机的资源占用,可以使用串转并的操作,通过引入专用芯片,用较少的单片机I/O引脚,控制大量的外围I/O引脚设备。在串转并操作中,串行数据首先经过一个串行转并行转换器,该转换器将串行数据拆分为多个并行数据。这些并行数据同时传输到并行数据接收器,每个并行数据接收器负责接收并处理其中的一部分数据。最后,这些处理后的并行数据再通过并行数据输出端口一起输出,形成并行数据流。原创 2024-03-19 14:29:36 · 1108 阅读 · 0 评论 -
51单片机学习笔记6 数码管显示
74HC245是一款常用的8位双向电平转换器,也被称为总线驱动器。高速:74HC245具有较高的数据传输速率,适用于高速数字系统。低功耗:它的静态功耗较低,适用于功耗要求较低的应用。低电平输出:74HC245的输出端口可以提供低电平输出,适用于5V和3.3V系统之间的电平转换。D74HC138是一种八线三至八译码器,也被称为3-8译码器。它通常用于数字系统中的地址译码、片选信号生成等应用,用于将三位二进制地址转换为八个输出端口中的一个低电平输出。它具有快速响应、低功耗、高阻抗输入端口等特点。原创 2024-03-18 14:13:07 · 1564 阅读 · 0 评论 -
51单片机学习笔记5 流水灯实现及蜂鸣器控制
开发板的LED灯连接到GPIO的P2口的P20~P27:LED采用共阳极接法。这种接法的好处是点亮LED不需要I/O口输出很大功率电流;GPIO在输出低电平时LED亮。这里简单给P2口赋值0或1实现GPIO口开关,实际只操作P20端口。由于输出低点平点亮,所以给0x01取反,除了最低位其它位都会变成高电平,效果就是最低位LED亮。(2) 使用算术左移实现流水灯让0x01里的1使用 先左移到合适位置,然后整体取反,即可以让想要的位置灯亮。(3) 使用库文件左移函数这里要使用系统intrins.原创 2022-12-03 23:25:09 · 3611 阅读 · 0 评论 -
51单片机学习笔记4 新建工程及GPIO资源介绍
GPIO是General purpose input output的简称,中文为通用输入输出端口。电源引脚晶振引脚复位引脚下载引脚GPIO引脚图上P1.n, P0.n, P2.n都是GPIO引脚,共4*8=32个。原创 2022-11-29 08:15:09 · 514 阅读 · 0 评论 -
51单片机学习笔记3 C51数据类型及最小系统
按下开关时,电容放电,放电过程电容通交流,RST相当于连5V高电平。由于R1的阻值很小(有的电路设计里不用这个R1,但直接对电容短接放电可能不太好),rst也可以通过这个通路连接高电平。当DTR低电平、RTS高电平,三极管截止,Q3的G脚被R20拉低,MOS管截止,VCC没有电源。然后电容开始充电,充电完成后,电容对直流隔断,rst通过r2连到地低电平。当DTR高电平、RTS低电平,三极管导通,MOS会导通,VCC通电。上电时,电容通交流、断直流,rst会直连5V高电平。表达式1, 表达式2, ……原创 2022-11-28 22:26:19 · 2097 阅读 · 0 评论 -
51单片机学习笔记2 仿真器的使用及STC89Cxx简介
CPU、RAM、ROM、输入/输出集成在一块集成电路中,称为单片机(MCU)。原创 2022-11-22 08:37:41 · 2410 阅读 · 0 评论 -
51单片机学习笔记1 简介及开发环境
51单片机是对兼容英特尔8051指令系统的单片机的统称。STC单片机在线文档地址:http://www.stcmcudata.com/datasheet/STC89C52.pdf以下图片仅代表封装样式,型号不一定是51系列。复位电路:上电时,C1电容充电相当于短路状态,RST为高电平,单片机进入复位流程。当C1充满电,RST通过R1连地,C1相当于断路,RST为低电平。本系列博文使用普中51-2开发板。安装过程省略……安装过程略……打开电源,DP1指示灯表示电源状态。这里选择了一个LED流水灯实验的原创 2022-11-20 00:03:44 · 1007 阅读 · 0 评论