
单片机
本专栏探究各种单片机学习、实践中可能遇到的问题。欢迎交流、指教。
Archer-
每一步的坚持,期待明天的你
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何下载Keil包
官方下载链接:http://www.keil.com/dd2/pack/原创 2022-07-14 13:43:51 · 335 阅读 · 0 评论 -
1.8寸TFT屏幕显示汉字 PcToLCD2002完美版配置
原创 2022-02-26 00:02:54 · 1281 阅读 · 0 评论 -
C语言Float的存储大小
所占内存大小在keil C51或者iar for c8051编译器下:int 占两个字节 范围:-32768~+32767long占四个字节 范围:-2147483648~+2147483647float占四个字节 范围:3.40E+38 ~ +3.40E+38double占8个字节 范围:-1.79E+308 ~ +1.79E+308图片来源 https://www.bilibili.com/video/BV1354y1B7o1?from=se原创 2022-02-06 23:09:57 · 5870 阅读 · 0 评论 -
Keil获取flash烧写起始地址
原创 2021-12-10 12:55:10 · 1020 阅读 · 0 评论 -
Keil生成bin文件
打开设置嵌入指令fromelf --bin -o "[email protected]" "#L"再次编译即可原创 2021-12-10 11:21:24 · 405 阅读 · 0 评论 -
Keil5无法定位到函数、变量的定义
但是加了之后会让编译变慢原创 2021-11-13 16:02:14 · 2685 阅读 · 0 评论 -
Keil C51编辑器支持的数据类型
https://blog.csdn.net/kkdl1990/article/details/50390404转载 2021-10-01 08:53:32 · 616 阅读 · 0 评论 -
利用Keil获取编译的时间、日期、所在目录---
Keil中有几个常用的宏定义宏定义备注输出举例DATE程序编译的日期Aug 16 2021TIME程序编译的时间15:18:15FILE程序所在的文件路径g:\projects\Src\main.cLINE调用时所在的行数147上述宏定义均为字符串格式,可以使用printf输出备注:转为十进制数的方法每一个元素减去0x30即可...原创 2021-08-16 15:26:45 · 1970 阅读 · 0 评论 -
EIDE编译出错:Error: L6406E: No space in execution regions with .ANY selector matching main.o(i.main).
问题描述使用EIDE导入Keil项目之后,编译报错Error: L6406E: No space in execution regions with .ANY selector matching main.o(i.main).问题解决修改RAM/FLASH布局参考https://discuss.em-ide.com/d/100-stcubemx-keil/2原创 2021-08-07 19:21:37 · 1103 阅读 · 0 评论 -
什么是大端和小端?
什么是大端和小端?大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。小端模式:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。假如32位宽(uint32_t)的数据0x12345678,从地址0x08004000开始存放:地址小端存放内容大端存放内容0x080040030x120x780x080040020x340x560x080040010x560x340x080040000x780转载 2021-08-02 17:32:46 · 3112 阅读 · 0 评论 -
4段带时钟数码管显示中间两个点
其实就是第二个数码管的h位,如果是一个共阴极的话加一个0x80就好。//这是一个共阴极的P0 = SMG[1]+0x80;//这是一个共阳极的P0 = ~(SMG[1]+0x80);原创 2020-12-01 19:35:51 · 1816 阅读 · 0 评论 -
将正点原子的红外遥控移植到stm32f103c8t6
1.修改芯片类型可以参考这一篇文章注意要在主函数中添加SystemInit();,不然程序会运行的很慢。2.消除报错移植之后,你会发现有很多的报错1.定时器报错因为stm32f103c8t6没有这个定时器,使用替换即可,仅在当前文档替换2.其他的报错TIM_ICInitTypeDef未定义在工程中添加stm32f10x_tim.h并在stm32f10x_conf.h中取消注释ps:有时候还会报错,这时候你需要添加路径...原创 2020-10-18 10:11:48 · 1229 阅读 · 0 评论 -
蓝牙模块转态指示灯异常/常亮
问题描述我是用的是JDY-31蓝牙模块,在调试的过程中出现“状态指示灯常亮”的问题。问题解决这个问题在于周围有相同频率的电磁波的干扰,我发现我的旁边还有一个蓝牙模块开着。把那个蓝牙模块断电就好了。...原创 2020-10-17 19:32:00 · 2288 阅读 · 0 评论 -
使用USB转ttl给stm32下载程序
电路连接0准备最小系统版的BOOT0置1,BOOT1置0USB转TTL的5V与VCC短接1连接USB转TTLSTM32单片机引脚定义3V33V3TXDPA10RXDRXDPA9TXDGEDGND使用flymcu下载程序首先要搜索串口然后点击开始编程即可flymcu软件参数配置如下...原创 2020-09-28 22:16:25 · 13573 阅读 · 7 评论 -
51单片机正在检测单片机
解决方案检测是否冷启动 掉电上电就是断开VCC,然后接上检查晶振是否正常工作 是否有启动电容检查单片机的型号是否选对检查你的下载器是否正确 USB to TTL等原创 2020-08-14 18:23:48 · 2028 阅读 · 0 评论 -
解决vscode中vscode can‘t open file ‘.\SRC\MAIN.C‘
问题描述在使用vscode用EIDE编译Keil文件时报错vscode can't open file '.\SRC\MAIN.C'解决方法打开控制面板取消勾选原创 2020-07-28 21:52:55 · 2228 阅读 · 0 评论 -
51单片机串口通信简单示例
硬件说明单片机型号:STC89C52晶振频率:11.0592MHZ参考代码#include <reg52.h>/* 自定义变量类型 */typedef unsigned char uchar; //0~255typedef unsigned int uint; //0~65535uchar a;uchar flag = 0;void UartInit(void) //[email protected]{ TMOD = 0x20原创 2020-07-22 22:47:58 · 1510 阅读 · 1 评论 -
51单片机EEPROM应用24C02
硬件说明单片机型号 :STC89C52晶振频率:11.0592MHZ参考代码#include <REG52.H>#include <intrins.h>/* 自定义变量类型 */typedef unsigned char uchar; //0~255typedef unsigned int uint; //0~65535//共阴数码管码表uchar SMG[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x原创 2020-07-22 17:38:20 · 523 阅读 · 0 评论 -
51单片机控制超声波模块
电路连接超声波模块单片机备注VCCVCC电源GNDGND地线EchoP2^0接收信号TrigP2^1发射信号测量范围 2—400cmHCSR04模块有四个引脚,VCC,GND,TRIG和ECHO;这些引脚有不同的功能。VCC和GND是HSCR04的直接驱动电源。这些引脚需要分别连接到+5v电压和地。TRIG引脚负责发射超声波信号的信号引脚。这个引脚需要用超过10us的高电平来启动,每一点HCSR04会发射8个40khz的方波。方波发原创 2020-07-21 23:06:07 · 10674 阅读 · 10 评论 -
51单片机控制SG90舵机
接线接线方法:红 色VCC棕色GND橙色信号线原理调整信号线的PWM,实现各个角度转动高电平t占整个周期T(20ms)的时间舵机旋转的角度0.5ms ---------> 0度1ms ---------> 45度1.5ms ---------> 90度2ms ---------> 135度2.5ms ---------> 180度参考代码#include <REG52.H>/* 自定原创 2020-07-21 11:44:53 · 13602 阅读 · 5 评论 -
VsCode EIDE 编译Keil时出现ERROR L107: ADDRESS SPACE OVERFLOW
问题*** ERROR L107: ADDRESS SPACE OVERFLOWSPACE: DATASEGMENT: ?DT?MAINLENGTH: 000079H解决方案修改参数这个地方改为 “ram-mode”: “LARGE”,如果还是不能解决的话,就删除没有用的变量。原创 2020-07-16 17:33:27 · 936 阅读 · 0 评论 -
esp8266接入Blinker故障总结及解决方案(欢迎大家评论,不定时更新)
1. 程序出错尝试使用以下例程#define BLINKER_PRINT Serial#define BLINKER_WIFI#include <Blinker.h>char auth[] = "Your Device Secret Key";char ssid[] = "Your WiFi network SSID or name";char pswd[] = "Your WiFi network WPA password or WEP key";// 新建组件对象B原创 2020-07-05 15:32:25 · 9286 阅读 · 4 评论 -
如何使用Kei5 新建工程
#新建一个工程原创 2020-06-29 11:14:29 · 4574 阅读 · 0 评论 -
51单片机使用DS18B20
#include <REG52.H>#include <MYLIB.H>sbit DQ = P3^7;uchar display_temp[10];uchar DS18B20_inint(){ uchar i = 0; DQ = 0; delay_10us(50); DQ = 1; while (DQ) { delay_10us(1); i++; if(i>5)原创 2020-07-13 22:47:01 · 844 阅读 · 0 评论 -
51单片机使用DS1302
#include <REG52.H>#include <MYLIB.H>//---定义ds1302使用的IO口---//sbit DSIO=P3^4;sbit RST=P3^5;sbit SCLK=P3^6;//---DS1302写入和读取时分秒的地址命令---////---秒分时日月周年 最低位读写位;-------//uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d}原创 2020-07-14 20:17:31 · 908 阅读 · 1 评论 -
51单片机将字符转换为16进制数
首先判断是数字还是字母,如果是数字,那么减0x30(0的ASCII),如果是字母,那么减0x41(A的ASCII),减完后,将两个数组合起来就可以了,第一个数放高四位,第二个数放低四位。引自https://zhidao.baidu.com/question/364239821229248972.html例如 //初始化时钟的时间 //时 t1 = __TIME__[0] - 0x30; t2 = __TIME__[1] - 0x30; TIME[2] = t.原创 2020-07-15 10:07:31 · 3467 阅读 · 0 评论