单片机

第一次写博客,随便说说

ぃ、小莉子 提交于 2019-12-20 03:18:36
  去年毕业,通信工程。目前主要从事一些嵌入式方面的工作,比较底层,多数是写单片机,有时会有跑系统。主要是车载的视频设备还有一些安防监控。之前都是查资料时候会用到博客园和CSDN之类的网站,突发奇想,想自己写点东西,总结一下工作或者学习中遇到的问题,以及一些学习经历心得之类。   在学校时候,算是比较虚度光阴,后来工作才看到差距!以至于现在的心态还算比较励志,也希望自己能始终坚持这份心情,不断学习总结,不断成长。   目前掌握的东西很有限,主要是单片机方面:STM32算是比较主流,还有Terawins一些芯片,Stk6038之类。多是车机用的比较多。至于STM32也没有系统学习过,关于底层寄存器也没有刻意研究过,多是用到时候查阅手册根据demo自己配置一些简单的东西。所以最近一直在学习STM32多是根据开发板给的指导手册,和相关的实验例程自己敲敲。系统的话,工作上也用过不少,但大多也是方案商给的DEMO代码,自己根据具体项目需求修改。FreeRTOS看过一点相关资料,也没有深入。   所以,还是希望自己有时间能多学习一点东西。(然后加一个 #Hello World ) #include "stdio.h" int main (void) { printf("Hellow World!"); return 0; }      希望自己可以坚持!然后主要是用周末时间~         

STM32读写ADXL345 中断功能

走远了吗. 提交于 2019-12-19 17:28:05
首先感谢网上朋友们的分享,我也贴出自己的源码,开源互助! 1、配置:可以换一个引脚,不知道为什么,总是要开始PC8和PC9相同配置,单片机才能进入中断,应该是单片机问题; //ÖжÏÅäÖà ADXL345_WriteByte(DATA_FORMAT , 0x29); delay345_ms(200); //Êä³öµÍµçƽÖжϣ¬13bit·Ö±æÂÊ ADXL345_WriteByte(BW_RATE , 0x09); delay345_ms(100); //Õý³£¹¦ÂÊ 50HzÊä³ö ´ø¿í25Hz ADXL345_WriteByte(POWER_CTL , 0x00); delay345_ms(100); //½øÈëstandby mode ADXL345_WriteByte(POWER_CTL , 0x28); delay345_ms(100); //²âÁ¿Ä£Ê½ ²»»á×Ô¶¯Ë¯Ãß //ÖÐ¶ÏµÍµçÆ½ ADXL345_WriteByte(INT_ENABLE,0x00); delay345_ms(200); //¹Ø±ÕÖÐ¶Ï ADXL345_WriteByte(0x24,0x02); delay345_ms(200); //¼¤»î˯ÃßactivityãÐÖµ,´óÓÚʱ´¥·¢Öжϣ¬2 - 2g ADXL345

单片机的定时器

我怕爱的太早我们不能终老 提交于 2019-12-19 06:10:37
单片机的定时器/计数器 6.1定时/计数器的结构与基本原理 定时计数器的基本原理 计数器 :当脉冲信号是来自单片机外部信号,通过脉冲计数统计,可做计数器使用。 定时器 :当脉冲信号是来自单片机内部的时钟信号,则由于单片机的振荡周期非常精准,故溢出时统计的脉冲数便可换算成定时时间因此可做定时器使用。 注意:定时器/计数器本质都是计数器,只是脉冲信号来源不同。两种功能的切换通过逻辑开关C/T的切换实现。 定时时间的计算: t = (计数器满计数值 - 计数初值) X 机器周期(机器周期 内部振荡器经过12分频后的脉冲) fosc 时钟频率(MHZ)。 同理,计数器方式下的计数值 N 可表示为 ​ N = 计数器满级数值 - 计数初值 = 2^n - a 定时/计数器的结构 ​ 定时/计数器结构图 T0 和 T1 分别由高八位和低八位两个特殊功能寄存器组成,高八位 TH1、 低八位 TL1 定时/计数器的控制是通过两个特殊功能寄存器实现的, TMOD 定时/计数器的 工作方式 寄存器,由它确定 定时/计数器的工作方式和功能; TCON 定时/计数器的 控制 寄存器,用于管理 T0 和 T1 的启停、溢出和中断。 对应的外部引脚 T0 (P3.4) 、 T1(P3.5) 。 定时计数器工作起来后,按 硬件方式独立运行 ,无需CPU干预,降低CPU操作时间。 6.2 定时计数器的控制

第八章单片机接口技术

馋奶兔 提交于 2019-12-19 04:19:46
单片机接口技术 8.1单片机的系统总线 51单片机与外部设备的连接既可以采用 I/O 口方式(非总线结构),也可以采用总线结构。51单片机由于总线受引脚数量的限制,数据总线与地址总线采用复用P0口方案。 三总线结构 输出锁存,输入/输出隔离,P0口无上拉电阻 地址总线(AB)、数据总线(DB)、控制总线(CB) 由图可知;8 位数据总线由P0口组成,16位地址总线由 P0 和 P2 口组成,控制总线则由 P3 口及相关引脚组成。 总线结构特点:节省 I/O 口 便于外设扩展 地址锁存原理及实现 由图,地址 P0 口即做数据总线,有做 低八位地址总线,若不做隔离两者就会发生冲突。因此采用地址锁存器接口芯片将地址信息与数据信息隔离开,如下图,接口芯片型号为74HC373 接线关系: /OE→地(仅作为输出),LE→正脉冲源,D0~D7→P0,Q0~Q7→外设地址端 P0口此时无需上拉电阻(总线方式) /OE 低点平 三态门导通,高电平三态门为高阻状态,/Q端与输出端 Q 断开。 LE为高电平时,D端与Q接通 LE负跳变时,锁存 LE为低电平时,隔离 图示是从单片机中分时地输出地址信息和输入/输出数据信息;/OE接地是为了满足无缓冲直通输出要求;LE 接单片机ALE引脚(地址锁存允许信号输出引脚/编程脉冲输入引脚)是要利用其提供的触发信号。 ALE引脚 MOVX 指令

【STM32学习】(13)STM32实现超声波测距(HC-SR04)

非 Y 不嫁゛ 提交于 2019-12-18 22:10:27
经过反复的研究和调试,终于搞好了,所以说,只要静下心,肯于研究,问题就会显得没那么复杂。 博文写之前,先要分析一下硬件的基本构造和样式以及它的工作原理: 样式如图: 工作原理(很重要): 说明一下工作过程: 单片机型号:STM32F103VET 1.提供一个10us以上的脉冲 2.模块会自动发出8个40KHz周期电平,并检测回波 3.等待输出回响信号, 要注意这个电平是自动产生的,测试距离远,这个脉宽就宽,与检测距离成正比 。 实现步骤: 1. 用按键来调用测距功能 ,后期可以修改成自动循环测距,但循环测距的周期要在60ms以上,不然会有干扰 按键接在 PC0 口 2. 打开串口1(USART1) ,为了在电脑上用串口调试助手看测试的距离值。 3. 打开定时器TIM3 ,这里设置了 5us 中断一次,读者也可以用其它定时器完成 4. 开外部中断1,映射到PA1口外部中断 这样就差不多了 接线: 按键接在PC0 超声波测距模块,trig接在PA0 超声波测距模块,Echo接在PA1 超声波测距模块,VCC接在5V上 下面看代码,因为代码分的文件比较多。只贴出核心代码: 核心代码如下: 来源: CSDN 作者: xiaocaidayong 链接: https://blog.csdn.net/XiaoCaiDaYong/article/details/103605070

如何设计一个电子计算器

我的梦境 提交于 2019-12-18 19:59:46
  版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址   http://www.cnblogs.com/Colin-Cai/p/8185972.html   作者:窗户   QQ:6679072   E-mail:6679072@qq.com   首先,不要误解,我这里的计算器是指硬件的计算器,至于纯软件的计算程序,乃至有高级功能的,比如可以求解方程甚至可编程之类,我以后找个时间来说说。这两天看到有人在博问里问类似的问题,原问是想设计一个有着数码管、有着4x4键盘的硬件里的程序,不知道他具体想做什么,只是给了一些建议。联想到还有计算器这个东西,这应该很容易作为电子工程或者微电子专业的一个作业的形式出现。以前我招实习生的时候,似乎也曾经叫其实现过计算器。这里给出一点方案,以供参考。    硬件   框图如上,主要有4大模块,电源、控制、按键矩阵、数码管。   电源有多种方案,简单点可以用电池或者usb,这里不作详细讨论。   数码管采用共阴或共阳,每一位一个片选,选个6位的,一共14个引脚,都接在控制模块IO引脚上,注意控制信号电平,必要的时候阳级接上拉电阻。   键盘矩阵则是以下电路这样的东西,由一堆按键组成,键盘矩阵对外8个信号都接在控制模块的引脚上。另外,如果控制模块的引脚无法配置上拉或下拉电阻,那么PD0/PD1/PD2

在单片机设计过程中,解决EMC的软硬件处理方法

对着背影说爱祢 提交于 2019-12-18 11:01:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 对于一个电子工程师来说,在单片机的电路设计中电磁干扰不仅关系了单片机在控制在中的能力和准确度,还关系到企业在行业中的竞争。对电磁干扰的设计本文主要从硬件和软件方面进行设计处理,下面就是从单片机的PCB设计到软件处理方面来介绍对电磁兼容性的处理。 一、影响EMC的因数 1.电压 电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。 2.频率 高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当负载电流变化时产生电流尖峰信号。 3.接地 在所有EMC题目中,主要题目是不适当的接地引起的。有三种信号接地方法:单点、多点和混合。在频率低于1MHz时,可采用单点接地方法,但不适宜高频;在高频应用中,最好采用多点接地。混合接地是低频用单点接地,而高频用多点接地的方法。地线布局是关键,高频数字电路和低电平模拟电路的接地电路尽不能混合。 4.PCB设计 适当的印刷电路板(PCB)布线对防止EMI是至关重要的。 5.电源往耦 当器件开关时,在电源线上会产生瞬态电流,必须衰减和滤掉这些瞬态电流。来自高di/dt源的瞬态电流导致地和线迹“发射”电压,高di/dt产生大范围的高频电流,激励部件和线缆辐射。流经导线的电流变化和电感会导致压降

单片机C51期末复习

蹲街弑〆低调 提交于 2019-12-17 22:30:24
1、当EA=1时,可扩展的外部存储器大小 2、CPU中反应程序运行状态和结果 3、存储器的芯片地址线为12根,其容量为 4、外部中断初始化内容 5、P1口作输入时,必须完成那些步骤 6、下载到单片机的程序扩展名 7、子程序和中断返回时的断点在哪里 8、C51中一般字节变量占用几个字节 9、使用宏来访问库文件,应包含那个头文件 10、正确定义一维数组的格式 11、单片机的那个端口的引脚具有串行通信功能 12、单片机既可位寻址,又可字节寻址的单元有哪些 13、定时器T0工作在计数方式时,信号应接在那个引脚 14、外部中断的请求标志 15、要测量引脚INT0上的正脉冲宽度,问TMOD 16、如果A中的内容68H,则P标志位中的内容为多少 17、74LS154具有4个输入的译码器芯片,最多可以访问几个芯片 18、单片机访问外部存储器信号利用哪里的信号锁存低八位地址 19、C51访问外部数据的数据存储器是什么 20、存储器首地址为300H,则扩展32KB后,末地址为多少?若首地址为4000H呢? 21、单片机外部中断请求信号有哪几种方式,有效信号是什么时,激励外部中断 22、单片机复位后,所有的中断申请是否都会开放 23、单片机内部包含哪些主要配件 24、特殊功能寄存器的字节地址多少时,既可字节寻址,又可位寻址25、单片机的PC能否寻址,是直接还是间接寻址 26

STM8单片机烧录程序

折月煮酒 提交于 2019-12-17 18:55:13
最近闲来无事,学习下STM8 使用STV的下载工具 报错后查看网页 http://bbs.elecfans.com/jishu_538276_1_1.html 来源: CSDN 作者: qq_26800875 链接: https://blog.csdn.net/qq_26800875/article/details/103578741