这个是转载的

http://bbs.21ic.com/icview-691804-1-1.html

[51单片机] 从业将近十年!手把手教你单片机程序框架(连载)
大家好,我叫吴坚鸿,从事单片机项目开发已经有快十年了。现在借21IC这个平台把我认为最有价值的东西分享给大家。我这个技术贴每个星期更新一两篇,直到我江郎才尽为止。再次感谢21IC给我们提供这个交流分享的平台。

第一节:吴坚鸿谈初学单片机的误区。

第二节:delay()延时实现LED灯的闪烁。

第三节:累计主循环次数使LED灯闪烁。

第四节:累计定时中断次数使LED灯闪烁。

第五节:蜂鸣器的驱动程序。

第六节:在主函数中利用累计主循环次数来实现独立按键的检测。

第七节:在主函数中利用累计定时中断的次数来实现独立按键的检测。

第八节:在定时中断函数里执行独立按键的扫描程序。

第九节:独立按键的双击按键触发。

第十节:两个独立按键的组合按键触发。

第十一节:同一个按键短按与长按的区别触发。

第十二节:按住一个独立按键不松手的连续步进触发。

第十三节:按住一个独立按键不松手的加速匀速触发。

第十四节:矩阵键盘的单个触发。

第十五节:矩阵键盘单个触发的压缩代码编程。

第十六节:矩阵键盘的组合按键触发。

第十七节:两片联级74HC595驱动16个LED灯的基本驱动程序。

.第十八节:把74HC595驱动程序翻译成类似单片机IO口直接驱动的方式。

第十九节:依次逐个点亮LED之后,再依次逐个熄灭LED的跑马灯程序。

第二十节:依次逐个亮灯并且每次只能亮一个灯的跑马灯程序。

第二十一节:多任务并行处理两路跑马灯。

第二十二节:独立按键控制跑马灯的方向。

第二十三节:独立按键控制跑马灯的速度。

第二十四节:独立按键控制跑马灯的启动和暂停。

第二十五节:用LED灯和按键来模拟工业自动化设备的运动控制。

第二十六节:在主函数while循环中驱动数码管的动态扫描程序。

第二十七节:在定时中断里动态扫描数码管的程序。

第二十八节:数码管通过切换窗口来设置参数。

第二十九节:数码管通过切换窗口来设置参数,并且不显示为0的高位。

第三十节:数码管通过闪烁来设置数据。

第三十一节:数码管通过一二级菜单来设置数据的综合程序。

第三十二节:数码管中的倒计时程序。

第三十三节:能设置速度档位的数码管倒计时程序。

第三十四节:在数码管中实现iphone4S开机密码锁的程序。

第三十五节:带数码管显示的象棋比赛专用计时器。

第三十六节:带数码管显示的加法简易计算器。

第三十七节:数码管作为仪表盘显示跑马灯的方向,速度和运行状态。

第三十八节:判断数据尾来接收一串数据的串口通用程序框架。

第三十九节:判断数据头来接收一串数据的串口通用程序框架。

第四十节:常用的自定义串口通讯协议。

第四十一节:在串口接收中断里即时解析数据头的特殊程序框架。

第四十二节:通过串口用delay延时方式发送一串数据。

第四十三节:通过串口用计数延时方式发送一串数据。

第四十四节:从机的串口收发综合程序框架

第四十五节:主机的串口收发综合程序框架

第四十六节:利用AT24C02进行掉电后的数据保存。

第四十七节:操作AT24C02时,利用“一气呵成的定时器延时”改善数码管的闪烁现象。

第四十八节:利用DS1302做一个实时时钟 。

第四十九节:利用DS18B20做一个温控器 。

第五十节:利用ADC0832采集电压信号,用平均法和区间法进行软件滤波处理。

第五十一节:利用ADC0832采集电压信号,用连续N次一致性的方法进行滤波处理。

