
单片机
文章平均质量分 50
单片机技巧,可私
优惠券已抵扣
余额抵扣
还需支付
¥199.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
XD742971636
https://www.dong-blog.fun/
展开
-
51单片机,两路倒计时,LCD1602 ,Proteus仿真
main.c 文件实现了一个基于 51 单片机的双路倒计时仿真系统,支持两路独立的倒计时功能,每路倒计时时间范围为 1 到 90 分钟。系统通过按键控制倒计时的增减、启动/暂停和复位,并在 LCD 显示屏上实时显示时间及状态。倒计时结束时,蜂鸣器鸣响,对应 LED 点亮。系统使用定时器中断(50ms 一次)精确计时,代码结构包括初始化、显示逻辑、主循环和中断处理。硬件接口涉及 LCD、蜂鸣器、LED 和按键的控制。原创 2025-05-18 22:42:44 · 419 阅读 · 0 评论 -
51单片机、LCD1602、DS1302、DHT11、ADC0832 红绿灯 Proteus 代码
本文介绍了一个基于51单片机的交通信号灯仿真程序,结合了温湿度传感器(DHT11)、实时时钟(DS1302)和光照强度检测(ADC0832)的功能。程序通过LCD1602显示屏实时显示时间、温湿度及光照强度,并模拟交通信号灯的状态切换。核心功能包括交通信号灯控制、环境数据采集与显示、以及LCD显示驱动。交通信号灯模拟南北和东西方向的信号灯切换,每个状态持续固定时间。环境数据采集通过DHT11获取温湿度,ADC0832获取光照强度,DS1302提供实时时钟。LCD1602用于显示温湿度、光照强度、时间及信号灯原创 2025-05-18 22:29:42 · 35 阅读 · 0 评论 -
51单片机频率计Proteus代码
该材料展示了一个基于51单片机的频率计系统设计,通过Proteus仿真实现。系统使用定时器0进行50ms定时,定时器1作为计数器测量外部信号频率,配合LCD1602显示屏实时显示测量结果(精度达3位小数),并包含按键控制功能实现测量重启。代码实现了完整的LCD驱动、定时器初始化、频率计算和显示功能,通过中断服务程序处理定时和计数溢出,最终将测量到的频率值转换为带小数点的kHz单位字符串显示在LCD上。原创 2025-05-18 10:42:24 · 23 阅读 · 0 评论 -
PIC16F18877 串口115000波特率 发送接收 代码
在 PIC16F18877 项目中,UART 功能被成功添加并配置。UART 初始化设置为 115200 波特率,启动时发送 "Hello" 字符串,并通过中断实现接收字符的回显功能。项目中新增了三个 UART 函数:uart_init() 用于配置波特率,uart_transmit() 用于发送单个字符,uart_transmit_string() 用于发送字符串。中断处理函数负责接收并通过 UART 回传数据。UART 引脚配置为 RC6(TX)和 RC7(RX),遵循 PIC16F原创 2025-05-17 20:43:59 · 20 阅读 · 0 评论 -
PIC16F18877 ADC 代码
这段代码是为PIC16F18877微控制器设计的嵌入式系统程序,主要实现了LCD显示屏控制、DHT11温湿度传感器数据采集和ADC模拟量读取三大功能。程序通过配置32MHz内部时钟源初始化系统,使用4位数据总线驱动LCD显示模块,定时读取DHT11传感器获取温湿度数据并校验,同时通过ADC通道采集RA0引脚的模拟电压值转换为数字量,最终将传感器数据和ADC电压值格式化后显示在LCD的两行屏幕上。代码采用模块化设计,包含完善的硬件初始化、精确的时序控制和错误处理机制,适用于环境监测等嵌入式应用场景。原创 2025-05-17 20:09:50 · 102 阅读 · 0 评论 -
PIC16F18877 read DHT11 code 读取温湿度代码
这段代码是为 Microchip 的 PIC16F18877 微控制器编写的一个完整应用程序,旨在实现读取 DHT11 温湿度传感器的数据并通过 LCD 显示屏显示的功能。代码使用了 XC8 编译器,并针对 MPLAB X IDE 环境进行了配置。代码中包含了详细的硬件引脚定义和配置位设置,确保微控制器以 32MHz 的内部时钟频率运行。此外,代码通过软件模拟的方式实现了与 LCD 模块的 4 位接口通信,并对 DHT11 传感器的时序要求进行了精确处理。主程序循环中定期触发 DHT11 数据读取操作,验证原创 2025-05-17 18:47:15 · 19 阅读 · 0 评论 -
PIC16F18877 的主时钟 设置方法
本文介绍了一个基于XC编译器的微控制器配置示例,主要涉及时钟源的设置。通过#pragma config指令,配置了使用内部振荡器、复位时使用32MHz内部振荡器、关闭CLKOUT功能、允许时钟切换以及关闭故障保护时钟监视器。在main函数中,通过设置OSCCON1和OSCFRQ寄存器,将时钟源配置为32MHz的内部高频振荡器(HFINTOSC)。这些配置确保了微控制器在启动时使用32MHz的时钟频率,且不进行分频操作。原创 2025-05-17 18:29:10 · 139 阅读 · 0 评论 -
PIC16F18877定时器1的中断代码,在RA6取反输出,10ms中断
该代码实现了一个基于PIC单片机的10毫秒定时器功能,使用TIMER1在32MHz系统时钟下进行精确计时。通过配置内部振荡器为32MHz,设置TIMER1为16位模式并使用1:8预分频,使得每个计数周期为1微秒,从而通过重载值实现10毫秒定时。每次定时器溢出时触发中断,在中断服务程序中翻转RA6引脚电平(可用于产生50Hz方波或作为心跳信号),同时设置一个标志位供主循环检测以执行其他任务。整体功能是在RA6引脚上每10毫秒翻转一次电平,实现精准定时控制。原创 2025-05-17 17:44:17 · 22 阅读 · 0 评论 -
PIC16F18877定时器0的中断代码,在RA6取反输出
该代码使用PIC微控制器实现了一个基于TIMER0的10ms定时器中断功能。代码首先配置了系统时钟为32MHz,并初始化了TIMER0,设置其预分频为1:1024,时钟源为FOSC/4(8MHz),并通过计算得到10ms定时所需的定时器重载值。TIMER0中断服务程序在每次中断时翻转RA6引脚的状态,并设置一个标志位。主函数中初始化了系统时钟、RA6引脚为数字输出,并启用了全局中断。主循环为空,定时器中断独立处理RA6引脚的翻转操作。该代码适用于需要精确定时控制的嵌入式应用场景。原创 2025-05-17 16:58:15 · 22 阅读 · 0 评论 -
PIC16F877A LCD1602 DHT11 温湿度读取显示代码 MPLAB
本文介绍了一个基于PIC微控制器的LCD和DHT11温湿度传感器的接口程序。代码首先配置了微控制器的晶振频率和配置位,确保系统正常工作。接着定义了LCD接口的引脚和控制信号,以及DHT11传感器的引脚和读写操作。全局变量用于存储传感器读取的温度和湿度数据。程序提供了初始化LCD、写入数据和命令、读取数据以及延时等功能。LCD初始化过程包括多次尝试以确保正确进入4位模式,并配置显示参数。DHT11传感器通过特定的时序读取数据。整体代码展示了如何通过微控制器与外围设备进行通信,并实现数据的采集与显示。原创 2025-05-17 08:27:37 · 37 阅读 · 0 评论 -
51单片机的lcd12864驱动程序
本文介绍了使用8051单片机控制12864液晶显示模块的程序实现。代码通过定义端口和宏,实现了延时、蜂鸣器、LCD初始化、忙状态检查、指令写入、数据写入、位置设置、字符串显示等功能。主程序初始化硬件和LCD后,显示特定字符串,并进入主循环。程序展示了如何通过并口方式控制LCD,显示公司名称和开发板信息,为单片机开发提供了基础示例。原创 2025-05-16 22:26:13 · 123 阅读 · 0 评论 -
解析GNGGA数据,C语言单片机
这段GPS数据表明设备在UTC时间13:03:33.000时,位于北纬41.723942度、东经123.482748度,海拔93.1米的位置,使用了14颗卫星进行定位,水平定位精度优秀(HDOP=1.2),定位质量为标准GPS定位(Fix Quality=1)。• 表示大地水准面高度(Geoid Height),即实际地球表面与参考椭球面之间的高度差,单位为米。• 表示GPS数据记录的时间,以UTC(协调世界时)格式显示,具体为13时03分33秒000毫秒。• 此处为1,表示标准GPS定位。原创 2025-03-13 20:15:43 · 215 阅读 · 0 评论 -
【单片机】LCD1602和OLED里,如何实现滚动显示特效?
滚动特效的核心思路是在一个固定长度的显示区域内,通过不断改变显示内容的起始位置,模拟出内容在屏幕上滚动的效果。我们可以使用一个定时器来周期性地更新显示内容,从而实现动态滚动。通过本文介绍的方法,可以轻松实现OLED显示屏上的滚动特效。滚动效果不仅可以提升用户体验,还可以在有限的显示区域内展示更多的信息。函数实现滚动逻辑,并在主循环中合理控制滚动的速度和方向。希望这篇文章对您在嵌入式开发中的应用有所帮助。原创 2024-08-25 16:23:40 · 756 阅读 · 0 评论 -
【单片机】PICC编译器和XC8编译器的历史发展,有什么关系
Hi-Tech C 编译器(PICC)和 MPLAB XC 编译器代表了 PIC 微控制器开发工具的两个不同阶段。Hi-Tech C 编译器奠定了基础,而 MPLAB XC 编译器则在此基础上,提供了更强大的功能和更好的支持。对于嵌入式开发者来说,理解这两个编译器的发展历史,不仅有助于更好地使用现有工具,也能为未来的开发提供有益的参考。原创 2024-08-24 19:26:32 · 615 阅读 · 0 评论 -
【单片机】PIC16F1719 单片机,UART,串口发送
【代码】【单片机】PIC16F1719 单片机,UART,串口发送。原创 2024-08-24 19:12:53 · 414 阅读 · 0 评论 -
【单片机】PIC单片机编程里前面的配置文件含义,xc.h的#pragma配置
指令实现,用于控制单片机的一些关键行为和特性。在具体编程时,这些配置非常重要,因为它们直接影响到单片机的工作模式、启动方式、以及保护措施。这些配置指令用来定义PIC单片机的各种工作模式和功能,是开发过程中必须设定的一部分,以确保硬件和软件能够正确地协同工作。这段代码是用于配置PIC单片机的编译设置和硬件参数的。原创 2024-08-24 14:54:02 · 459 阅读 · 0 评论 -
【单片机】51单片机中的`data`与`code`关键字详解
存储数据和临时变量,掉电后数据丢失。扩展的存储区域,通常用于存储大量数据。存储程序代码和常量数据,掉电后数据不会丢失。在51单片机的程序中,开发者可以使用不同的关键字来指定变量或数据的存储位置,从而提高程序的运行效率和代码的可读性。其中,data和code是两个最常用的关键字。51单片机中的data和code关键字提供了对不同存储器区域的灵活访问方式。正确使用这些关键字不仅可以优化程序性能,还能有效地管理有限的内存资源。原创 2024-08-21 10:00:23 · 1492 阅读 · 0 评论 -
【51单片机】OLED如何显示汉字?OLED驱动显示程序代码,七针OLED,六针OLED,SPI通信
【代码】【51单片机】OLED如何显示汉字?OLED驱动显示程序代码,七针OLED,六针OLED,SPI通信。原创 2024-08-18 12:03:22 · 455 阅读 · 0 评论 -
stc89c52单片机的p4引脚如何使用?
STC89C52RC 是一种基于 8051 架构的 8 位单片机,由 STC 微电子公司生产。它具有 8KB 的 Flash 存储器、256 字节的 RAM 和 32 个 I/O 端口。它支持 UART、定时器、外部中断等功能,适用于各种嵌入式控制应用。它的高性能和丰富的外设使其成为许多电子项目的理想选择。芯片中是有P4端口的,但如何使用?原创 2024-08-18 11:35:29 · 552 阅读 · 0 评论 -
【51单片机】OLED驱动显示程序代码,七针OLED,六针OLED,SPI通信
在嵌入式系统中,OLED显示屏因其自发光、高对比度、宽视角等优点广泛应用于各种产品中。本篇文章介绍了如何通过单片机驱动一块128x64分辨率的OLED显示屏,并详细解析了核心代码,包括OLED的初始化、数据发送、字符显示等。OLED屏幕的硬件接口通常包括数据线、时钟线、复位引脚、命令/数据选择引脚等。本文使用的是并口模式,通过GPIO口模拟SPI协议与OLED进行通信。oled.h本篇文章介绍了如何通过单片机驱动一块128x64的OLED屏幕,主要功能包括初始化OLED、显示字符和清屏。原创 2024-08-18 11:21:34 · 867 阅读 · 0 评论 -
【51单片机】DS1302驱动,11.0592MHZ,使用DS1302
在你的ds1302.h文件中,已经包含了一个简单的 DS1302 驱动程序,用于设置和获取实时时钟模块的数据。现在我们来重写一个简单的main.c,并展示如何使用这些函数。main.c。原创 2024-08-17 21:26:54 · 273 阅读 · 0 评论 -
【51单片机】ds18b20驱动,11.0592MHZ,使用DS18b20
此程序读取DS18B20的温度并在LCD上显示。如果未检测到DS18B20传感器,程序会在LCD上显示 “No DS18B20” 并停止运行。:程序假设你有一个16x2的LCD显示器与单片机连接,用于显示读取的温度。文件包含了之前的驱动程序函数。如果没有,你可以直接将这些函数拷贝到这个。根据你提供的DS18B20和DS1302驱动程序,我将为你编写一个。文件将读取DS18B20的温度,并每秒更新一次显示在LCD上。文件,专门用于读取DS18B20的温度并显示。函数用于实现毫秒级的延时。原创 2024-08-17 21:12:59 · 307 阅读 · 0 评论 -
【51单片机】DHT11驱动,11.0592MHZ,使用DHT11传感器测量温湿度
DHT11是一款低成本的温湿度传感器,能够同时测量空气中的温度和湿度,并将其数据以数字信号的形式输出。这个项目中,我们使用了一块STC单片机,通过UART串口通信将DHT11传感器读取到的温湿度数据输出到PC上的串口监视器中。通过这个项目,我们学会了如何使用DHT11传感器来测量环境温度和湿度,并通过串口将数据输出到PC。代码的结构清晰,功能实现简单明了,适合初学者学习传感器数据读取与串口通信的基础知识。原创 2024-08-17 21:05:31 · 498 阅读 · 0 评论 -
【单片机】51单片机入门教程(二):定时器的模式详解与中断应用实例
51单片机是一种经典的8位微控制器,广泛应用于电子控制领域。本文将详细讲解51单片机的定时器功能,包括其工作模式、寄存器配置、中断入口、中断服务程序以及对应的代码实例,帮助初学者深入理解和掌握定时器的使用。51单片机配备了两个定时器/计数器:定时器0(T0)和定时器1(T1)。模式0(13位定时器/计数器)模式1(16位定时器/计数器)模式2(8位自动重装载定时器/计数器)模式3(分割两个独立的8位定时器/计数器,仅适用于T0)原创 2024-08-13 10:53:31 · 218 阅读 · 0 评论 -
【单片机】51单片机入门教程(一):深入理解普通IO口与外部中断
51单片机是嵌入式系统开发中的经典之作,也是学习嵌入式开发的理想起点。虽然51单片机的基础结构由Intel公司最早推出,但如今市面上有许多厂商都推出了自己的51单片机型号,如STC的STC89C52RC等。这些型号虽然品牌不同,但核心架构相同,使用方法也大同小异。本教程将引导新手深入理解51单片机的普通IO口和外部中断,结合必要的模电基础知识和C语言编程知识,通过理论讲解和实际案例,帮助你更好地掌握这些核心技能。原创 2024-08-12 18:09:48 · 271 阅读 · 0 评论 -
【Altium Designer】AD20实战,使用立创EDA的封装来用AD进行作图(三)
但如何快速拿取到封装并作图?本文章将教学使用立创EDA的封装来用AD进行作图。原创 2024-08-04 18:07:44 · 261 阅读 · 0 评论 -
【Altium Designer】Details Net has only one pin (Pin U1-12) 解决办法
修改报告提示,将“错误”改为“不报告”,如下图,在工程上 右键>>工程选项>>找到相应的错误标签提示。引脚label没接其他元器件。原创 2024-08-04 16:01:12 · 2932 阅读 · 0 评论 -
【Altium Designer】AD20教程,实战,作图(二)
这里介绍一些AD技巧。原创 2023-09-05 22:28:55 · 2918 阅读 · 0 评论 -
【Altium Designer】AD20教程,实战,作图(一)
点击图1中libraries字样,点击安装,选择想要安装的 原理图库和PCB库,然后确认,然后关闭那个窗口就可以用选择的原理图库和PCB库。AD软件不会保存你选择的原理图库和PCB库文件,所以最好是将库放入AD软件默认的库文件存放的地方,比如我的是D:\Users\Public\Documents\Altium\AD16\Library\。然后排列器件,然后点自动布线-全部。在原理图视图或者PCB视图,如果原理图已经更新到PCB,都可以生成集成库,集成库就是一对一匹配的,一个是原理图库,一个是PCB库。原创 2023-09-09 13:20:07 · 11230 阅读 · 0 评论 -
【单片机】如何设置蓝牙HC05模块的工作状态,两个HC-05蓝牙模块互相绑定连接双工
HC-05蓝牙模块是一款高性能的蓝牙串口模块,适用于各种带蓝牙功能的设备。它具有两种主要工作模式:命令响应工作模式和自动连接工作模式。在自动连接工作模式下,模块可以分为主(Master)、从(Slave)和回环(Loopback)三种角色。通过上述步骤,你可以将两个HC-05蓝牙模块互相绑定,并构成无线串口模块,从而实现设备之间的无线通信。希望这个教程对你有所帮助。原创 2024-08-03 20:39:35 · 416 阅读 · 0 评论 -
【单片机】MSP430G2553单片机 Could not find MSP-FET430UIF on specified COM port 解决方案
(2)更换为早期的Win7系统,在我看来,MSP430G2553单片机是非常老的设计了,使用Win7系统搭配老一点的CCS 6 或者IAR 5.3 ,应该还是很好识别出MSP430G2553单片机的UIF的。注意了,一个跳线帽下面是2个引脚,我剪头指的是上面那个,上面那个是UIF区域的引脚。接下来说一下方法4如何实施,MSP430F5529开发板的设计理念也是一样的,上半部分区域是UIF,下半部分就是单片机电路,中间依靠跳线帽连接。下图是我接的,板子GND都是一起的,所以GND我没按上面说的接。原创 2024-06-22 10:00:10 · 2157 阅读 · 0 评论 -
【单片机】Code Composer Studio Linux版本下载,CCS开发环境
被windows的驱动兼容性搞得烦死了,我直接搞虚拟机用linux版本的ccs尝试一下。原创 2024-06-21 23:31:11 · 461 阅读 · 0 评论 -
【单片机】msp430g2553单片机, 用TA0定时器,让小灯P1.6呼吸灯,P1.6是TA0.1
设置时钟源和分频器,以便定时器工作在合适的频率。:将P1.6引脚设置为TA0.1输出。:设置TA0定时器为PWM模式,调整占空比以实现呼吸灯效果。:在主循环中调整PWM占空比,使灯亮度逐渐变亮和变暗。原创 2024-06-21 14:20:49 · 1058 阅读 · 0 评论 -
【单片机】msp430g2553 用TA0定时器,让小灯P1.3闪烁
让 CPU 进入低功耗模式(实际应用中可能需要更多处理)。希望这段代码和解释能帮到你!如果你有任何问题,请随时告诉我。停止看门狗定时器,以避免设备在调试时不断复位。:在主循环中没有其他操作,使用。启用全局中断,使能所有中断。原创 2024-06-21 14:17:10 · 441 阅读 · 0 评论 -
【单片机】msp430g2553 用开门狗定时器,让小灯P1.3闪烁
下面是使用MSP430G2553微控制器的开门狗定时器(WDT)使P1.3引脚的小灯闪烁的示例代码。该代码配置WDT在间隔时间到期时产生中断,并在中断服务程序中切换P1.3引脚的状态以实现闪烁效果。原创 2024-06-21 14:14:40 · 470 阅读 · 0 评论 -
遥控器中,红外协议有哪些
这些协议的主要区别在于数据帧的长度、编码方式、脉冲的时间间隔以及载波频率。选择合适的协议需要根据具体的应用场景和设备要求来决定。在开发红外遥控器或接收器时,需要仔细阅读设备的技术文档,以确保协议的兼容性。红外协议(IR协议)是用于红外遥控设备之间通信的标准。不同的厂商和应用场景会使用不同的红外协议。原创 2024-06-21 13:56:34 · 1429 阅读 · 0 评论 -
【Proteus8.16】Proteus8.16.SP3.exe的安装包,安装方法
管理员打开proteus8.16.SP3.exe一路装就行了,许可证选Licence2.lxk,点安装后关闭,然后继续装完。然后打开Patch-Proteus-8.16-SP3-36097.0.exe如下,点Start后就可以用了。汉化就替换安装路径下的Translations文件夹。原创 2024-06-08 22:36:36 · 3199 阅读 · 0 评论 -
【单片机】STM32F070F6P6 开发指南(一)STM32建立HAL工程
如果已经不小心关闭了 Debug 选项,那么下次下载的时候按住复位键,等到工程提示的时候松开复位键即可,因为 STM32 的芯片默认复位上电时的 Debug 引脚功能是开启的。择 V5.27,这里根据 CubeMX 的版本可能会有差异,我们默认使用 V5 以上的版本即可。省 CubeMX 生成工程的空间,我们勾选生成工程时只复制用到的库(这一步是可选操作,大家。(这里因为我有两个版本的固件包,所以它默认使用最新的,这个关系不大,就。Project Name:工程名称,填入工程名称(半角,不能有中文字符)原创 2024-05-26 22:25:01 · 1529 阅读 · 0 评论 -
【单片机】心率传感器,串口发送,MAX30102心率传感器模块
数值还是稳定的,但太贵了,stm32单片机的话,直接用这篇博客()的代码,一样稳定。原创 2024-04-06 19:15:00 · 783 阅读 · 0 评论 -
【单片机】CJSH22-CH2O,甲醛传感器,甲醛传感器数据读取处理
逻辑是:1、初始化串口和定时器10ms中断2、循环读取一帧数据到rev_CH2O_bufferdata3、在主函数解析数据rev_CH2O_bufferdata4、最终的pm2.5数值就是CH2O_value使用CH2O_value的数据即可。PPB单位,除以1000就是ppm,再乘以1.34那么单位就是mg/m3。原创 2024-04-06 18:08:36 · 1140 阅读 · 0 评论