今天学得好多呀!

如果用大循环结构进行单片机的编程

那么:

整个程序循环一圈的时间   <   程序中等待事件最小的任务

while(1)

{

等待1s的程序;       //小灯闪烁

等待5s的程序;     //播放语音

等待200ms的程序;

等待20ms的程序;   //按键检测

等待1ms的程序;     //发数据

}

如:上面的while,里有很多任务,所以,1ms是等待最短的任务,,,整个while(1)循环下来,要小于1ms,,,,

如果1ms难以保证,我们就退而求其次,,把1ms做成中断,  while(1)循环一圈需要小于20ms

除了用中断,另一个方式就是用dma

把每个事件都做成数组,用1ms的定时器控制,,每次到达定时器,我们就让数组里的各个元素都减去1;

用一个定时器来控制所有任务的计时

转载于:https://www.cnblogs.com/chulin/p/8615334.html

关于单片机大循环结构编程相关推荐

  1. 《嵌入式C编程:PIC单片机和C编程技术与应用》一第1章C语言概述和程序结构1.1 C源代码...

    本节书摘来自华章出版社<嵌入式C编程:PIC单片机和C编程技术与应用>一书中的第1章,第1.1节,作者 [美]马克·西格斯蒙德(Mark Siegesmund),更多章节内容可以访问云栖社 ...

  2. 单片机c语言编程教学大纲,《单片机C语言编程》教学大纲

    <单片机C语言编程>教学大纲 课程代码:000002336 课程英文名称:Microcontroller C Programming Language 课程总学时:24 讲课:16 实验: ...

  3. 微型计算机实验报告温度控制,单片机、可编程控制器实验教学大纲.doc

    单片机.可编程控制器实验教学大纲.doc 单片机.可编程控制器实验教学大纲 一.实验课的性质与任务 本实验课是在学生学完单片机原理与应用课程之后,为巩固提高所学知识,而安排的一次综合设计实验.通过本实 ...

  4. 简单51单片机c语言编程流水灯,51单片机如何实现流水灯?51单片机实现流水灯的三种方法详细分析...

    描述 首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平 ...

  5. 微控制器编程技术c语言,1.单片机C语言编程技术分析.pptx

    单片机C语言编程;掌握利用C语言进行单片机程序设计的方法掌握单片机的C程序开发工具Keil 的使用方法掌握单片机仿真软件proteus的使用方法了解单片机常用外部接口元件和接口电路了解单片机系统的集成 ...

  6. 单片机_第2章 MCS-51单片机的结构及原理

    目录 2.1 MCS-51单片机的结构 2.1.1 MCS-51单片机的内部结构 80C51单片机的内部资源主要包括: CPU(Central Processing Unit ) 2.1.2 MCS- ...

  7. 51单片机c语言工作手册,51单片机C语言编程手册

    51单片机C语言编程手册 1 第一章 介绍 这是一本关于Intel 80C51 以及广大的51 系列单片机的书这本书介绍给读者一些 新的技术使你的8051 工程和开发过程变得简单请注意这本书的目的可不 ...

  8. c语言延空指令,单片机C语言编程空指令产生短延时怎么办.doc

    单片机C语言编程空指令产生短延时怎么办.doc (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 7.9 积分 个人收集整理-仅供参考单片机语言编程空 ...

  9. AT89S51单片机硬件结构

    AT89S51单片机硬件结构 AT89S51单片机片内结构   由此可以看出,基本结构为CPU 加上外围芯片的传统微机结构.CPU对各种功能部件的控制是采用特殊功能寄存器(SFR,Special Fu ...

最新文章

  1. 富士康遭黑客巨额勒索 企业如何应对数据安全风险?
  2. 【前端学习日记】利用Vue实现跑马灯的效果
  3. 推荐系统笔记:无任何限制的矩阵分解
  4. html5 梵高 星,梵高作品欣赏《星空》
  5. Activity内嵌Fragment,当Activity recreate时Fragment被添加多次,造成相互遮盖
  6. CF993E Nikita and Order Statistics
  7. Java 序列化反序列化框架比较
  8. JAVA进阶教学之(数字格式化和高精度数字)
  9. linux指令解压rpm,dpkg rpm apt yum 的常用指令 +linux 各种解压缩方法.docx
  10. JEECG第二期深入使用培训(报名截止2014-06-21)
  11. 和我一起开发Android应用(二)——“悦词-i背单词”项目功能分析
  12. 细说安防宽动态:背光补偿与二次曝光
  13. EasyUI系列学习(十一)-Accordion(分类)
  14. xslt调用自定义函数(C#/Js/Java)
  15. cf486A Calculating Function
  16. 张献涛:虚拟化技术 40 年演进史 | 凌云时刻
  17. STM32+ADS1110
  18. HTTP1.0、HTTP2.0、HTTP 3.0及HTTPS简要介绍
  19. Python 自动化办公之自动识别并点击按钮
  20. vs2008设置选中 高亮

热门文章

  1. EasyUI ComboBox应用示例
  2. ubuntu 内Grub2配置详解(转)
  3. 更改管理员密码以后网站不能启动
  4. 数据结构与算法笔记(二) 线性表(数组描述)
  5. android library使用,Android:Library module的使用
  6. 如何查看一个组件的 classid是多少_如何快速查看胎压?胎压多少才正常?带您全面了解爱车的轮胎...
  7. 韩国央行行长李柱烈:加密货币的波动给金融稳定带来风险
  8. BarnBridge更新路线图计划或于Q2推出SMART Alpha
  9. SAP License:为什么一些现有成熟客户不愿意上S/4
  10. WEB前后端交互原型通用元件库、常用组件、信息输出、信息输入、信息反馈、综合系列、页面交互、首页、分类页、内容详情、用户中心、注册登录、找回密码、元件库、web元件库、rplib、axure