[经验] 从业将近十年!手把手教你单片机程序框架(连载)

大家好,我叫吴坚鸿。

 

times New Roman">第一节:吴坚鸿谈初学单片机的误区。

http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2513087&fromuid=635735

 

第二节:delay()延时实现LED灯的闪烁。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2521342&fromuid=635735

 

第三节:累计主循环次数使LED灯闪烁。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2533861&fromuid=635735

 

第四节:累计定时中断次数使LED灯闪烁。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2527028&fromuid=635735

 

第五节:蜂鸣器的驱动程序。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2534193&fromuid=635735

 

第六节:在主函数中利用累计主循环次数来实现独立按键的检测。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2536782&fromuid=635735

 

第七节:在主函数中利用累计定时中断的次数来实现独立按键的检测。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2539501&fromuid=635735

 

第八节:在定时中断函数里执行独立按键的扫描程序。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2542756&fromuid=635735

 

第九节:独立按键的双击按键触发。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2559832&fromuid=635735

 

第十节:两个独立按键的组合按键触发。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2561888&fromuid=635735

 

第十一节:同一个按键短按与长按的区别触发。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2563189&fromuid=635735

 

第十二节:按住一个独立按键不松手的连续步进触发。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2577472&fromuid=635735


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

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

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

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

第十七节:两片联级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码数组的液晶屏显示程序。

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

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

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章