如何写出高效率稳定的单片机代码?
由于单片机的性能同电脑的性能是天渊之别的,无论从空间资源上、内存资源、工作频率,都是无法与之比较的。PC 机编程基本上不用考虑空间的占用、内存的占用的问题,最终目的就是实现功能就可以了。对于单片机来说就截然不同了,一般的单片机的Flash 和Ram 的资源是以KB 来衡量的,可想而知,单片机的资源是少得可怜,为此我们必须想法设法榨尽其所有资源,将它的性能发挥到最
转载
2023-12-12 11:31:33
93阅读
通过串口烧入hex到pic单片机(pic已经运行boot程序)down_hex.py 源码#coding:utf-8import serialimport pic_hex_parsimport timefrom threading import Timer#串口定时接收class PicSerial():def __init__(self):self.t = Timer(0.02, self.fu
转载
2024-03-06 16:53:00
56阅读
买来8266后好久没用,今天才发现自己安装的python3.6版本不支持,电脑兼容安装python2.7.7和python3.6.6成功后解决了清除和下载固件失败问题,成功点亮led1.安装esptool在命令行下输入pip install esptool2.安装固件下载地址:http://micropython.org/ 我安装的是最新的V1.12版本3.清空和写入固件与电脑连接好后, 命令行下
转载
2023-07-02 22:29:06
81阅读
发布: 2009-4-07 18:57 | 作者: hnrain | 查看: 152次 | F:d e P01前言电子园51单片机学习网-|e2Bh cCZ0a}*O-e;L?h0如何编写单片机应用程序,这是一个实践性很强的题目,也是1项艰苦而细致的工作。如果按照一定的步骤并且找出难点,事先对这些难点加以处理,能够收到事半功倍的效果
前言之前实践了下face++在线人脸识别版本,这回做一下离线版本。github 上面有关于face_recognition的相关资料,本人只是做个搬运工,对其中的一些内容进行搬运,对其中一些例子进行实现。官方描述:face_recognition是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,特别是兼容树莓派系统。本项目是世界上最简洁的人脸识别库,你可以使用Pyth
单片机定时中断的精确定时编程方法种种时间:2006-03-03 发布人:meitai 引 言 MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为3~8个机器周期[1]。无论是哪一种原因引起的误差,在精确定时的应用场合,必须考虑它们
转载
2024-07-20 07:18:14
27阅读
之前一直很奇怪一个问题,每次写好单片机程序之后,用烧录软件进行烧录时,能看到烧录文件也就是hex的文件大小:我用的单片机芯片是STM32F103C8T6,程序储存器(flash)只有64K。从上图可以看出,hex有128K。我有两点疑问,1. 只是一个很简单的平衡小车程序而已,有128K,这么大吗?2. 就算有128K,能下载到只有64K容量的单片机中去?这可能是一道送命题!下面开始我们的探索之旅
转载
2023-08-25 13:39:13
193阅读
一、基本结构先看架构图 框架.png二、设备端接入物联网终端是用的ESP32,是一款自带蓝牙和Wifi的单片机。利用它可以直接接入互联网,无需其他模块。当然你可以将现在流行的NB-Iot模块来联网,不过需要自己写一下驱动程序。我买的模块是支持micropython开发的,在淘宝上可以搜索到,用起来很方便。有时间我会补上这一块的初步教程。 ESP32模块.jpgMicropy
转载
2024-07-22 11:02:52
131阅读
声光控开关在我们日常生活中已经非常普遍了,几乎每个小区的楼道里都能有声光控开关的影子。现在也逐渐出现了声光控的小夜灯,晚上起夜再也不用担心太黑、刺眼、找不到开关了!下面就教大家用Python这次用的到主要MCU依然是能跑Python的开发板TPYBoard,这款DIY套件在TPYBoard官网上有售,感兴趣的朋友可以买回来DIY哦!1.实验目的1. 学习在PC机系统中扩展简单I/O 接口的方法。2
转载
2023-10-31 21:42:06
251阅读
最近看了垃圾分类很多人做,身为学电子出身的我,也想试试。那首先怎么实现分类呢? 搞摄像头识别。。。。感觉有点难度,还要算法,慢慢研究,然后灵机一动就想到语音控制,我的想法是我说这个垃圾的名称,然后下位机就能识别出垃圾的种类。比如我说,鸡蛋壳,下位机就能识别到 这是干垃圾,就打开相应的垃圾桶,好的说干就干。赶紧上某宝,搜一下语音模块,额 感觉有点贵啊。还要一个一个词条一个词条的录入(其实还是因为贵)
转载
2023-10-01 19:32:30
142阅读
尝试过很多编程语言,写过不少程序(当然,基本上都是些自娱自乐或给自己用的工具类的小玩意儿),逐渐认识到编写程序是一个不断完善、不断优化的过程——编程首先要有一个想法(目标),围绕这个目标形成最基本的功能逻辑,测试证明功能有效之后就算目标基本实现了。随后,可以扩展基本功能的应用领域,加强程序的容错能力和交互性,逐渐形成一个更完善更健壮的程序。以下通过一个小例子来对此过程稍作展示:在计算器上、电梯上、
转载
2023-10-31 21:33:45
188阅读
MicroPython是运行在微控制上的Python,Python现已成为非常热门的程序语言,在微处理器领域更是备受欢迎。Python可以完成单片机这样对实时性要求高的开发环境,Python移植相对比较容易,有很多的版本。目前关于MicroPython的开发板比较单一,今天要介绍的是一款带以太网的MicroPython开发板——TPYBoardv201。以太网的MicroPython开发板PYBo
转载
2023-08-15 12:56:46
415阅读
比如说有两个dict:x和y1.比较快的自己写的,def merge_dict(x,y):
for k,v in x.items():
if k in y.keys():
buffer[k] += v
else:
buffer[k] = v2.调用api,这个慢一点从对python 合并 累加两个dict的实例详解分析来看,对对python 合并 累加两个dict的实例详解的结果。from col
转载
2023-08-23 17:50:57
54阅读
0.前言学习 Go 离不开看源码,源码又包含大量汇编代码,离开汇编是学不好 Go 的。同样,离开汇编去学习计算机是不完整的,汇编是基石,是离操作系统和硬件最近的一层。虽然之前学过一点 Go 汇编,也写了博客,再回头看还是有些地方不理解,看完王爽老师的《汇编语言》部分内容豁然开朗,也加深了对 Go 汇编的理解。本篇笔记结合王爽老师《汇编语言》和《Go 高级编程》部分内容,对理解进行总结,强化,加工再
# 单片机程序的架构与开发
单片机(Microcontroller)是一种集成了CPU、存储器和外设接口的微型计算机,是嵌入式系统的核心。编写单片机程序,通常会遵循一定的架构,这有助于提高代码的可扩展性和可维护性。本文将介绍单片机程序架构的基本概念,并通过代码示例和流程图帮助读者更好地理解这一主题。
## 单片机程序架构的基本组成部分
1. **初始化部分**
在单片机程序中,初始
1. 硬件连接SWIM接口只需要一根传输线,即可完成双向的传输。传输过程,都是由主控制端(host)发起,设备端然后做出反应。host端需要在一个总线上实现读和写,那就是说必须要同时接一个输出IO和一个输入IO(也可以用同一个,开漏的情况下,IO可以同时读写),且输出IO必须设计成开漏,总线上挂接上拉电阻,以便随时交出控制权。硬件连接如下: 上图SWIM_IN为输
转载
2023-11-09 17:22:23
411阅读
单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢?那么这个问题的答案就是:不能不能,而是不合适。一、单片机编程的特点对单片机编程来说,首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。第二、单片机
转载
2024-08-07 12:30:03
80阅读
目录一、点亮一个led二、led闪烁三、led流水灯四、独立按键控制led亮灭(1)一个按键控制亮灭(2)通过按键控制灯的状态(3)按键控制led显示二进制(4)按键控制led移位一、点亮一个led 要点亮一个led,首先我们要学会看单片机的原理图,这里我就以普中HC6800 ES V2.0为例。&nbs
转载
2024-06-07 12:41:02
791阅读
1.分别从ROM的1000H和1020H单元开始,按顺序存放0~9中每个整数的平方值和字符串“An apple!”ORG 1000H
DATA1: DB 0,1,4,9,16,25,36,49,64,81
ORG 1020H
DATA2: DB "An apple!"
END2.将外部RAM 1000H单元的内容清零ORG 0000H
LJMP START
START: MOV
转载
2023-10-14 08:54:49
1077阅读
第一讲如何开关控制发光管闪烁(无开关)如何开关控制发光管闪烁(有开关)第二讲模拟交通灯驱动数码管按键控制 LED移位说明: 按下 K1 时,P0口 LED左移一位。? ?按下 K2 时,P0 口 LED右移一位。? ?按下 K3 时,P2 口 LED右移一位。? ?? 按下 K4 时,P2 口 LED左移一位。数码管滚动显示单个数字说明:数码管从左到右依次滚动显示1--6播放生日快乐歌说明:程序运
转载
2023-12-21 07:01:25
62阅读