STC89S58单片机+JH7A检查仪微机接口软件设计(9)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

STC89S58单片机+JH7A检查仪微机接口软件设计(9)


4.1    软件编程语言的选择
对于51系列单片机而言,既可采用汇编语言,也可使用C语言编程。汇编语言是直接面向处理器的程序设计语言。处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。每一种处理器都有自己可以识别的一整套指令,称为指令集。处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态。
4.1.1    优点
因为用汇编语言设计的程序最终被转换成机器指令,故能够保持机器语言的一致性,直接、简洁,并能像机器指令一样访问、控制计算机的各种硬件设备。使用汇编语言,额可以访问所有能够被访问的软、硬件资源。
目标代码简短,占用内存少,执行速度快,是高效的程序设计语言,经常与高级语言配合使用,以改善程序的执行速度和效率,弥补高级语言在硬件控制方面的补足,应用十分广泛。
本次设计中采用汇编语言,编辑环境为Keil编程器。
4.2    本系统软件程序设计
JH7A检查仪的软件是根据系统的硬件来实现的。软件采用的是模块化的设计,使用有限状态机模型。把所有外部可能产生的事件定义成不同的消息,消息产生后,进入消息队列,由主循环负责分发。另外,把系统的不同运行阶段定义成系统的状态,不同的状态,对不同的消息产生不同的响应,同时又有可能引起状态的改变,程序中除了主循环之外,其他模块相互独立,各个模块的改动不会影响其他模块;如果要添加新的功能模块,只需在状态,消息里面增加新的定义即可。状态如果太少,则程序中需要的判断应该相应的要增多,违背了模块化的思想;如果太多,则程序又显琐碎,影响开发的效率。
而软件同样的根据每个模块所实现的功能来编写子程序的,然后通过主程序调用子程序来实现所需的功能。软件主要包括主程序、按键程序和自检程序。
4.2.1    程序地址赋值
  WDTE    EQU    9FH
    SCONF    EQU    0BFH
RS    EQU    P2.7            ;L:存取缓存器,H:存取DDRAM
WR_lcd    EQU    P3.6        ;L有效
RD_lcd    EQU    P3.7        ;L有效
CS1    EQU    P2.6            ;L有效
CS2    EQU    P2.5            ;H有效
BUSY    EQU    P3.2
;INT    EQU    P3.6
;RST    EQU    P3.7
;
 
CS_640    BIT    P3.4
DAT_640    BIT    P1.1
CLK_640    BIT    P1.0
;74HC165
CH_165  EQU       p2.4;
CLK_165 EQU      P2.3;
DA1_165 EQU      p2.2
DA2_165 EQU      P2.1
;继电器输出
J1      EQU     P1.2
J2      EQU     P1.3
J3      EQU     P1.4
J4      EQU     P1.5
J5      EQU     P1.6 (责任编辑:qin)