51单片机以其便宜,稳定,网上资料齐全等特点被当做各大高校以及电子爱好者对单片机入门的神器,对于51单片机引脚的控制这个问题,我便以曾经用于单片机入门学习的stc89c52来回答这个问题。 上图就是51单片机的最小系统,从学51单片机的第一天各种各样的教程或者课程都会告诉你单片机最小系统由晶振部分,复位电路部分,及电源部分构成。这三个部分搭建好之后我们便可以通过keil c51使用c语言编程,计
2019-12-28
现在单片机这个大家庭中成员实在太多,每个成员的秉性都不太一样,就拿必须要有的工作电源来说,各个类别的单片机都不一样,比如C51系列的单片机其标准工作电压是5v;PlC单片机工作电源的电压是3.3V;像AVR单片机其最低电压可达1.8Ⅴ就能工作了!由此可知具有一定要求的电压范围是各种单片机工作必不可少的。单片机能正常工作的另一个条件是要具有一定的时钟电路。由于单片机内部是一个复杂且规模庞大的集成度很
2019-12-28
单片机的中断就是类似的一个过程,发生中断时,就会打断正在执行的主程序,先处理完中断任务,返回主程序继续运行,当然在执行中断函数之前,单片机需要把关键的数据保存下来,中断函数执行完成后才可以正确的恢复主函数运行。 单片机的主程序是怎么运行的? 其实单片机的主程序其实是一个主函数,我们一般命名为Main,主函数会从上住下运行的,执行到最后又返回上面继续运行。我们用C语言编写Main主函数时,会用到wh
2019-12-28
能直接驱动断码屏的单片机有很多,比如常见的HT46R62,HT56R64,HT67F50等如上图所示的选型清单中,LCD部分就是断码屏功能外设,HT67F30就能满足需求。 按照HT67F50为例,对lcm部分使用,首先需要内部初始化
2019-12-28
在硬件方面我们要焊接出一个单片机最小系统,然后需要8个LED发光二极管,为了发光色彩好看我们最好选用不同发光色彩的LED比如红色、黄色、绿色、蓝色等。限流电阻可以用220欧姆,因为单片机标准电压是5V,可以共用一个电源。最后接上四个独立按键就可以了,为了切换彩灯切换方式。 下面是程序的设计了: 程序的设计主要包括:读取按键的状态并判断是否有按键按下、按键的去抖动处理并判断是否真正有按键按下、判断
2019-12-28
用单片机制作遥控灯的方法还是比较多的,可以用无线电遥控灯、可以用蓝牙技术控制灯、还可以用无线发射模块nRF24L01实现无线射频遥控遥控灯。当然我们根据题目的要求也可以用红外发射与接受来遥控灯。其实这种红外遥控方式在家电中用的也很多,比如空调的遥控、电视机的遥控、风扇的遥控都采用的是红外遥控方式。用红外遥控需要发射装置和接收装置,那么通常所用个器件就是红外发射管和红外接受管,下图中的黑色类似二极管
2019-12-28
就个人经历谈谈我的看法吧,仅供参考。 07研究生期间,我当时研究方向是嵌入式,但因为老板的军工项目接触了PLC。项目是在国家的一个研究所后来改制成有限责任公司进行,目前应该是行业内非常大的一家企业了。一开始接触项目时,我发现是个大工程,涉及两台台PLC,其中PLC是三菱的,电机是安川的,开关是欧姆龙的,还有编码器是光阳的,编程语言梯形图居然有30000行代码。你知道要完成什么功能吗?一个智能军工焊
2019-12-28
现在单片机的型号比较多,绝大部分编写单片机程序都用的比较多的语言有两种,一种是苦涩难懂而执行效率高的汇编语言;另一种是普遍受广大嵌入式工作者喜爱的C语言。以上两种语言是目前编写单片机程序用的最多的。这两种语言各有优缺点,汇编语言好处是执行的效率高,它直截访问的是单片机内部的寄存器,但其可读性和维护性不好;而C语言好处是容易维护、可读性好并且接近人类语言,但执行效率只是汇编的80%。在做单片机大型控
2019-12-27
现在市场上的单片机型号可谓是琳琅满目,像PIC单片机、AVR单片机、MCS-51单片机、STM32单片机等。如果你刚接触过单片机我还是建议你从低端8位单片机开始学起,因为这种单片机学起来入手快,可以增加你学习单片机的信心,还有一点是这种单片机学习素材多,在书店、图书馆、网上有很多学习资料。最后一点就是这种单片机硬件成本低,一款仿真实验板也就几十元的价钱,对于没有收入的学生来说很容易接受。下面说说具
2019-12-27
学会单片机的开发和应用其实并不难,关键是你的基础知识够不够用。如果你是一个大三学生,已经有了数学、物理、电路的基本知识,就是自学单片机应该也能很快入门。如果你已经有了单片机原理的基础知识,只是没有实践经验,那就要从实际动手开始。因为光有理论知识,你可能感到抽象而不知从何处下手。如果你有一块单片机开发板就可以了,有了单片机开发板,你可以在开发板上进行各种实验,不用开发很多的程序,而要一步一步地实现理
2019-12-27
系统时钟决定了CPU执行指令的时候 CPU的主频大家都知道吧,记得上大学那会装的第一台电脑用的是433MH主频的CPU。现在主流CPU主频一般是3GHz,运算速度已经提升了很多个数量级了。单片机集成了CPU、RAM、ROM等,它的内部也有一个CPU。 单片机的时钟周期、状态周期、机器周期、指令周期是什么? 不同架构单片机的时钟周期、状态周期、机器周期、指令周期是不一样的,以8051单片机为例: 时
2019-12-27
单片机一般是用汇编语言编程,尽量减少代码的数量是一个高级程序设计者所追求的。单片机编程中,第一部分一般是初始化,这段程序一点也少不了多少。以后的部分基本上是功能性的,所以在部分应该是结构化、模块化的编程可以实现程序代码最少,而且由于采用结构化编程,把一个个有独立功能的程序模块化,变成子程序,在程序执行时不断被调用,不僅程序代码少而且程序执行速度快。所以,程序的结构化,模块化不僅是高级语音的设计方法
2019-12-26
单片机全称单片微型计算机,简称MCU。 基本原理和我们常用的电脑中的处理器是一回事,不过要简单的多,因为它是在“特定的小型系统”中使用的“专用计算机”。单片机内部主要模块:CPU、寄存器、累加器、内存RAM、程序存储器ROM(FLASH)、定时器、数据总线、地址总线、异步串行收发器。 单片机能运行起来,还必需要的外围部件,电源电路、时钟震荡电路(晶振
2019-12-26
我来说说我的学习经验,说句实在话我真正学会C语言是从开始学习单片机开始的,以前在上学时也学过C语言,由于只是应付考试,没有深入去学习,当时只是学习了C语言的一些皮毛没有领会C语言的精髓。后来由于工作的需要接触到单片机,刚开始使用汇编语言编写,感觉这种汇编语言晦涩难懂,在一次偶然的机会我从书中看到C语言也可以进行单片机程序的编写,我如获至宝就进入了用C语言编写单片机程序的阶段,下面我和朋友们谈谈我是
2019-12-26
查看MSP430F5529这个单片机型号的数据手册发现,其引脚定义布局还是比较规范的,具体表现如下: (1)引脚Pin1~Pin8,全部都是普通IO引脚,可以被同时定义A4~A15,CB4~CB11或者P6.4~P7.3; (2)引脚Pin9~Pin20,几乎都是单功能定义引脚,软件或者硬件工程师在具体项目应用很方便,尤其是相对其他多功能复用引脚而言;我估计这就是你可能说的引脚乱的原因之一吧 (3
2019-12-26
新手在学习51单片机的时候,最主要是掌握单片机的基本原理,了解单片机最基本的外围电路,掌握单片机的编程思路,学会运用编程软件,在线调试即下载烧录等。 (1)作为新手入门51单片机时,最好购买一块基本功能比较全面,各种例子程序比较齐全且有详细说明的开发板,不懂时可以参考开发板资料学习。 (2)项目练习时,最基本的熟练使用普通I/O口,第一个项目通常是通过I/O口点亮LED指示灯,刚开始先练习怎么点亮
2019-12-26
想要单片机输出模拟信号,属于数字信号转化为模拟信号,简称数模转换;而单片机内部的ADC模块属于模拟信号转化为数字信号,简称模数转换,比如电压电流采样、温度测量、湿度测量、压力测量等都属于模数转换。 由于带DA转换接口的单片机很少,可以使用DA芯片进行外围扩展,单片机只是核心处理器,所有功能并不能做得面面俱到,想要精通掌握单片机,各种外围电路扩展是必不可少的。如下图,使用DA专用芯片DAC0832
2019-12-04
单片机输出模拟量,主要有两种方式,通过DA模块或者PWM模块输出;以我目前经常使用的ST的Cortex-M0系列的处理STM32F051处理器为例。在我负责的产品中,有一款产品需要由单片机产生铃声,为了节省成本,没有使用专用的铃声芯片,而是由单片机的D/A模块输出模拟量以产生铃声,同时根据外接的可调电组,调节输出的电压幅度以调节的音量。具体实现原理如下:1)将产品部提供的wmv的铃声文件,通过go
2019-12-04
EEPROM是非易失存储器的一种。非易失存储器在掉电时数据不丢失,可以永久存储,一般用于存储设置相关的数据。与之相对的为易失存储器,易失存储器在掉电时数据丢失,常用于存储运行过程的数据,其又分为DRAM(动态随机存储器)和SRAM(静态随机存储器),单片机的内部RAM为SRAM。非易失存储器主要有几类:Flash,其特点数据存储单元的数据可以由1写到0,而不能从0写到1。只能通过整页擦除(page
2019-12-04
单片机实现模拟量输出的方法还是比较多的,主要有两类方法,一类是通过一些常见的数模转换芯片实现、另一类是通过单片机内部专有的DAC模块进行转换实现。比如STC系列单片机、mPS430系列单片机、STM32系列单片机等内部都有DAC输出模块,我们通过编写程序对内部寄存器进行配置就可以实现模拟信号的输出。 通过数模转换芯片实现的模拟量输出 我们常见的D/A转换芯片有PCF8591,它 是一个单电源低功
2019-12-04
如果单片机的ADC为12位,那么它的最大值为4095。单片机在进行AD转换前需要先设置一个参考电压。假如把参考电压设置为5V,5V=4095,0V=0;根据这样的关系,我们就可以把模拟电压进行数字化了。比如:2V=2/5*4095=1638。单片机通过ADC测电流电子产品的设计中,我们往往需要加入过流保护。有了单片机ADC的协助,就可以实现这个功能。我们可以给负载串联一个阻值较小的电阻,单片机通过
2019-12-04
实现实时时钟是单片机开发学习过程中,一个里程碑式的综合性项目,如果能独立完成实现实时时钟的相关显示,设置等功能,那就代表着单片机编程已经完全入门了。进入一个新的学习阶段了。 要想完成实时时钟的单片机项目,需要具备有多项技能和专业知识。 1扎实的C语言基础,对于基本的C语言编写流程和框架比较熟悉,掌握各类变量定义,基本语法的掌握和使用。 2 基本的硬件基础,能够自己焊接和搭建,调试实时时钟,对于问
2019-12-04
如果只是提供控制信号给负载,则比较简单 只需要将单片机输出的PWM信号通过一个R、C滤波电路就可以变成直流电压。R、C滤波电路的时间常数R*C至少需要大于10倍的PWM周期,滤波得到的直流电压纹波才比较小。 如果需要给负载供电,则需要采用PWM设计一款开关电源 需要有储能器件,如电感、电容、变压器等,PWM驱动MOS或者IGBT等功率开关器件控制储能器件的通断。 在功率开关器件导通时,电源向储能
2019-12-04
ADC硬件电路 ADC采样的硬件电路比较简单,经过调整之后的电路通过R、C滤波接到ADC采样端口。 如果对精度有要求,可以在单片机的AD基准电压的输入脚Vref接入高精度的稳压电源。 可以采用TL431提供Vref电压。 需要注意输入采样电压的瞬时值不能操作ADC端口允许的输入电压范围。 ADC端口的输入电阻不能过大,否则在多路ADC转换时,ADC模块的采样电容可能没有足够的时间采样到电压就开始转
2019-12-04
通过云服务器中转可以实现单片机与手机的远距离通信 只要有互联网连接,通过云服务器中转,单片机和手机无论处于地球的哪一个角落都可以进行通信,这就是物联网的魅力了。 单片机如何接入互联网? 单片机作为处理器,本身是没有联网功能的。需要通过WIFI模块的协助才可以接入互联网。单片机通过UART接口与WIFI模块连接,单片机通过AT指令就可以和WIFI模块进行沟通了。单片机把可用WIFI热点的SSID和
2019-12-04