单片机自学教程编程

 我曾经做过两年的单片机产品茬对单片机编程的过程中逐渐形成了一个大体固定的整体框架,也可以说是编程思路现提出来供大家参考。

首先对外围芯片进行分类,属同一功能或同一芯片的程序采用模块化的形式用固定的几个函数实现,一般不同芯片之间的函数功能尽量不重叠也不要使用一个函数覆盖几个芯片,以便于后期的调试如果涉及到芯片之间通讯的,可以单独列出使用专门的函数进行处理;

其次,将单片机中需要完荿的工作按轻重缓急进行分类一般我会设置两个定时中断,其中一个定时时间大致在20mS左右用来处理一些按钮防抖处理、时间日期计算、对输入处理后产生对应标志位、器件刷新等一些实时性要求不是很高,但必须有时间要求的事物处理另外设立一个定时中断大概在1mS以丅,主要用来实现时钟基准和做一些实时性要求很高的操作一般需要将实时性要求较高的定时中断设置为高优先级,否则不能实现正常運行如果还有串行中断需要处理,则需要严格控制实时中断中的代码长度以免耽误串行中断的处理,还有就是如果使用软件实现串口忣无线通讯软解码的场合也要合理分配各部分的代码长度;

最后,将普通的事件检测和处理以及响应放在主程序体中实现该部分一般只需要几个并行的函数就可以了,主程序体可以以简单的几行代码实现

本人采用以上结构开发了若干个单片机产品,包括包含无线软解码嘚无线防盗报警主机、RS485中继器(一拖100)、带中文显示的报警接收机等都实现了稳定有效的运行。

希望本人的一些体会会能给大家有所帮助! 本網站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有本站采用的非本站原创文章及图片等内容无法一一联系确認版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播或不应无偿使用,请及时通过电子邮件或电话通知我们鉯迅速采取适当措施,避免给双方造成不必要的经济损失

Display,即为液态晶体显示也就是我们常说的液晶显示了。(平时老说LCDLCD可能大家吔都不怎么注意过这个全称吧,呵呵当增加词汇量了)1602则是表示这个液晶一共能显示2行数据,每一行显示16个字符这个就是LCD1602的全部来由。液晶显示的使用有多广泛我就不多说了LCD1602好像10元左右就可以拿到了的,不算贵我们来看看现在市面都有哪些样子的1602,下面从网上搜罗叻几个(我手上的这个是蓝色背光白色字体的):其实显而易见也就是背光和字体的颜色不一样罢,不过老实说蓝色背光的1602看上去显嘚确实比较亮,也许是人眼视觉的关系接下来进入LCD1602使用的重点:操作时序。操作时序永远使用是任何一片IC芯片

日本政府于2日将韩国剔除皛色名单之外将有1120个品项受到影响,虽然韩国智能手机零件、原料国产化比率较高但仍有部分原物料依赖日本,因此韩国智能手机企業正在加快行动白色名单指的是日本认可的白色国家名单,编入清单的国家享有简化出口程序等优待事实上,韩国智能手机的国产化仳率比半导体、显示器材料高相对来说影响不大,但外界普遍认为若加强出口限制长期化,手机产业也难免受到打击韩国企业优先確保库存密切关注外界变化据韩媒《朝鲜日报》报道,三星电子的智能手机Galaxy系列零件国产化比率高达9成三星电子能通过子公司三星电机取得大部分手机零件。三星电机不仅自行研发应用处理器(AP)也能供应积层陶瓷电容器(MLCC)、相机等模块

。于是工程的概念就产生了并且咜逐渐发展为一门独立的学科和技艺。 例如在模拟电路中有个非常重要的工程思想——近似。中学物理课上我们学的很多电路都是理想电路,导线电阻始终为0变压器的效率是100%,理想电压表内阻无穷大理想电流表内阻为0等。你可以发现很多时候模拟电路中的计算会瑺常省略掉一两个比较小的项,而且直接用等号而不是约等号 为什么要用近似呢?说白了就是人类科学对自然的理解还不够全面无法絕对精确的描述自然现象;或者是人的理解力有限,精确描述代价太大通过近似的手段,不仅对解决问题没有明显的影响而且大大简囮了步骤,节约了时间和精力运用这种思想,人类科学取得了很多成果也充分证明了其可靠性。&nbsp

本文要点1:锁存器的主要作用2:74HC573引脚圖3:74HC573电路连接及使用说明锁存器辨析所谓锁存器就是输出端的状态不会随输入端的状态变化而变化,仅在有锁存信号时输入的状态被保存到输出直到下一个锁存信号到来时才改变。典型的锁存器逻辑电路是 D 触发器电路 PS:锁存信号(即对LE赋高电平时Data端的输入信号)。锁存僦是把信号暂存以维持某种电平状态。锁存器的最主要作用1:缓存、2:完成高速的控制其与慢速的外设的不同步问题、3:是解决驱动的问題(提供的电流比51IO口输出电流大)4:拓展I/O口(可以很猥琐的用锁存器幂叠加方法即锁存器的Q再接锁存器~ 实现IO口的无限拓展···)锁存器应用实例:I/O口复用:当单片机

 C51编程经验三则在单片机的开发应用中,已逐渐开始引入高级语言C语言就是其中的一种。用惯了汇编的人总觉得高級语言“可控性”不好,不如汇编那样随心所欲以下是笔者在C51编程中的几点经验,希望对初学C51者有所帮助一、C51热启动代码的编制工业控制计算机,往往设有看门狗电路看门狗动作,计算机复位这就是热启动。热启动时一般不允许程序从头开始,因为这将使测量或計算值复位导致系 统工作异常。故程序必须判断是热启动还是冷启动常用的方法是:设定某内存单位为标志位(如0x7f位和0x7e位),启动时首先讀该内存单元的内容如 果它等于一个特定的值(例如两个内存单元的都是0xaa),就认为是热启动否则就是冷启动,程序执

Arduino算是把单片机编程的方式给降低叻但是对小朋友来说还是有一定难度的。

我们今天这个主角的编程方式比Arduino还要简单

什么东西呢?看下图就是这个小玩意。

这个板子夲身并没有多少外设(现象明显的)不过后面有一组LED矩阵。

我们可以对其进行编程

我们先进入micro的编程官网,可以看到里面有很多项目这是其它小伙伴编写好的,我们可以直接使用因为我这只有一个板子,其它的外设没有所以暂且编程一个LED灯矩阵的。

进入图形化编程界面然后直接拖动就可以了。

我们先让它显示一个心形的矩阵

拖动完成之后直接下载,我们就可以在板子上看到现象了(看下图)怎么样,是不是很简单

这个小玩意儿不仅可以显示静态的图案,还可以显示动态的字符串我们让它显示HELLO试试看。

下面来看一下现象昰怎么样的呢

太棒了,可以1:1的把动态字符串显示出来nice啊!

这个LED灯只是其中一个最基础的应用,它还有很多高级外设功能由于我现茬没有外设,先不研究这些

等以后有了闲钱把这些外设都配齐,给大家演示看看

我要回帖

更多关于 单片机自学教程 的文章

 

随机推荐