第五十二节:程序后续升级修改的利器,return语句鲜为人知的用法。

第五十三节:指针的第一大好处,让一个函数可以封装多个相当于return语句返回的参数。

第五十四节:指针的第二大好处,指针作为数组在函数中的输入接口。

第五十五节:指针的第三大好处,指针作为数组在函数中的输出接口。

第五十六节:指针的第四大好处,指针作为数组在函数中的输入输出接口。

第五十七节:为指针加上紧箍咒const,避免意外修改了只做输入接口的数据。

第五十八节:指针的第五大好处,指针在众多数组中的中转站作用。

第五十九节:串口程序第40,44,45节中存在一个bug,特此紧急公告。

第六十节:用关中断和互斥量来保护多线程共享的全局变量。

第六十一节:组合BCD码,非组合BCD码,以及数值三者之间的相互转换和关系。

第六十二节:大数据的加法运算。

第六十三节:大数据的减法运算。

第六十四节:大数据的乘法运算。

第六十五节:大数据的除法运算。

第六十六节:单片机外部中断的基础。

第六十七节:利用外部中断实现模拟串口数据的收发。

第六十八节:单片机C语言的多文件编程技巧。

第六十九节:使用static关键字可以减少全局变量的使用。

第七十节:深入讲解液晶屏的构字过程。

第七十一节:液晶屏的字符,16点阵,24点阵和32点阵的显示程序。

第七十二节:在液晶屏中把字体顺时针旋转90度显示的算法程序。

第七十三节:在液晶屏中把字体镜像显示的算法程序。

第七十四节:在液晶屏中让字体可以跨区域无缝对接显示的算法程序。

第七十五节:在12864液晶屏中让字体以1个点阵为单位进行移动显示的算法程序。

第七十六节:如何把一个任意数值的变量显示在液晶屏上。

第七十七节:在1个窗口里通过移动光标来设置不同参数的液晶屏菜单程序。

第七十八节:在多个窗口里通过移动光标来设置不同参数的液晶屏菜单程序。

第七十九节:通过主菜单移动光标来进入子菜单窗口的液晶屏程序。

第八十节:调用液晶屏内部字库来显示汉字或字符的坐标体系和本质。

第八十一节:液晶屏显示串口发送过来的任意汉字和字符。

第八十二节:如何通过调用液晶屏内部字库把一个任意数值的变量显示出来。

第八十三节:矩阵键盘输入任意数字或小数点的液晶屏显示程序。

第八十四节:实时同步把键盘输入的BCD码数组转换成数值的液晶屏显示程序。

第八十五节:实时同步把加减按键输入的数值转换成BCD码数组的液晶屏显示程序。

第八十六节:数字键盘与液晶菜单的综合程序。

第八十七节:郑文显捐赠的工控项目源代码。

第八十八节:电子称连续不断从串口对外发送数据,单片机靠关键字快速截取有效数据串。

第八十九节:用单片机内部定时器做一个时钟。

第九十节:针对行程开关感应器,分享一种既能及时响应,又能抗干扰处理的识别思路。

