0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

应用程序设计入门:经典51懒人5步速成法

h1654155971.7688 来源:未知 作者:李倩 2018-03-12 11:00 次阅读

【经典51懒人5步速成法-05】应用程序设计入门再高级的单片机也是解决问题的一个工具,如何灵活运用已掌握的外设模块来满足功能需求以解决实际问题,是我们学习单片机开发的目标。你的程序写得很快,每个外设用得很溜,并不能代表你解决问题的能力就很好。这需要通过实际开发的磨练与经验的积累。

实际上每个工程师在不断的开发过程中,多多少少都会形成自己的思维模式和开发习惯。因此,在这一节我们所阐述的也只是本人的思维模式与设计习惯,可以抛砖引玉,作为参考。1、题目需求

2、基本思路

我的设计模式是自上而下,从整体到局部。所以,在编写代码之前,我的脑子里面基本上已经有了比较完整的轮廓,包括应该定义那些变量,应该安排那些函数,程序框架大致如何。

从本题的需求分析中,我们可以获得以下的信息

<1>秒闪功能,需要使用定时器0,得安排一个初始化函数Init_Timer0()和一个中断服务函数SeviceTimer0()。

<2> 定时器0使用16位模式,在12MHz晶振情况下,最大的定时值也只有65.535ms,因此要定时500ms不能够直接实现,那么就需要多次定时进行累加。把定时器0的间隔定时确定为50ms比较方便,累计10次就是500ms了,那么就需要一个定时累计变量t_count。

<3> 按键功能,首先要定义一个按键扫描函数ScanKeys(),在扫描过程中需要做去抖动处理,那么就要安排一个简易的延时函数Delay()。

<4> 再检查思考一下,还有什么吗?没有了。3、程序框架

严格来说,在开始编写代码之前,应该将程序的流程图和数据定义表做出来。

不过,对于简单的功能,可以通过编写代码搭建整体框架的方式来体现。这就跟建设框架结构的房子一样,先把毛坯建好,再去做个单元进行装修。我比较喜欢这做。

本题在基本思路分析指导下,可以搭建出程序框架结构。

4、逐个填充

<1> 定时器初始化函数:这个代码是可以重用的,直接拷贝过来就行了。

<2> 定时器中断服务函数。

<3> 按键扫描函数。

就这样,一个简单的51单片机应用程序开发就完成了。

5、小结

作为入门学习,本系列教材到这里就结束了。实际上51单片机的内容也差不多就这么多了。至于那些上千页的书在讲述51单片机开发的,里面很多内容都是各种功能外设,与51内核无关,只是用51单片机操作那些外设而已。对于这部分的内容,你学习的不是51单片机了,而是那么功能外设。在实际的应用中,更多的是要应用各种外设来解决各种问题。所以,一个单片机的高手并不是把51单片机本身玩得有多溜,而是他心中掌握了多少功能模块的应用,设计了多少应用的代码,积累了多少项目的经验。

入门教程结束了,而你们的征途才刚刚开始,加油!!!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44501

    浏览量

    632281
  • 定时器
    +关注

    关注

    23

    文章

    3234

    浏览量

    114371

原文标题:【经典51懒人5步速成法-05】应用程序设计入门一例通

文章出处:【微信号:weixin21ic,微信公众号:21ic电子网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LabVIEW_8.20程序设计入门级资料

    LabVIEW_8.20程序设计入门级资料,适合初学者
    发表于 06-07 15:23

    LabVIEW8.2程序设计入门

    LabVIEW8.2程序设计入门到精通
    发表于 01-05 22:03

    labview8.2程序设计入门到精通(陈锡辉著)

    labview8.2程序设计入门到精通PDF格式
    发表于 04-16 14:40

    《LabVIEW 8.20程序设计入门到精通》程序 (各种经典和实用程序)

    《LabVIEW 8.20程序设计入门到精通》程序(经典和实用)
    发表于 07-15 10:00

    LabVIEW8.2程序设计入门到精通

    本帖最后由 一只耳朵怪 于 2018-6-19 11:33 编辑 LabVIEW8.2程序设计入门到精通实验源码
    发表于 06-16 20:56

    LabVIEW8.2程序设计入门到精通课后实验报告

    本帖最后由 一只耳朵怪 于 2018-6-19 11:33 编辑 教材LabVIEW8.2程序设计入门到精通课后的 实验报告
    发表于 06-16 20:59

    Verilog HDL相关应用程序设计实例精讲和经典黑金资料(入门教程+实例精讲+百例设计)

    Verilog HDL应用程序设计实例精讲v经典黑金资料(入门教程+实例精讲+百例设计)
    发表于 03-26 14:45

    AutoCAD七天超级速成法文档

    AutoCAD七天超级速成法,本书实例中有一套完整的小型治具图档,电子书用它来讲述。点击下载
    发表于 04-11 06:07

    Altium Designer PCB设计入门 经典教程

    实战速成视频教程Altium Designer 17 4层四翼飞行器PCB设计入门到精通课程4、Altium Designer16入门教程Altium Designer16入门视频教程
    发表于 05-16 09:48

    键盘应用程序设计

    键盘应用程序设计 键盘使用的编码
    发表于 06-12 23:11 954次阅读
    键盘<b class='flag-5'>应用程序设计</b>

    [Java程序设计入门教程].(.杜邦杰).(扫描版)

    电子发烧友网站提供《[Java程序设计入门教程].(.杜邦杰).(扫描版).txt》资料免费下载
    发表于 03-28 19:53 0次下载

    【LabVIEW从入门到精通】LabVIEW程序设计

    【LabVIEW从入门到精通】2.3 LabVIEW程序设计步骤
    发表于 01-04 09:41 0次下载

    《Visual C# 2008程序设计经典案例设计与实现》---

    《Visual C# 2008程序设计经典案例设计与实现》---VisualC#2008与Web应用程序
    发表于 01-18 20:23 0次下载

    小白系列之51单片机的入门速成法

    51单片机的入门速成法01-经典51内核资源全览浓缩图02-重要外设特殊功能寄存器概览03-程序
    发表于 11-12 11:51 15次下载
    小白系列之<b class='flag-5'>51</b>单片机的<b class='flag-5'>入门</b><b class='flag-5'>速成法</b>

    趣味程序设计入门

    电子发烧友网站提供《趣味程序设计入门.pdf》资料免费下载
    发表于 11-20 10:36 0次下载
    趣味<b class='flag-5'>程序设计入门</b>