找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3843|回复: 0
收起左侧

单片机课程设计失败总结——抽象离不开时序

[复制链接]
ID:28666 发表于 2011-6-11 11:33 | 显示全部楼层 |阅读模式
 

   本次单片机课程设计以失败告终。本次单片机的课程设计的日程安排如下。

        星期二:系统需求分析,系统的总体设计,硬件设计。

        星期三:完成系统的软件设计。包括,各部分的流程图。类存分配,程序算法。编码

        星期四:编码。

        星期五:调试。

    失败的总结:程序的总体设计上有点小问题。说实话,自己还是不太熟悉从单片机的角度去看程序。本次总结的原因也是为了培养从嵌入式系统的角度去设计程序。

    1,在设计阶段,并没有做详细的验证,导致程序的总体设计,有效的缺陷。

    2,采用中断控制程序的模式转换,应为中断存在RETI指令返回。这样需要修改堆栈,达到程序的转换,这要求对中断程序的压栈,有详细的了解。对中断程序中的寄存器需要设计与规划,而这一部分,在设计阶段并没有考虑到,这导致程序中存在很多隐藏的的bug。

    3,没有避免中断程序简单设计的原则,而从性能方面考虑实现。过分追求所谓的完美,所谓的完美并不是完美,而是心中的感觉。系统设计阶段的首次感觉很重要,他往往决定程序的发展走向。也是这中原因,导致总体系统设计简单,而实现难度大。需要用到不常用的技术。尊重常用的设计方式,很重要。

    4,也是最重要的,在流程图到程序的具体映射上没有规划好。个人觉得从数据流程到代码的映射上应该还要经过一层抽象。从单片机的角度去考虑。

    5,在软件设计完成后应该分析设计,模拟设计。

    结论:

    1,尊重成熟的设计方式。

    2,系统设计后应该做较为详细的模拟。

    3,在代码的映射中要经过一层抽象,从单片机的角度思考问题,规划工作区,寄存器。分析每一层中的特性,做详细设计。比如说,对别人的子程序的调用处理的特性。处理入口,处理出口恢复。如果大规模的调用,可以设置专门的工作区来保护。

    4,面向对象的程序设计,面向过程的设计方式,和面向硬件的设计有所不同。面向对象重要的是对系统总体功能的抽象,面向过程重要的是把握系统的具体过程。面向硬件要在面向过程后,对具体硬件需要一步对资源的抽象,然后再到具体实现。

    5,抽象离不开时序。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表