单片机

单片机入门教程之认识单片机

走远了吗. 提交于 2020-02-27 15:35:18
由于工作原因时间不允许每天更新一篇DIY,一篇电子DIY文章需要的时间很多,包括制作,录视频,剪切视频,过程有点繁琐,小编将讲通过单片机来DIY一些电子作品,单片机用的外部硬件少,主要在程序上实现,把相应模块接入单片机写程序就可以实现相应的功能,有喜欢学习单片机的可以关注,将从入门开始说起,今天我们先来认识什么是单片机 认识单片机 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。 单片机主要特点 1、主流单片机包括CPU、4KB容量的ROM、128 B容量的RAM、 2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。 2、系统结构简单,使用方便,实现模块化; 3、单片机可靠性高,可工作到10^6 ~10^7小时无故障; 4、处理功能强,速度快。 5、低电压,低功耗,便于生产便携式产品 6、控制功能强 7、环境适应能力强。 单片机开发板 单片机分类

51单片机串口通信

主宰稳场 提交于 2020-02-27 15:34:17
这节我们主要讲单片机上串口的工作原理和如何通过程序来对串口进行设置,以及根据所给出的实例实现与PC 机通信。 一、原理简介 51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。 与之前一样,首先我们来了解单片机串口相关的寄存器。 SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工。 串行口控制寄存器SCON(见表1) 。 表1 SCON寄存器 表中各位(从左至右为从高位到低位)含义如下。 SM0 和SM1 :串行口工作方式控制位,其定义如表2 所示。 表2 串行口工作方式控制位 其中,fOSC 为单片机的时钟频率;波特率指串行口每秒钟发送(或接收)的位数。 SM2 :多机通信控制位。 该仅用于方式2 和方式3 的多机通信。其中发送机SM2 = 1(需要程序控制设置)。接收机的串行口工作于方式2 或3,SM2

到底什么是嵌入式?什么是单片机?

