搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
单片机应用程序设计技术
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787512402768
  • 作      者:
    周航慈著
  • 出 版 社 :
    北京航空航天大学出版社
  • 出版日期:
    2011
收藏
内容介绍
    《单片机应用程序设计技术(第3版)》总结了作者多年来在80C51系列单片机应用系统软件设计中的实践经验,归纳出一整套应用程序设计的方法和技巧。在内容安排上,不仅有实现功能要求的应用程序设计步骤、子程序、监控程序及常用功能模块设计方法,还以较大篇幅介绍了提高系统可靠性的抗干扰设计和容错设计技术以及程序测试的正确思想方法。附录中向读者提供了完整的系统程序设计样本和经过多年使用考验的定点运算子程序库与浮点运算子程序库的程序文本、注释及使用方法。
    《单片机应用程序设计技术(第3版)》深入浅出,并配以大量实例,可作为从事单片机应用系统研究的工程技术人员的软件设计指导用书,也可作为高等院校相关专业师生的参考用书。
展开
精彩书摘
    ⑤机动布线区。如果是样机研制,在设计电路板时,开辟一小片机动布线区是有好处的。在机动布线区中,可以插入若干片集成电路插座,并有金属化孔,但无布线。当样机研制中发现硬件电路有明显不足,需要增加若干元器件时,即可在机动布线区中临时拉线来完成,从而避免整机大返工。当然,项目研制成功后,正式制板时就不需要机动布线区了。
    (3)以软代硬
    单片机和数字电路本质的区别就是它具有软件系统。很多硬件电路能做到的,软件也能做到。因此,在硬件电路设计时,不要忘记还有软件作后台。原则上,只要软件能做到的,就不用硬件。硬件多了不但增加成本,而且使系统出故障的机会也增加了。以软代硬的实质是以时间代空间,软件执行过程需要消耗时间,因此,这种代替带来的不足就是实时性下降。当系统对某些事物的反应有严格的时间限制时,往往增加硬件电路是唯一的选择。但对一些实时性要求不是很高的场合,以软代硬是很合算的。如触点去抖动的软件延时方案,就比硬件双稳电路去抖动要合算得多;软件低通滤波算法就比硬件低通滤波电路优越得多。
    (4)监测电路的设计
    在系统运行中有可能出现故障,如何及时采取措施,防止事态扩大并及时向操作者提出报警,就要求系统具有自诊断功能。为此。必须为系统设计有关的监测电路。这部分电路与系统正常的功能没有什么关系,往往容易忽视。在一些重要的自控系统中,系统的自诊断功能是很重要的,详情参阅第6章有关内容。
    (5)工艺设计
    包括机架机箱、面板、配线、接插件等,必须考虑到安装、调试、维修的方便。另外,硬件抗干扰措施也必须在硬件设计时一并考虑进去,以免日后添加时发生困难,详情参阅第5章有关内容。
    1.3 软件任务分析
    软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。
    软件任务分析环节是为软件设计作一个总体规划。从软件的功能来看可分为两大类.:一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制、通信等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。这两类软件的设计方法各有特色:执行软件的设计偏重算法效率,与硬件关系密切,千变万化;监控软件着眼全局,主要处理人机关系,其特点是逻辑严密,千头万绪。
    软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(应输入、输出定义)。在为各执行模块进行定义时,要将牵涉到的数据结构和数据类型问题一并规划好。
    各执行模块规划好后,就可以规划监控程序了。首先根据系统功能和键盘设置选择一种最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程。而监控程序较易出问题,这如同当一名操作工人比较容易,而要当好一个厂长就比较困难了。
展开
目录
第1章 应用程序的设计步骤
1.1 设计任务书的编写
1.2 硬件电路设计
1.3 软件任务分析
1.4 数据类型和数据结构的规划
1.5 资源分配
1.6 编程及调试
1.7 编程语言与开发环境的选择

第2章 程序流程图与子程序设计
2.1 程序流程图
2.1.1 程序流程图的画法
2.1.2 从程序流程图到程序
2.2 子程序设计
2.2.1 结构化的程序设计风格
2.2.2 参数的使用
2.2.3 算法的合理性和可靠性
2.2.4 子程序的透明性设计
2.2.5 子程序的相容性设计
2.2.6 子程序的容错性设计

