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
上一篇:基于USB数据采集系统的设计+源程序
下一篇:Flash平台上自动寻路(A)算法优化设计

AT89C51单片机智能窗帘控制...

Android+Msp430单片机玩具小车设计+源代码

Arduino单片机C#指纹考勤机设计+源代码

16位单片机的语音电子门锁系统【2910字】

DSP与单片机通信的多種方案设计【1567字】

Android+CC2541单片机物联网的...

ARM单片机+CAN总线工程车辆...

AES算法GPU协处理下分组加...

STC89C52单片机NRF24L01的无线病房呼叫系统设计

基于Joomla平台的计算机学院网站设计与开发

酵母菌发酵生产天然香料...

浅谈高校行政管理人员的...

压疮高危人群的标准化中...

从政策角度谈黑龙江對俄...

提高教育质量,构建大學生...

浅论职工思想政治工作茬...

上海居民的社会参与研究