懵懂的女人 提交于 2020-02-27 15:20:23
凡是从事计算机或电子信息相关领域工作的童鞋,一定都听说过 嵌入式 和 单片机 吧? 很多人应该知道,这两个名词和硬件系统有着非常密切的关系。一听到它们,就容易让人联想到插满芯片和针脚的电路板: 但是,如果要问具体什么是嵌入式,什么是单片机,它们之间究竟有什么区别,我相信大部分人并不能解释清楚。 今天,小枣君就给大家做一个入门科普,揭秘上述问题的答案。与此同时,我还会给大家介绍一下,我们经常听说的51、STM32,究竟是什么。 什么是嵌入式 首先,我们来看看什么是嵌入式。 嵌入式,一般是指嵌入式系统,英文叫作:embedded system。嵌入式开发,其实就是对嵌入式系统的开发。 IEEE(美国电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或者辅助操作机器和设备的装置”。 国内学术界的定义更为具体一些,也更容易理解: 嵌入式系统,是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 以应用为中心,说明嵌入式系统是有明确实际用途的。以计算机技术为基础,说明它其实就是一种特殊的计算机。软硬件可裁剪,说明它有很强的灵活性和可定制能力。 专用计算机系统,“专用”所对应的,就是“通用”。我们常用的个人PC、笔记本电脑、数据中心服务器,可以用于多种用途,就是“通用计算机系统”。 嵌入式系统究竟具体应用于哪些“专用

如何用单片机设计低功耗与低成本的无线远程状态监控装置

佐手、 提交于 2020-02-27 13:24:00
本文给出了一种低成本、低功耗,用于矿山供水系统的远程状态监测装置设计实例。该装置设计基于宏晶公司生产的单片机,结合PCF8563时钟芯片实现低功耗定时唤醒,保证了系统具有极低的待机功耗与准确的工作周期。装置外围电路设计均考虑了低功耗与低成本的要求。实际试用证明,该装置达到设计要求,成功解决了原供水系统存在的水位监控不便的问题。 1 引言 在现代工业及民用领域中,单片机广泛应用于汽车电子、安防、电机控制、家电控制、工业测控、电动工具等场合。其中,选用合理的硬件结构和软件设计,往往能以较低的成本,极低的功耗,搭建可靠的单片机系统,实现需要的功能。 2 设计背景 本文介绍了某磷矿供水系统无线监控装置的设计思路与设计过程。该磷矿在山区,储水池位于山顶,容量约3000立方米,向厂区提供生产用水及生活区用水。水源地和水泵房位于山腰平缓地带,储水池与水泵房直线距离约450米,高差约120米。为了正常供水,必须保证水池水位高于出水口、低于水池上限。该水池曾经进行过自动化改造,采用电缆传回水位信号,控制水泵房水泵自动运行与停止。 但该方案多次由于矿山周边闲杂人员盗割电缆,鼠害损毁电缆等原因造成停水或溢水,严重的时候甚至造成生产区停工,后改为人工值守。但人工值守需24小时值班,工作环境差,人力成本高。经过建议,矿山方面同意试用远程无线监控装置对供水系统进行自动化改造,但要求装置具有低成本高可靠性的特点

详细解析单片机控制继电器原理图以及其作用

拜拜、爱过 提交于 2020-02-27 06:51:26
首先看看 继电器 的驱动 这是典型的继电器驱动 电路 图,这样的图在网络上随处可以搜到,并且标准教科书上一般也是这样的电路图 为什么要明白这个图的原理? 单片机 是一个弱电器件,一般情况下它们大都工作在5V甚至更低.驱动 电流 在mA级以下.而要把它用于一些大功率场合,比如控制 电动机 ,显然是不行的.所以,就要有一个环节来衔接,这个环节就是所谓的"功率驱动".继电器驱动就是一个典型的、简单的功率驱动环节.在这里,继电器驱动含有两个意思:一是对继电器进行驱动,因为继电器本身对于单片机来说就是一个功率器件; 还有就是继电器去驱动其他负载,比如继电器可以驱动 中间继电器 ,可以直接驱动 接触器 ,所以,继电器驱动就是单片机与其他大功率负载 接口 .这个很重要,因为,一直让我们的电气工程师(我指的是那些没有学习过相应的电子技术的)感到迷惑不解的是:一个小小的芯片,怎么会有如此强大的威力来控制像电动机这样强大的东西? 怎么样理解这个电路图? 要理解这个电路,其实也比较容易.那么请您按照我的思路来,应该没有问题: 首先的,里面的 三极管 很重要.三极管是电子电路里很重要的一个元件.怎么样理解三极管呢? 简单的来说三极管有两个作用一个是放大作用,一个是 开关 作用.(严格来讲开关作用是放大作用的极限情况,不过没关系,把两者分开,更便于理解它的工作原理).在这里

嵌入式系统设计学习周记①——初步了解嵌入式技术

∥☆過路亽.° 提交于 2020-02-27 00:53:12
嵌入式软件与非嵌入式软件的区别 嵌入式:在已有的硬件上移植(需要修改操作系统源码,安装不需要)操作系统解决软硬件耦合导致的问题。 嵌入式软件和非嵌入式软件的区别即传统开发和嵌入式开发的优缺点: 传统开发的缺点:1.软硬件耦合度高导致软件移植性差 2.软件开发人员必须懂硬件 3.软件功能性差; 优点:简单,开发成本低。 嵌入式开发的优点:1.解决传统开发软硬件耦合度导致的问题 2.多任务机制 3.提供了丰富的网络协议栈4.提供了丰富的开源软件和工具 缺点:硬件成本高。 例如嵌入式与单片机区别 单片机: 软件 —— 硬件 嵌入式: 软件 ——操作系统——硬件 嵌入式操作系统的优势 可以移植的操作系统称为嵌入式操作系统。 操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。 嵌入式是通过操作系统,间接控制硬件。因此当硬件平台发生改变,但是依旧与操作系统兼容,那么软件程序就不会改变。并且软件开发人员不需要了解硬件,只要学会操作系统中功能的调用,极大地提高了效率,因此嵌入式引入了操作系统,具有以下几个优势: 提供了很多开源的软件,工具,库。 可以实现多任务(所谓的多任务就是快速切换)。 操作系统中有一些网络协议,因此嵌入式是可以上网的,提供了大量的网络资源

掌据这几个设计思想,从单片机小白立马升级为单片机工程师

谁说我不能喝 提交于 2020-02-26 23:30:51
分层思想 分层的思想,并不是什么神秘的东西,事实上很多做项目的工程师本身自己也会在用。看了不少帖子都发现没有提及这个东西,然而分层结构确是很有用的东西,参透后会有一种恍然大悟的感觉。如果说我不懂LCD怎么驱动,那好办,看一下datasheet,参考一下阿别人的程序,很快就可以做出来。但是如果不懂程序设计的思想的话,会给你做项目的过程中带来很多很多的困惑。 参考了市面上各种各样的嵌入式书籍,MCS-51,AVR ,ARM 等都有看过,但是没有发现有哪本是介绍设计思想的,就算有也是凤毛麟角。写程序不难,但是程序怎么样才能写的好,写的快,那是需要点经验积累的。结构化模块化的程序设计的思想,使最基本的要求。然而这么将这个抽象的概念运用到工程实践当中恩?那需要在做项目的过程中经历磨难,将一些东西总结出来,抽象升华为理论,对经验的积累和技术的传播都大有裨益。所以在下出来献丑一下,总结一些东西。 就我个人的经验而谈,有两个设计思想是非常重要的。 一个就是 “时间片轮的设计思想” ,这个对实际中解决多任务问题非常有用,通常可以用这个东西来判断一个人是单片机学习者,还是一个单片机工程师。这个必须掌握。(下文将介绍)。 第二个就是 “分层屏蔽的设计思想” 即分层思想。下面用扫描键盘程序例子作为引子,引出今天说的东西。 问题的提出 单片机学习板一般为了简单起见,将按键分配的很好,例如整个 4*4

空调单片机工作三要素电路分析

只谈情不闲聊 提交于 2020-02-26 14:14:29
一、单片机概念: 单片机:单片机是一种集成电路芯片,是采用超大规模集成电路:集成了中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O接口和中断系统、定时器/计数器等功能,集成到一块硅片上构成的一个小而完善的微型计算机系统。 二、芯片工作三要素: 01、电源电路:为电路板提供工作电源 变压器过来5V的电源,经过滤波电路之后,接到IC4单片机VDD引脚和IC5单片机VCC的引脚上。 02、晶振电路(也叫时钟振荡电路) 系统提供一个基准的时钟序列,以保障系统正常准确的工作。 振片常用的有两脚或者三脚的; 室内机电路板的晶振的1,3脚接入了单片机的7,8脚,晶振的2脚接地。这样,就可以给单片机提供一个4M的时钟频率。 注意:如果晶振片坏了,必须要同型号的晶振片来替换。 复位电路:使单片机内部程序初始化; 我们先看两个复位电路的原理图: 以上复位电路采用IC3集成模块,5V电压接近IC3模块的引脚1,引脚2接地GND,引脚3出来复位电路通过R39接近IC4主模块的引脚8(RESET)。 以上复位电路比较简单,有下面几个元器件构成: R92,D5,C57,C52。空调刚开始上电的时候,由于C57这个电解电容的存在,芯片的第3个引脚就会维持一段时间的低电平,它的低电平的时间会大于单片机的复位要求的低电平的时间,所以就会使芯片复位。 来源: oschina 链接: https:/

空调单片机工作三要素电路分析

夙愿已清 提交于 2020-02-26 12:44:17
一、单片机概念: 单片机:单片机是一种集成电路芯片,是采用超大规模集成电路:集成了中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O接口和中断系统、定时器/计数器等功能,集成到一块硅片上构成的一个小而完善的微型计算机系统。 二、芯片工作三要素: 01、电源电路:为电路板提供工作电源 变压器过来5V的电源,经过滤波电路之后,接到IC4单片机VDD引脚和IC5单片机VCC的引脚上。 02、晶振电路(也叫时钟振荡电路) 系统提供一个基准的时钟序列,以保障系统正常准确的工作。 振片常用的有两脚或者三脚的; 室内机电路板的晶振的1,3脚接入了单片机的7,8脚,晶振的2脚接地。这样,就可以给单片机提供一个4M的时钟频率。 注意:如果晶振片坏了,必须要同型号的晶振片来替换。 复位电路:使单片机内部程序初始化; 我们先看两个复位电路的原理图: 以上复位电路采用IC3集成模块,5V电压接近IC3模块的引脚1,引脚2接地GND,引脚3出来复位电路通过R39接近IC4主模块的引脚8(RESET)。 以上复位电路比较简单,有下面几个元器件构成: R92,D5,C57,C52。空调刚开始上电的时候,由于C57这个电解电容的存在,芯片的第3个引脚就会维持一段时间的低电平,它的低电平的时间会大于单片机的复位要求的低电平的时间,所以就会使芯片复位。 来源: CSDN 作者: EDA365????

蓝桥杯单片机训练[1]---锁存器控制

半世苍凉 提交于 2020-02-26 11:46:34
竞赛板上有四片74573锁存器,由138译码器进行输入控制,Y4C-Y7C分别连接LED,ULN2003,数码管位选控制器,段选控制器。 由138真值表可得译码器输入三位二进制数决定对应引脚的低电平,其余引脚为高电平,经或非门门0变为1,对应锁存器打开。 Y4 Y5 Y6 Y7导通时138输入为4,5,6,7,对应二进制为100,101,110,111 138译码器的控制位从高到低为CBA,连接到P2口高三位,锁存器控制代码如下: void CTL138(u8 n) { P2 &= 0x1f; //关闭所有锁存器 P2 |= n<<5; //将n移到高三位,选通锁存器 P2 &= 0x1f; //关闭所有锁存器 } 锁存器选通前后均进行关闭操作是为了避免其他数据串入对应锁存器。 下面我们利用锁存器控制函数实现对一些外设的的控制 首先是ULN2003,这其实就是一个反向驱动器,顾名思义,输入与输出是反向的。 废话不多说,直接上代码 void ULN2003(u8 n) { switch(n) { case 0: P0&=~0x40;break;//关蜂鸣器 case 1: P0|=0x40;break; case 2: P0&=~0x10;break;//关继电器 case 3: P0|=0x10;break; } CTL138(5); } 此外,板子如果不关LED锁存器不赋初值的话