打印
[51单片机]

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

[复制链接]
楼主: jianhong_wu
手机看帖
扫描二维码
随时随地手机跟帖
101
看到楼主那么用心的发帖,我在这里表示支持

使用特权

评论回复
102
woosoo521| | 2014-3-9 10:57 | 只看该作者
谢谢楼主了

使用特权

评论回复
103
jianhong_wu|  楼主 | 2014-3-9 20:02 | 只看该作者
第三十二节:数码管中的倒计时程序。

开场白:
   上一节讲了一二级菜单的综合程序,这一节要教会大家三个知识点:
第一个:通过本程序,继续加深理解按键与数码管的关联方法。
第二个:复习一下我在第五节教给大家的时间校正法。
第三个:继续加深熟悉鸿哥首次提出的“一二级菜单显示理论”:凡是人机界面显示,不管是数码管还是液晶屏,都可以把显示的内容分成不同的窗口来显示,每个显示的窗口中又可以分成不同的局部显示。其中窗口就是一级菜单,用ucWd变量表示。局部就是二级菜单,用ucPart来表示。不同的窗口,会有不同的更新显示变量ucWdXUpdate来对应,表示整屏全部更新显示。不同的局部,也会有不同的更新显示变量ucWdXPartYUpdate来对应,表示局部更新显示。


具体内容,请看源代码讲解。

(1)硬件平台:基于朱兆祺51单片机学习板。启动和暂停键对应S1键,复位键对应S5键。

(2)实现功能:按下启动暂停按键时,倒计时开始工作,再按一次启动暂停按键时,则暂停倒计时。在任何时候,按下复位按键,倒计时将暂停工作,并且恢复倒计时当前默认值99。
     
(3)源代码讲解如下:
第三十二节源代码讲解.rar (4.27 KB)
总结陈词:
这节讲了数码管中的倒计时程序。如果要在此程序上多增加两个按键,用来控制数码管倒计时的速度档位,并且需要在数码管中闪烁显示被设置的速度档位,该怎么编写这个程序?欲知详情,请听下回分解-----能设置速度档位的数码管倒计时程序。

(未完待续,下节更精彩,不要走开哦)

使用特权

评论回复
104
jianhong_wu|  楼主 | 2014-3-9 20:03 | 只看该作者
第三十三节:能设置速度档位的数码管倒计时程序。

开场白:
   上一节讲了数码管中的倒计时程序。这节要在此程序上多增加两个按键,用来控制数码管倒计时的速度档位,并且需要在数码管中闪烁显示被设置的速度档位。这一节要教会大家三个知识点:
第一个:把一个按键的短按与长按复合应用在项目中的程序结构。
第二个:通过本程序,继续加深理解按键与数码管的关联方法。
第三个:继续加深熟悉鸿哥首次提出的“一二级菜单显示理论”:凡是人机界面显示,不管是数码管还是液晶屏,都可以把显示的内容分成不同的窗口来显示,每个显示的窗口中又可以分成不同的局部显示。其中窗口就是一级菜单,用ucWd变量表示。局部就是二级菜单,用ucPart来表示。不同的窗口,会有不同的更新显示变量ucWdXUpdate来对应,表示整屏全部更新显示。不同的局部,也会有不同的更新显示变量ucWdXPartYUpdate来对应,表示局部更新显示。

具体内容,请看源代码讲解。

(1)硬件平台:基于朱兆祺51单片机学习板。启动和暂停键对应S1键,复位键对应S5键。加键对应S9键,减键对应S13键。

(2)实现功能:按下启动暂停按键时,倒计时开始工作,再按一次启动暂停按键时,则暂停倒计时。在任何时候,按下复位按键,倒计时将暂停工作,并且恢复倒计时当前默认值99。如果长按复位按键,在数码管会切换到第2个闪烁窗口,用来设置速度档位,修改完速度档位后,再一次按下复位按键,或者直接按启动暂停按键,会切换回窗口1显示倒计时的当前数据。
     
(3)源代码讲解如下:
第三十三节源代码讲解.rar (4.72 KB)
总结陈词:
这节讲了能设置速度档位的数码管倒计时程序。现在很多人用iphone4S的手机,这个手机每次开机显示的时候,都要通过4个密码开锁,如果我们要用4位数码管来实现这个密码锁功能,该怎么编写这个程序?欲知详情,请听下回分解-----在数码管中实现iphone4S开机密码锁的程序。

(未完待续,下节更精彩,不要走开哦)

使用特权

评论回复
105
zjh6607476| | 2014-3-10 11:01 | 只看该作者
十年牛人啊!!!

使用特权

评论回复
106
liu619944913| | 2014-3-10 11:20 | 只看该作者
好东西@@@@@@@@

使用特权

评论回复
107
tanzhennian| | 2014-3-10 19:59 | 只看该作者
真是很受启发的帖子!!!

使用特权

评论回复
108
深山幽谷| | 2014-3-11 18:15 | 只看该作者
TT

使用特权