第3章 系统监控程序设计
3.1 监控程序的任务
3.2 监控程序的结构
3.2.1 作业顺序调度型
3.2.2 作业优先调度型
3.2.3 键码分析作业调度型
3.3 普通监控程序的设计方法
3.3.1 系统状态分析
3.3.2 状态转移分析
3.3.3 状态顺序编码型监控程序的设计方法
3.3.4 状态特征编码型监控程序的设计方法
3.3.5 监控程序的4种设计风格
3.4 菜单驱动的监控程序设计方法
3.4.1 系统功能分析和菜单结构设计
3.4.2 画面设计
3.4.3 监控程序设计方法

第4章 常用功能模块的设计
4.1 软件时钟
4.1.1 时钟系统的建立
4.1.2 时钟的校对
4.1.3 定时任务的触发与撤除
4.1.4 相对时钟(闹钟)
4.2 键盘
4.2.1 软件去抖动处理
4.2.2 连击的处理
4.2.3 复合键的处理
4.2.4 键盘编码
4.3 数码显示
4.3.1 显示模块在系统软件中的安排
4.3.2 显示配置与输出驱动
4.3.3 灭零处理
4.3.4 闪烁处理
4.3.5 模拟串行显示
4.4 无字库液晶显示屏
4.4.1 图文混合显示的基本原理
4.4.2 字符的显示
4.4.3 图形的显示
4.4.4 汉字的显示
4.4.5 汉字的排版及其画面的输出
4.5 有字库液晶显示屏
4.5.1 液晶屏的硬件接口
4.5.2 最底层驱动子程序
4.5.3 常用子程序
4.5.4 画面显示
4.6 触摸屏
4.6.1 触摸信息的获取
4.6.2 触摸位置的计算
4.6.3 按钮编号查询方法
4.6.4 触摸屏校准

第5章 抗干扰设计
5.1 干扰的作用机制及后果
5.2 抗干扰的硬件措施
5.2.1 抗串模干扰的措施
5.2.2 抗共模干扰的措施
5.3 数字信号输入/输出中的软件抗干扰措施
5.3.1 数字信号的输入方法
5.3.2 数字信号的输出方法
5.4 数字滤波
5.4.1 程序判断滤波
5.4.2 扣值滤波
5.4.3 算术平均滤波
5.4.4 去极值平均滤波
5.4.5 加权平均滤波
5.4.6 滑动平均滤波
5.4.7 低通滤波
5.5 CPU抗干扰技术
5.5.1 人工复位
5.5.2 掉电保护
5.5.3 睡眠抗干扰
5.5.4 指令冗余
5.5.5 软件陷阱
5.5.6 看门狗系统
5.6 系统的恢复
5.6.1 系统复位
5.6.2 热启动过程
5.6.3 重要信息的恢复
5.6.4 系统状态的重入

第6章 容错设计
6.1 硬件故障的自诊断技术
6.1.1 CPU的诊断
6.1.2 程序存储器的诊断
6.1.3 RAM的诊断
6.1.4 A/D通道的诊断与校正
6.1.5 D/A通道的诊断
6.1.6 数字I/O通道的诊断
6.1.7 硬件自诊断模块
6.2 人机界面的容错设计
6.2.1 输入提示功能的设计
6.2.2 数据输入的容错设计
6.2.3 命令输入的容错设计
6.2.4 输入界面的安全性设计
6.2.5 输出界面的容错设计
6.3 软件的一般容错设计
6.3.1 堆栈溢出的预防
6.3.2 中断中的资源冲突及其预防
6.3.3 状态转移的条件审查
6.3.4 重要模块的安全措施
6.3.5 运算软件的容错设计
6.3.6 软件标志的使用
6.3.7 子程序的使用
6.4 互斥型输出的硬件容错设计

第7章 程序测试
7.1 程序测试的心理准备
7.1.1 程序测试的正确定义
7.1.2 程序测试结果的正确评价
7.1.3 培养正常的测试心理状态
7.2 程序测试方法
7.2.1 程序会审和口头宣讲
7.2.2 白盒测试法
7.2.3 黑盒测试法
7.2.4 自顶向下测试法
7.2.5 自底向上测试法
7.3 程序纠错
7.3.1 程序跟踪法
7.3.2 分析推理法
7.3.3 纠错原则

附录A 完整的应用程序样本
A.1 状态顺序编码,监控程序在主程序中(汇编语言)
A.2 状态特征编码,监控程序在定时中断中(汇编语言)
A.3 状态顺序编码,监控程序在主程序中(C51语言)
A.4 状态特征编码,监控程序在定时中断子程序中(C51语言)

附录B MCS-51单片机实用子程序库
B.1 MCS-51定点运算子程序库及其使用说明
B.2 MCS-51浮点运算子程序库及其使用说明
B.3 MCS-51高精度浮点运算子程序库及其使用说明
参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证