跳转到主要内容

单片机

学什么单片机最有前途?

Lee_ /

<br/>
这是单片机初学者经常问的问题。对于这个问题,我想没有人敢下定论。因为每一种单片机各有所长,都适用于其所能充分发挥作用的领域,不存在优差之分。学单片机应该先学51单片机,学会了51单片机再去学其他单片机,这是学习单片机过来人的同感,也是公认的学习方法。为什么要先学51单片机?因为51单片发展最早,应用最广泛,特别是I/O口的操作非常简单,而且相关的学习资料最多、教材最成熟,学习起来得心应手,入门很快。有了这个基础再去学习其他单片机那就是小菜一碟了,只是对着芯片数据手册设置寄存器罢了,快则一两个星期,多则一个月就能掌握另一种单片机了。如果一开始就选择非51单片机学习,那将是“路漫漫其修远兮,你将艰难而求索!”

三方面入手“甩掉”单片机设计的电磁干扰

Lee_ /

<strong>一、影响EMC的因数</strong>

<strong>1、频率</strong>

高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当负载电流变化时产生电流尖峰信号。

<strong>2、电压</strong>

电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。

<strong>3.接地</strong>

在所有EMC题目中,主要题目是不适当的接地引起的。有三种信号接地方法:单点、多点和混合。在频率低于1MHz时,可采用单点接地方法,但不适宜高频;在高频应用中,最好采用多点接地。混合接地是低频用单点接地,而高频用多点接地的方法。地线布局是关键,高频数字电路和低电平模拟电路的接地电路尽不能混合。

<strong>4、电源往耦</strong>

单片机能不能代替PLC呢?

Lee_ /

最近无意看到论坛的一篇帖子“单片机能改变世界”。都愁死我了,口口声声说自己做工控做什么的我真想问,你们都进过工厂么?看过工业环境么?只是最多在监控室里看看而已吧。

了解工业防护等级么?了解冗余系统么?了解工业领域需要的是什么么?

实名反对上面所有认为一块单片机在工业领域能代替PLC的,你们真是实验室呆的久了不知道外面有雾霾。

一、先从基本说起,稳定性与可靠性,你一块单片机的稳定性和可靠性能比得过IP67类的产品么?懂防护等级么?看过工业恶劣现场么?看过露天野外设备作业么?
一场大雨过后又湿又潮你敢肯定你那单片机还能行?冬天零下的温度你敢保证它还能运行?我就不信了。

二、工业里比如说汽车生产线,或者大型的电厂煤炭等领域,动不动上百的I/O有时候上千,你用单片机给我做个看看,而且就PLC这种扛草的货还得弄一套冗余系统,你单片机是能信春哥啊还是自愈能力100%就不死,再不济你也单片机做一套冗余?做得出来我服你,但有一点可以肯定,甲方秒秒钟KO你。

单片机C语言static属性和数码管显示程序

Lee_ /

简介:static从英文上翻译是静态的意思,在C语言中static所起的作用也正是静态。对于局部变量而言,其作用域是局部的如某一子函数体,程序在每次执行时调用该子函数时,其声明的局部变量都会重新赋值。那如果我们想让程序在调用该子函数时,其声明的某个局部变量的......

static从英文上翻译是静态的意思,在C语言中static所起的作用也正是静态。对于局部变量而言,其作用域是局部的如某一子函数体,程序在每次执行时调用该子函数时,其声明的局部变量都会重新赋值。那如果我们想让程序在调用该子函数时,其声明的某个局部变量的值,保留上次该子函数被调用结束时的值,那么就需要在变量声明时前置static。可以这么理解,对于静态的局部变量,其占用的内存空间在程序执行时是一直都存在的(静态的本质)。当然即使是静态局部变量,其作用域仅限于该子函数。

猴简单,教你在单片机上把自己的嵌入式OS跑起来

Lee_ /

在编写我们的操作系统之前,我们需要明确一些事情。比如说

· 这个系统的运行环境是什么?
· 怎么编译?
· 基本中断环境是什么?
· 上下文怎么切换?
· 准备实现那些内容?
· 基本数据类型是什么?等等。

<strong>(1)你的嵌入式操作系统准备叫什么名称?运行环境是什么?可以在实际环境上面运行吗?</strong>
我们准备把这个嵌入式操作系统称之为MiniOS。虽然这个操作系统实现的功能不多,但是麻雀虽小,五脏俱全。一般操作系统该有的功能,MiniOS都会有这个功能。起初,我们会在Linux上运行MiniOS,之后我们会把MiniOS移植到51单片机上去。

