单片机程序设计的一些框架资料说明

资料大小: 0.05 MB

所需积分: 0

下载次数:

用户评论: 0条评论,查看

上传日期: 2019-03-21

上 传 者: 易水寒他上传的所有资料

资料介绍

标签:PWM(1634)CAN(714)单片机(15590)

  大家来侃侃单片机的裸奔程序的框架呀!以下是我总结的一些东西,不合乎之处来请大家指点呀

  从07年参加全国大学生电子设计大赛初次接触单片机开发至今已经有4年了,初学单片机时,都会纠结于其各个模块功能的应用,如串口(232,485)对各种功能IC的控制,电机控制PWM,中断应用,定时器应用,人机界面应用,CAN总线等。 这是一个学习过程中必需的阶段,是基本功。很庆幸,在参加电子设计大赛赛前培训时,MCU周围的控制都训练的很扎实。经过这个阶段后,后来接触不同的MCU就会发现,都大同小异,各有各的优势而已,学任何一种新的MCU都很容易入手包括一些复杂的处理器。而且对MCU的编程控制会提升一个高度概况——就是对各种外围进行控制(如果是对复杂算法的运算就会用DSP了),而外围与MCU的通信方式一般也就几种时序:IIC,SPIintel8080,M6800。这样看来MCU周围的编程就是一个很简单的东西了。

  然而这只是嵌入式开发中的一点皮毛而已,在接触过多种MCU,接触过复杂设计要求,跑过操作系统等等后,我们在回到单片机的裸机开发时,就不知不觉的就会考虑到整个程序设计的架构问题;一个好的程序架构,是一个有经验的工程师和一个初学者的分水岭。

  以下是我对单片机程序框架以及开发中一些常用部分的认识总结:

  任何对时间要求苛刻的需求都是我们的敌人,在必要的时候我们只有增加硬件成本来消灭它;比如你要8个数码管来显示,我们在没有相关的硬件支持的时候必须用MCU以动态扫描的方式来使其工作良好;而动态扫描将或多或少的阻止了MCU处理其他的事情。在MCU负担很重的场合,我会选择选用一个类似max8279外围ic来解决这个困扰;

  然而庆幸的是,有着许多不是对时间要求苛刻的事情:

  例如键盘的扫描,人们敲击键盘的速率是有限的,我们无需实时扫描着键盘,甚至可以每隔几十ms才去扫描一下;然而这个几十ms的间隔,我们的MCU还可以完成许多的事情;

  单片机虽然是裸机奔跑,但是往往现实的需要决定了我们必须跑出操作系统的姿态——多任务程序;

  比如一个常用的情况有4个任务:

  1 键盘扫描;

  2 led数码管显示;

  3 串口数据需要接受和处理;

  4 串口需要发送数据;

  如何来构架这个单片机的程序将是我们的重点;

  读书时代的我会把键盘扫描用查询的方式放在主循环中,而串口接收数据用中断,在中断服务函数中组成相应的帧格式后置位相应的标志位,在主函数的循环中进行数据的处理,串口发送数据以及led的显示也放在主循环中;

  这样整个程序就以标志变量的通信方式,相互配合的在主循环和后台中断中执行;

  然而必须指出其不妥之处:

  每个任务的时间片可能过长,这将导致程序的实时性能差。如果以这样的方式在多加几个任务,使得一个循环的时间过长,可能键盘扫描将很不灵敏。所以若要建立一个良好的通用编程模型,我们必须想办法,消去每个任务中费时间的部分以及把每个任务再次分解;下面来细谈每个任务的具体措施:

  1 键盘扫描

  键盘扫描是单片机的常用函数,以下指出常用的键盘扫描程序中,严重阻碍系统实时性能的地方;

  众所周知,一个键按下之后的波形是这样的(假定低有效):

  在有键按下后,数据线上的信号出现一段时间的抖动,然后为低,然后当按键释放时,信号抖动一段时间后变高。当然,在数据线为低或者为高的过程中,都有可能出现一些很窄的干扰信号。

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料

下载排行

本周

  1. STC单片机参考程序资料免费下载
  2. MC9S12XS128开发板的电路原理图免费下载
  3. 使用单片机进行智能小车设计的论文资料免费下载
  4. QX-MCS 51单片机开发板电路原理图免费下载
  5. arduino蓝牙控制LED灯模拟实验的详细资料说明
  6. 如何学习单片机和电子电路详细资料概述
  7. JLINK-OB固件的详细资料合集免费下载
  8. 如何使用GSM进行汽车防盗报警系统的设计
  9. 郭天祥10天学会单片机的电路原理图免费下载
  10. BT401串口蓝牙模块用户手册V1.3版免费下载

本月

  1. AT0809 AD转换器的应用C语言程序资料合集免费下载
  2. 从单片机基础到程序框架的电路图免费下载
  3. STM32单片机开发板电路原理图免费下载
  4. 基于Proteus仿真的51单片机典型应用30例程序和电路资料免费下载
  5. 手把手教你学51单片机C语言版PDF版电子书免费下载
  6. STC89C52系列单片机器件手册资料免费下载
  7. STM32自学笔记蒙博宇著PDF电子书免费下载
  8. 使用51单片机进行舵机控制实验的手册资料免费下载
  9. STM32F103ZET6最小系统原理图免费下载
  10. 使用51单片机设计的智能小车程序免费下载

总榜

  1. 单片机C语言程序设计实训100例——基于8051 Proteus仿真
  2. 51单片机学习资料打包
  3. 单片机超级精华包
  4. 网上学单片机(入门篇)
  5. 电子工程师基本知识结构
  6. Keil uVision3下载 (破解版带注册机+中文版)
  7. 51单片机c语言超强学习资料
  8. 《C51单片机及C语言知识点必备秘籍》电子发烧友网创新系列电子书
  9. PIC单片机应用常见问答
  10. 单片机C语言程序设计实训100例——基于8051 Proteus仿真