[51单片机] 从业将近十年!手把手教你单片机程序框架(连载)(转载)相关推荐

  1. Android 开发之手把手教你写 ButterKnife 框架(三)

    系列文章目录导读: Android开发之手把手教你写ButterKnife框架(一) Android开发之手把手教你写ButterKnife框架(二) Android开发之手把手教你写ButterKn ...

  2. 手把手教你搭建SSM框架(Eclipse版)

    作者: C you again,从事软件开发 努力在IT搬砖路上的技术小白 公众号: [C you again],分享计算机类毕业设计源码.IT技术文章.游戏源码.网页模板.程序人生等等.公众号回复 ...

  3. 手把手教你搭建SSH框架(Eclipse版)

    作者: C you again,从事软件开发 努力在IT搬砖路上的技术小白 公众号: [C you again],分享计算机类毕业设计源码.IT技术文章.游戏源码.网页模板.程序人生等等.公众号回复 ...

  4. 深度学习高能干货:手把手教你搭建MXNet框架

    导读:相信很多程序员在学习一门新的编程语言或者框架时,都会先了解下该语言或者该框架涉及的数据结构,毕竟当你清晰地了解了数据结构之后才能更加优雅地编写代码,MXNet同样也是如此. 在MXNet框架中你 ...

  5. 手把手教你使用scrapy框架来爬取北京新发地价格行情(理论篇)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 博观而约取,厚积而薄发. 大家好! ...

  6. 单片机全局有必要封装_从业将近十年!手把手教你单片机程序框架(连载)

    #include "REG52.H" #define const_voice_short  40   //蜂鸣器短叫的持续时间 /* 注释一: * 注意,此处的const_rc_s ...

  7. 手把手系列之三十二——手把手教你做香果魔芋

    材料:魔芋.菠萝.苹果.桔子. 桔子剥成瓣,其余切成丁,我又加了一把葡萄干 先将魔芋放入水中煮20分钟 再将剩下的一起倒进锅里,再煮十分钟,如果喜欢吃煮的烂点,就煮时间长点 快煮好时,用凉水和点淀粉, ...

  8. bios升级工具_小白修电脑系列第十二期--手把手教你升级主板BIOS

    很多人一听到bios这个词,就会想到一些高大上的操作技能.其实bios的设置和升级现在一点都不难. 今天介绍下怎么升级主板的bios.以我手头的一块梅捷A10狂龙四核主板为例. 首先 一定要确定你主板 ...

  9. 十分钟手把手教你设计简单易用的组件级考试题(单选、多选、填空、图片),建议收藏

    对于学生党来说,最常见的莫过于试卷考试题,调查问卷测试题等等,有没有一款论文是管理考试题库的?对于新手刚入门的同学来说,仔细看本文,保证你看完后可以自己手撸代码. 1.试卷题 试卷题型有很多种,常见的 ...

最新文章

  1. new Vue 发生了什么
  2. sql and和in能连用吗_解析法律英语中【同义词连用】现象
  3. JAVA中的SimpleDateFormat yyyy和YYYY的区别
  4. Spring IOC 知识点总结,写得太好了!
  5. sersync+rsync实现实时同步
  6. GaussDB(for MySQL) HTAP只读分析特性详解
  7. 字符编码乱码问题(servlet底层 编码大揭秘)
  8. linux下copy命令c实现,C语言自己实现linux下cp文件复制命令
  9. 一文带你详尽剖析Miracast投屏开发和调试
  10. Lync客户端更新联系人通讯簿
  11. Android 登陆界面
  12. hive从入门到放弃(一)——初识hive
  13. html5 视频字幕制作工具,短视频如何添加字幕?10分钟学习5款视频字幕制作工具,干货!...
  14. 打字训练 my father1
  15. 人穷久了或者累久了会sb
  16. 【回溯法】机器零件加工-最优加工顺序
  17. 华为,其实你的对手是时代
  18. 【blender建模功能】06 多边形建形工具
  19. 某哪旅行cookie值Alina参数生成分析
  20. 工作流(审批业务、流程)设计关键

热门文章

  1. Bootstrap栅格系统 xs sm md lg xl
  2. project 2016软件
  3. arcgis中字段的融合_利用ArcGis进行地理处理之三(融合)
  4. Mysql数据处理,按照半小时汇总数据,
  5. 3D立方体图片切换动画
  6. Access数据类型
  7. picpick尺子像素大小精度不够准确_picpick尺子像素大小精度不够准确_如何准确的按比例打印图纸...
  8. 成功解决TypeError: super(type, obj): obj must be an instance or subtype of type
  9. delphi获取外网IP
  10. UGeek大咖说 | 精彩回顾:京东商城可观测性体系的落地与实践