(2)操作系统怎么编译?
MiniOS系统采用基本的C语言进行编写,没有汇编语言,但是移植到51上面需要一些汇编语言。编写完C语言文件后,我们需要一个简单的makefile文件,这样就可以实现自动化编译,进一步提高我们开发的效率。

玩单片机必须要了解的“中断”!

editor /

<strong>中断</strong>

单片机CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。

例如,当你正在洗衣时,突然手机响了(中断发生),你暂时中断洗衣的工作,转去接电话(中断响应和中断服务),待你接完后,再回来继续洗衣(中断返回),这一过程就是中断。

单片机中断分为内部中断和外部中断两大类,外部中断由单片机外部设备产生,中断产生后通过单片机的外部管脚传递给单片机,传递这个中断信号最简单的方法就是 规定单片机的管脚在什么状态下有外部中断产生,这样单片机通常是有一个或多个IO口,当在输入状态时可以用来检测外部中断信号。

有外部中断产生的条件通常也 就是这五种:IO口输入为高、IO口输入为低、IO口输入由高变为低、IO口输入由低变为高、IO口输入由高变低或者由低变高。

单片机常见的6种报警方式

editor /

单片机常见的报警方式有6种,如以下所示:

(1)指示灯或数码管显示出数据,以提醒操作人员注意。

(2)采用声、光及语音进行报警。其中,光效果通常取自发光二极管LED或其他光源器件;声效果可取自电铃、电笛、蜂鸣器、或音乐(语音)芯片等。

(3)合成语音报警。采用这种方式进行报警时,单片机应用系统将对语音信号进行采集、处理、合成和识别,使报警系统的功能更加完善,报警信息更加具体、生动、准确,直至给出报警对象的具体信息。

(4)图形、图像报警。这种系统设微型机控制的打印机或CRT显示器,使警卫人员在接受其他报警信号的同时,还能看到报警显示的画面或数据、文字,不但能将报警资料打印成文,而且可方便存档。

(5)具有控制功能的报警。这种报警系统具有控制功能,如:适时将自动操作切换到人工操作,防止事故发生;达到报警限时,执行机构动作;自动拨出电话号码,将警报情况报告给有关人员。

(6)具有信号远传功能的报警。能将报警信号远传至信号可以达到的远距离处,以供监视、控制用。常用的信号远传方法有:红外线、激光、微波、超声波、有线载波、无线电传输等。.

<strong>利用单片机应用系统进行报警的常用方法是什么?</strong>

带您走进神奇的单片机世界!

kelly /

<strong>单片机起源</strong>

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

<strong>1、在智能仪器仪表上的应用</strong>

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。

<strong>2、在工业控制中的应用</strong>

【下载】浅析晶振在单片机中的作用及其不起振的解决方案

kelly /

本文主要分享了晶振在单片机中的作用及其不起振的原因和排除:

简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。

单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。—个机器周期包括12个时钟周期。如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。

<span class="download"><a href="http://mm32.eetrend.com/system/files/2016-10/文章/private/100003682-12234…;

调整单片机时钟精度的解决方案

kelly /

本文针对用单片机制作电子钟或要求根据时钟启控的控制系统时,出现的校准了的电子时钟的时间竟然变快或是变慢了的情况而提出的一种解决方案。
  
单片机应用中,常常会遇到这种情况,在用单片机制作电子钟或要求根据时钟启控的控制系统时,会突然发现当初校准了的电子时钟的时间竟然变快或是变慢了。
  
于是,尝试用各种方法来调整它的走时精度,但是最终的效果还是不尽人意,只好每过一段时间手动调整一次。那么,是否可使时钟走时更精确些呢?现探讨如下:
  
<strong>一、误差原因分析</strong>
  
1、单片机电子时钟的计时脉冲基准,是由外部晶振的频率经过12分频后提供的,采用内部的定时,计数器来实现计时功能。所以,外接晶振频率的精确度直接影响电子钟计时的准确性。
  
2、单片机电子时钟利用内部定时,计数器溢出产生中断(12MHz晶振一般为50ms)再乘以相应的倍率,来实现秒、分、时的转换。大家都知道,从定时,计数器产生中断请求到响应中断,需要3_8个机器周期。定时中断子程序中的数据人栈和重装定时,计数器的初值还需要占用数个机器周期。此外。从中断人口转到中断子程序也要占用一定的机器周期。例如: