怎样分析单片机程序

玛丽莲梦兔
926次浏览
2020年07月30日 20:02
最佳经验
本文由作者推荐

财务法规-七夕情话


科技情报开发与经济
文章编号:
1005-6033

200 6

03-0227-02
SCI-TECHINFORMATIONDEVELOP MENT&ECONOMY2006
年第
16
卷第


收稿 日期:
2005-09-22
怎样分析单片机程序
张世生
(山东师范大学传播 学院,山东济南,
250014

摘要:分析单片机程序是为编写程序做准备,包括对 硬件电路和软件功能的分析,提
出了实用的分析方法,并总结出分析程序的一般步骤和应注意的问题。< br>关键词:单片机;程序结构;算法分析
中图分类号:
TP368.1
文献标识码 :

设计单片机程序不是从零开始,而是先对已有的相关程序进行阅读
分析。分析程序 是设计、修改、优化、维护的重要步骤。因此,掌握单片机
程序的分析方法是非常必要的。
1< br>详细阅读设备使用说明书
可投产(使用)的单片机系统都附有使用说明书(手册),它介绍了该< br>(工作原理)技术指标、使用步骤、操作方法和注意事项,同时还有
产品的
系统的有关状 态、显示、报警等信息。这为阅读程序、划分模块分析功能
提供了极大的帮助。若有该系统,应对其反复 操作,熟悉使用步骤和操作
方法。操作时应全面详细,确保程序和外围电路的每一部分都执行过。
电路,
CMOS
电路多余输入端的处理(接正电源或接地),地线系统(系统
地,机 壳地或屏蔽地,数字地,模拟地)的安排,信号线包括读、写信号线、

PSEN
)、 地址锁存信号(
ALE
)、复片选信号线、时钟信号线、读选通信号
位信号等的连接及
I/O
地址的分配,掌握这些对程序的阅读至关重要。

了解单片机芯片型号 及功能
目前,具有代表性的单片计算机有:

位单片机,即
51
系列 ;
16
位单
片机,即
96
系列;
32
位嵌入式微处 理器,即
X86
结构的
i386EX
系列;超
低功耗
i48 6
系列和
RISC
结构的
i960
系列等。由于
MCS
51
系列单片
机具有集成度高,处理功能强,可靠性好,价格低廉等优点,它在 智能仪
器仪表、控制工程、测试技术等领域得到了广泛的应用。繁多的单片机品
种,使阅读者必 须首先知道该电路中具体使用了哪一种单片机芯片,弄
清其引脚功能、存储器结构、指令系统等。

4.1
阅读分析程序
单片机程序所用语言
由于汇编语言精炼高效,小型的 单片机程序常采用汇编语言。而

语言既有高级语言的各种特点,又可对硬件进行操作,进行结 构化程序
设计。对
MCS

51
单片机,目前采用比较多的有
ASM51

C51
等。此外,
还有汇编语言与
BASIC
语言混编的单片机程序。

分析掌握外围电路各部分的作用
在单片机应用系统中,硬 件是基础,软件的功能是对硬件进行合理
4.2
单片机程序的基本结构与组成
在整个单 片机程序中初始化、自检部分安排在单片机程序的开始

随后便是主(监控)程序,各模块和子 程序,此外还有字形表及数据表等。
调配和使用。在控制系统的开发中,软件和硬件设计基本上是同步进 行
的。
4.2.1
传统的程序结构
单片机程序一般采用模块化设计。其中心思 想是将一个功能较多、
3.1
单片机常用的外围电路
单片机常用的外围电路包括程序扩 展电路、内存扩展电路、并行口
程序量较大的程序整体按其功能划分成若干个相对独立的程序段。通常< br>把控制单片机应用系统工作的整个程序称为监控程序。监控程序按模块
分为监控主程序和命令处理 子程序。命令处理子程序完成各种命令所规
定的具体操作,它按各种命令再分为不同的子程序模块。它的 编程方法
与功能要求与系统硬件密切相关,没有通用的方法。而监控主程序是接
受和分析来自键 盘的命令
,进而把控制转到相应的处理子程序的入口,
起引导作用。
扩展电路、串行通 讯电平转换电路、(
LCD
)数码显示
Watchdog
电路、
LE D
电路、键盘电路、指示灯电路等,同时还必
A/D
转换电路、
D/A
转化电路、
须明确该电路的实现方式。单片机外围电路简图见图


3.2
其他电路及连线
为了阻抗匹配,增设驱动电路,驱动大电流电路时采用的光电隔离
!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
TheAppl icationoftheDiversityReceptionTechnique
inSDHDi gitalMicrowaveTransmissionSystem
LIUWei-dong
ABSTRACT

Thediversityreceptiontechniquepl aysanimportantroleinthelarge-capacitydigitalmicrow ave
transmission.Thispaperexpoundstheconcepts
featuresandimplementationschemesofseveralki ndsofthediversity
receptiontechniques

a nddemonstratestheprospectofthecombinationofvarious diversityreceptiontechniques.
KEYWORDS

diversityreceptiontechnique

digitalmicrowa vetransmission

selectivefading
227

< p>
张世生怎样分析单片机程序本刊
E-mail:bjb@mail.sxinfo.net
信息技术
在一键多义的情况下,监控主程序要确定控制的转向,除了要知道
“状况”, 即“状态”。可用状态表法设计
当前按键外
,还得明确系统目前的
监控主程序,其核心 是设计一张状态表,规定应用系统在某一状态下各
按键的含义,包括应执行哪一个命令处理子程序和完成 状态的正确变
迁。状态表的格式见表




现态当前按键
状态表的格式
次态执行模块
确定具体使用了哪一种算法。
4.5
资源 分配
确定资源分配,包括
ROM
、定时器

计时器、中断源等。其中 最关
RAM

计数器、键的是片内
RAM
的分配,如
00H ~2FH
工作寄存器,常用作指针、
循环变量等;
20H~
逻辑变量、
2FH
具有位寻址功能,用来存放各种标志位、
状态变量。对
RAM
应列出 一张
RAM
资源详细分配表,以备阅读查用。在
数据存储器中,安排好采样数据区、处 理结果数据区、显示和打印数据区、
标志区等。该分配表可手动画出,而用
Excel
表则更方便。


……
4.6
标志位
单片机有丰富的位操作 指令和位存储资源。一类是为
I/O
操作服务
的,如监测到的各种逻辑信息可存入位资 源中,随时供程序使用。另一类
是为程序本身服务
,表明系统的各种状态特点,传递各模块之间 的控制
信息,控制程序流向等,这一部分称为软件标志。阅读程序时,对每个位
资源必须进行详 细记录,绘出软件标志的使用说明书。需要说明的项目
有:名称和位地址:该软件标志在程序中的代号和 存放的位单元。意义:
说明逻辑

和逻辑

代表的状态或功能。对全 局定义的软件标志,它有
唯一的定义,对于局部定义的软件标志,必须注明其有效范围。生命周
期:分析每个软件标志初始化的状态,程序运行时发生变化的条件和时
刻,并进行记录。用户:对软件标 志进行读操作的状态或模块称为该软件
标志的用户。软件标志的使用有两种,一种是非破坏性的,只读不 写;另
一种是破坏性使用
,这种软件标志多为某种申请标志,响应后立即清除,
可避免 重复响应。同一标志位在不同的状态下可有不同的含义。多位标
志表示多个状态,这样节省标志位。
设计时,在内存开辟一个现态单元记忆当前的状态。当有键按下时,
监控主程序根据当前 按键的编码和现态这两个关键字去查阅状态表,从
而确定系统该执行哪一个处理子程序及系统的下一个状 态是什么,立即
修改现态单元的内容,以便有新的按键时系统能做出正确的响应。在每
个状态下 并非所有的按键都有定义
,即有空键。
当某个中断发生时,中断服务程序设置相应的标志,而主 程序不断
地判断这些标志,以决定启动哪一个处理程序。相应的处理程序处理完
相关的任务后, 清除此标志,然后把控制权交还给主程序。对于延时或定
时处理,可用一个定时器来完成。
4. 2.2
基于时间片的单片机程序
在单片机实时控制系统中引入了现代操作系统的多任务思想,采 用
4.7
抗干扰处理
由于单片机工作环境比较恶劣和复杂,往往会影响系统的可靠性、 安
时间片轮转调度算法对传统单片机编程思想进行了改进,并应用在分布式
系统中,结构清晰、 调度灵活,适用于定时要求复杂、实时性要求强的系统。
全性。这些干扰有供电系统干扰、过程通道干扰 、空间干扰等,会导致数据
采集误差加大、控制状态失灵、数据受干扰发生改变、程序运行失常。
为保证单片机控制系统长期稳定运行,必须对各种干扰进行处理,
包括必要的硬件电路,如硬件看门狗 技术;软件抗干扰技术,如输入通道
抗干扰技术、数字滤波、软件陷阱等。软件和硬件抗
RAM
数据冗余技术、
干扰技术结合
,这样才能达到最佳效果。
4.3
阅读 程序并画出程序流程图
(简称框图)是用来描述程序处理过程的工具,推理过程
程序流程图清晰、直观、逻辑性强,可用于刻画程序的控制流逻辑,为程序测试和理
解提供了一种重要的辅助手 段。
只有分析者对程序进行多次扫描,画出每个模块的详细流程图,才能
明确各个模块的任务和 相互联系及资源分配和整个程序的设计思路,各程
序模块的入口、出口和对
CPU
内部 寄存器的占用情况。还有
CPU
对启动

结语
程序设计是创造性的工 作,而程序分析往往是为创造性的工作做准
A/D
转换要发什么控制信号;端口地址是什么;< br>CPU
用什么方法得知
A/D
转换结束,以便输入转换结果;采样周期多长等。 这是分析和设计程序最重
数要的一步,也是逻辑分析和优化的基础。单片机常用功能模块有:定时、据采集、数字采集、数字滤波、标度变换、控制算法、显示、报警、打印等。
备。阅读程序是从已有 的程序开始,分析其硬件、软件功能,对其消化、吸
维护、优化程序,从而扩大系统的适应范围,提收, 才能对程序进行修改、
高技术指标和性能参数。
参考文献





张迎新,杜小平

单片机初级教程[



北京:北京航空航天大学出版
周锐鹏

基于消息机制的
C51
单片机程序设计[



电工技术与自动
(责任编辑 :王雅利)
社,
2000.


):
66-68.


2003
4.4
算法分析
算法是为解决某一特定问题而采取的确 定的有限的步骤,是求解某
一问题所使用的一组定义明确的规则,在实际应用中又称为方法、方式、体制等。对有些较复杂的算法,最好用画流程图的方式来分析,这样思路
清晰,简洁直观。
单片机控制系统程序设计中的重要内容,是根据被控制对象的特
性,合理选择算法,以达到所要求的控制 精度和指标。例如数据采集时进
行数字滤波处理,常用的数字滤波方式有:程序判断滤波、中位置滤波、
算术平均滤波、递推平均滤波法、防脉冲干扰平均值滤波、一阶滞后滤波
等。因此
,在 阅读程序前,必须对该问题的解决方法有一定的了解,才能
───────────────
第 一作者简介:张世生,男,
1967

11
月生,
1993
年毕业于聊城大
学物理系,讲师,现为山东师范大学传播学院教育技术专业
2003
级 硕士
研究生,山东省济南市文化东路
88
号,
250014.
How toAnalyzetheProgramforMCU
ZHANGShi-sheng
ABS TRACT:AnalyzingaprogramofMCUisapreparatoryworkforp rogramming,whichincludestheanalysisonthe
hardwa recircuitandsoftwarefunction.Thispaperputsforwards omeappliedanalyzingmethods,andsumsupthegeneral
proceduresforanalyzingprogramandsomeproblemsneedin gattention.
KEYWORDS:MCU;programstructure;algor ithmanalysis
228

事业单位改革文件-安全协议书


新年趣事-财神祝福语


云南艺术学院教务网-暑假社会实践心得体会


被自己感动-西安航空高等专科学校


湖南大众传媒-round函数怎么用


2019中级会计成绩查询-中国造价管理协会


山西考试-眉山市中考成绩查询


纸睡莲-安徽大学教务处