程序实例
Good__life
开心生活 开心工作 开心学习
展开
-
中断多任务+状态机 单片机软件结构设计(转)
mcu由于内部资源的限制,软件设计有其特殊性,程序一般没有复杂的算法以及数据结构,代码量也不大, 通常不会使用OS (Operating System), 因为对于一个只有 若干K ROM, 一百多byte RAM 的 mcu 来说,一个简单OS 也会吃掉大部分的资源。 对于无 os 的系统,流行的设计是主程序(主循环 ) + (定时)中断,这种结构虽然符合自然想法转载 2016-09-30 10:12:40 · 3501 阅读 · 0 评论 -
外部中断的按键,软件滤波实现方法
按键分为机械按键和触摸按键,每种按键都有不同程度的抖动。这里我们来说下机械按键吧,新手都会接触到。我用的板子是MSP430G2553 的那块红色的板子做的。上面的独立按键有一个,接在P13口上,我自己制作了一个LCD5110的转接板,渣手工。下面讨论我们的重点,按键。对于机械按键,抖动的原因是因为刚性接触时候会发生碰撞之类的,所以并不是可靠地接触,所以会产生抖动,那么我们的软件就要转载 2016-09-26 17:17:17 · 1889 阅读 · 0 评论 -
单片机实现多级菜单
单片机实现多级菜单1、首先定义一个机构体如下typedef struct { uchar current; uchar up;//上键 uchar down;//下键 uchar enter;//确认键 void (*current_operation)(); } key_table;结构体转载 2016-09-20 22:01:51 · 21073 阅读 · 26 评论 -
[51单片机] 一个故事看懂单片机中的堆栈
因为单片机有CPU、存储器、IO等等,使他(人性化一点以配合下文)看起来就像一个比较小的计算机,所以在理解单片机的时候如果能把你之前有的那些也许仅仅是直觉上的对计算机的理解融入进来的话,可能会对你学习单片机的概念有极大的帮助,至少对于我是这样的。我想在关于单片机的众多让你头晕脑胀、摸不着头脑甚至想撞墙的概念里面,“堆栈”可能是其中最可恶的一个,因为即使单单是从汉语的角度来理解这个词就已经让转载 2016-10-18 14:52:52 · 9499 阅读 · 3 评论 -
51单片机RAM区域的划分
前边介绍单片机资源的时候,我们提到过 STC89C52 共有 512 字节的 RAM,是用来保存数据的,比如我们定义的变量都是直接存在 RAM 里边的。但是单片机的这 512 字节的 RAM在地位上并不都是平等的,而是分块的,块与块之间在物理结构和用法上都是有区别的,因此我们在使用的时候,也要注意一些问题。51 单片机的 RAM 分为两个部分,一块是片内 RAM,一块是片外 RAM。标转载 2016-10-18 15:23:38 · 7186 阅读 · 0 评论 -
协作式多任务操作系统
协作式多任务操作系统//任务句柄的的定义( tiny_os_51.h )typedef char TN_OS_HANDLE;//任务状态字的定义#define __TN_TASK_FLG_DEL 0x00 //任务被删除#define __TN_TASK_FLG_RDY 0x01 //任务就绪转载 2016-11-16 10:53:59 · 1336 阅读 · 0 评论 -
单片机应用程序架构(转)
浅谈单片机应用程序架构(原创) 2011-11-22 15:39:52| 分类: 单片机基础|举报|字号 订阅 下载LOFTER我的照片书 | 对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序转载 2016-11-21 15:16:17 · 533 阅读 · 0 评论