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 STC89S58单片机+JH7A检查仪微机接口软件设计(9):http://www.751com.cn/jisuanji/lunwen_9640.html