评论回复
109
c21191| | 2014-3-12 10:55 | 只看该作者
看了鸿哥的帖子,说句实话,真的非常好,特别是鸿哥说的,交给初学者的是一种思想/流程,这是其它教科书上没有的,绝对支持,也希望跟着你好好学习,虽然在学校学过,但是觉得都是些皮毛,而且都很零碎,没有成系统,希望自己**下去

使用特权

评论回复
110
jianhong_wu|  楼主 | 2014-3-12 12:38 | 只看该作者
c21191 发表于 2014-3-12 10:55
看了鸿哥的帖子,说句实话,真的非常好,特别是鸿哥说的,交给初学者的是一种思想/流程,这是其它教科书上 ...

谢谢你的夸奖。**看下去,你肯定会有收获。

使用特权

评论回复
111
lwm1368| | 2014-3-12 19:55 | 只看该作者
elec921 发表于 2014-3-6 08:26
基本功很好,再看点程序结构、算法、和技巧的书    变大虾分分钟的事啊

...

我赞同这个看法~

使用特权

评论回复
112
yuanquan12345| | 2014-3-12 21:59 | 只看该作者
学习了,谢谢。

使用特权

评论回复
113
fwx850912| | 2014-3-13 21:23 | 只看该作者
楼主 能不能下载的啊?可以的话给小弟发一份呗  小弟正在学单片机 谢谢 fwx523@163.com   

使用特权

评论回复
114
zhuqi6332380| | 2014-3-13 23:32 | 只看该作者
写的非常不错,给你许多许多赞

使用特权

评论回复
115
wtyycao| | 2014-3-13 23:39 | 只看该作者
楼主辛苦了  请问楼主有搞过义隆单片机吗

使用特权

评论回复
116
tpl327| | 2014-3-14 10:21 | 只看该作者
看楼主写这么多,虽然看不懂,但是顶起,辛苦,说不定我们还有配合机会:lol

使用特权

评论回复
117
jianhong_wu|  楼主 | 2014-3-14 12:50 | 只看该作者
wtyycao 发表于 2014-3-13 23:39
楼主辛苦了  请问楼主有搞过义隆单片机吗

没搞过义隆的。我做过PIC,51,STM32,NEC这些单片机项目开发。其中PIC用的最多。

使用特权

评论回复
118
ming_10| | 2014-3-14 14:28 | 只看该作者
鸿哥辛苦了,学习下你的东西,很受启发

使用特权

评论回复
119
jianhong_wu|  楼主 | 2014-3-15 09:44 | 只看该作者
第三十四节:在数码管中实现iphone4S开机密码锁的程序。

开场白:
    这一节要教会大家四个知识点:
第一个:类似手机上10秒钟内无按键操作将自动进入锁屏的程序。
第二个:如何用一个数组来接收按键的一串数字输入。
第三个:矩阵键盘中,数字按键的输入,由于这部分按键的代码相似度非常高,因此把它封装在一个函数里可以非常简洁方便。
第四个:继续加深熟悉鸿哥首次提出的“一二级菜单显示理论”:凡是人机界面显示,不管是数码管还是液晶屏,都可以把显示的内容分成不同的窗口来显示,每个显示的窗口中又可以分成不同的局部显示。其中窗口就是一级菜单,用ucWd变量表示。局部就是二级菜单,用ucPart来表示。不同的窗口,会有不同的更新显示变量ucWdXUpdate来对应,表示整屏全部更新显示。不同的局部,也会有不同的更新显示变量ucWdXPartYUpdate来对应,表示局部更新显示。

具体内容,请看源代码讲解。

(1)硬件平台:基于朱兆祺51单片机学习板。数字1键对应S1键,数字2键对应S2键,数字3键对应S3键…. 数字9键对应S9键, 数字0键对应S10键。其他的按键不用。

(2)实现功能:
本程序有3个窗口。
开机显示第1个密码登录框窗口“----”,在这个窗口下输入密码,如果密码等于”9922”表示密码正确,将会切换到第2个显示按键值的窗口。在窗口2下,按不同的按键会显示不同的按键值,如果10秒内没有按键操作,将会自动切换到第1个密码登录窗口,类似手机上的自动锁屏操作。在密码登录窗口1下,如果密码不正确,会自动清除密码的数字,继续在窗口1下显示”----”。  
窗口3是用来停留0.5秒显示全部密码的信息,然后根据密码的正确与否自动切换到对应的窗口。

(3)源代码讲解如下:
第三十四节源代码讲解.rar (4.87 KB)
总结陈词:
这节讲了iphone4S开机密码锁的程序。2014年春节的时候,一帮朋友举行小规模的象棋比赛,有一些朋友下棋的速度实在是太慢了,为了限制比赛时间,我专门用朱兆祺的51学习板做了一个棋类比赛专用计时器给他们用,这个程序该怎么编写?欲知详情,请听下回分解-----带数码管显示的象棋比赛专用计时器。

(未完待续,下节更精彩,不要走开哦)

使用特权

评论回复
120
zhitao2072| | 2014-3-15 11:23 | 只看该作者
顶起来。。。。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则