初级程序的编写与调试

初级程序的编写与调试
初级程序的编写与调试

初级程序的编写与调试

一、实验目的

1.掌握无条件转移指令、条件转移指令;

2.掌握利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法;

3.掌握直接向视频RAM送ASCII码进行屏幕显示的方法;

4.掌握屏幕字符显示程序编写与调试。

二、实验内容

5.字符、字符串的屏幕显示;

6.直接向VRAM送ASCII码显示字符;

7.用字符搜索法确定字符串长度;

8.16进制数化ASCII码的一般方法(显示内存内容)。

三、实验环境

PC微机

DOS操作系统或 Windows 操作系统

MASM.EXE,LINK.EXE,https://www.360docs.net/doc/b14767034.html,或宏汇编集成环境

四、实验要求

1.仔细阅读有关无条件转移指令、条件转移指令的内容;

2.阅读利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的内容;

3.阅读实验指导书中的字符串屏幕显示程序、字符屏幕显示程序、直接向VRAM送ASCII码显示字符程序、用字符搜索法确定字符串长度程序、16

进制数化ASCII码的一般方法的程序段,调试上述程序。

五、主要实验步骤及结果

1.利用INT 21 0AH号功能调用显示字符串。

(1)用A命令在100H处键入下列程序:

MOV AH, 9

MOV DX,110

INT 21

INT 20

(2)用A命令在110H处键入下列字符串的ASCII码:

DB 'This is a sample!$'

(3)用N命令和W命令将此程序(包括数据区)存入文件名为AA.COM的磁盘文件中。(存入前BX:CX必须置为文件长度值)。

(4)用Q命令退出DEBUG。

(5)在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG检查程序有无错误。

2.利用INT 21H 2号功能显示字符

(1)用A命令在100H处键入下列程序:

XOR DL,DL

MOV CX,100

LOP: MOV AH,2

INT 21

INC DL

PUSH CX

MOV CX,8

DELY: PUSH CX

MOV CX,0

J: LOOP J

POP CX

LOOP DELY

POP CX

LOOP LOP

INT 20

(2)用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH

处控制字符显示结果与表上有何不同?

表中的07H-0DH处是用字符表示,如07H为BEL,0DH为CR,但是显示出来的是用小符号来表示,如07H用笑脸表示,0DH直

接是以回车来表现。

(3)按CTRL+BREAK退出此程序,若一次不行可多做几次。

3.直接向VRAM送ASCII码显示字符

(1)用A命令在100H处键入下列程序

MOV AX,B000

MOV DS,AX

XOR AL,AL

XOR BX,BX

MOV CX,100

LOP:MOV [BX],AL

INC BX

INC AL

PUSH CX

MOV CX,8

DELY:PUSH CX

MOV CX,0

J:LOOP J

POP CX

LOOP DELY

POP CX

LOOP LOP

INT 20

(2)用N命令和W命令将此程序存入https://www.360docs.net/doc/b14767034.html,文件中。(一定要先存入!) (3)用G命令运行此程序,仔细观察每一个ASCII码显示结果,并和字符表及上一道程序运行情况进行对照,其控制字符区(07-0DH)显示结

果和INT 21H 2号功能调用有何不同?

控制字符区在该程序中没有显示,在上一个程序中显示为笑脸等符号。

数控编程中的有关标准与代码

数控编程中的有关标准与代码 为了满足设计、制造、维修和普及的需要,在输入代码、坐标系统、程序格式、加工指令及辅助功能等方面,国际上已经形成了两种通用标准,即国际标准化组织(ISO)标准和美国电子工业协会(EIA)标准。我国根据ISO标准制定了JB3050—1982《数字控制机床用七单位编码字符》、JB3051—1982《数字控制机床坐标和运动方向的命名》、JB3832—1985《数控机床轮廓和点位切削加工可变程序段格式》、JB/T3208—1999《数控机床程序段格式中的准备功能G和辅助功能M代码》等。但是由于各个数控机床生产厂家所用的标准尚未完全统一,其所用的代码、指令及其含义不完全相同,因此在编程时必须按所用数控机床编程手册中的规定进行。 2.1.1 数控机床的坐标系统 数控加工是基于数字的加工,刀具与工件的相对位置必须在相应坐标系下才能确定。数控机床的坐标系统,包括坐标系、坐标原点和运动方向,对于数控工艺制定、编程及操作,是一个十分重要的概念。 1.数控机床的坐标系 (1)标准坐标系和运动方向 标准坐标系采用右手直角笛卡儿定则。基本坐标轴为X、Y、Z并构成直角坐标系,相应每个坐 标轴的旋转坐标分别为A、B、C,如图2-1所示。 图2-1 数控机床标准坐标系 基本坐标轴X、Y、Z的关系及其正方向用右手直角定则判定,拇指为X轴,食指为Y轴,中指为Z轴,围绕X、Y、Z各轴的回转运动及其正方向+A、+B、+C分别用右手螺旋定则判定,拇指为X、Y、Z的正向,四指弯曲的方向为对应的A、B、C的正向。与+X、+Y、+Z、+A、+B、+C相反的方向相应用带“′”的+X′、+Y′、+Z′、+A′、+B′、+C′表示。注意:+X′、+Y′、+Z′之间不符合右手直角笛卡儿定则。 由于数控机床各坐标轴既可以是刀具相对于工件运动,也可以是反之,所以ISO标准和我国的JB3052—1982部颁标准都规定: ①不论机床的具体结构是工件静止、刀具运动,或是工件运动、刀具静止,在确定坐标系时,一律看作是刀具相对静止的工件运动。 ②机床的直线坐标轴X、Y、Z的判定顺序是:先Z轴,再X轴,最后按右手定则判定Y轴。 ③坐标轴名(X、Y、Z、A、B、C)不带“′”的表示刀具运动;带“′”的表示工件运动。 ④增大工件与刀具之间距离的方向为坐标轴正方向。 (2)坐标轴判定的方法和步骤 ①Z轴 规定平行于机床轴线的坐标轴为Z轴(见图2-2、图2-3、图2-4)。对于有多个主轴或没有主轴的机床(如刨床),标准规定垂直于工件装夹面的轴为Z轴。对于能摆动的主轴,若在摆动范围内仅有一个坐标轴平行主轴轴线,则该轴即为Z轴;若在摆动范围内有多个坐标轴平行主轴轴线,则规定其中垂直于工件装夹面的坐标轴为Z轴。 规定刀具远离工件的方向为Z轴的正方向(+Z)。

CodeWarrior 基本使用教程

1). CodeWarrior 能做些什么? A).使用C/C++ 进行编程 B).也支持Java 开发 本课程仅限于应用C/C++ 语言在Windows 平台上使用CodeWarrior 进行的开发. 2). CodeWarrior 优点是什么? CodeWarrior 能够自动地检查代码中的明显错误,它通过一个集成的调试器和编辑器来扫描你的代码,以找到并减少明显的错误,然后编译并链接程序以便计算机能够理解并执行你的程序. 3).常用编程类型说明: A).应用程序(如:文本编辑器WordPad ) B). 庞大的商业软(如:比如象Adobe Photoshop,MicrosoftWord,CodeWarrior…) C). 控制面板(control panels)<实际上是设置系统功能的一个简单界面,比如可以在控制面板中 完成.如:设置音量和鼠标移动速度这样一些参数.> D). 动态链接库(dynamic linked libraries,DLLs)<提供一些很有用的被系统和应用程序共享 的函数.通常它们没有用户界面.> E). 插件(plug-ins)<类似于DLLs,插件也是可供其它软件使用的小程序,但插件只能被特定的软 件使用.>

4).CodeWarrior工具条介绍: 4.1).文件菜单: 4.2).编辑菜单

4.3). 查看菜单 4.4). 查找菜单4.5). 工程菜单

4.6). 调试菜单 4.8).窗口菜单 4.9). 帮助菜单 4.7).VCS 菜单

5).CodeWarrior 集成开发环境的设置

软件开发过程详解

软件开发过程详解 软件开发过程即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。 生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件开发过程覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。 1.需求分析 1.1 需求分析的特点和任务 需求分析是软件开发的第一步。获取需求的一个必不可少的结果是对项目中描述的客户需求的普遍理解。一旦理解了需求,分析者、开发者和客户就能探索出描述这些需求的多种解决方案。参与需求获取者只有在他们理解了问题之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工。把需求获取集中在用户任务上—而不是集中在用户接口上—有助于防止开发组由于草率处理设计问题而造成的失误。有几种原因使需求分析变得困难:(1)客户说不清楚需求;(2)需求自身经常变动;(3)分析人员或客户理解有误。 需求获取、分析、编写需求规格说明和验证并不遵循线性的顺序,这些活动是相互隔开、增量和反复的。当你和客户合作时,你就将会问一些问题,并且取得他们所提供的信息(需求获取)。同时,你将处理这些信息以理解它们,并把它们分成不同的类别,还要把客户需求同可能的软件需求相联系(分析)。然后,你可以使客户信息结构化,并编写成文档和示意图(说明)。下一步,就可以让客户代表评审文档并纠正存在的错误(验证)。这四个过程贯穿着需求分析的整个阶段。需求获取可能是软件开发中最困难、最关键、最易出错及最需要交流的方面。需求获取只有通过有效的客户—开发者的合作才能成功。分析者必须建立一个对问题进行彻底探讨的环境,而这些问题与产品有关。为了方便清晰地进行交流,就要列出重要的小组,而不是假想所有的参与者都持有相同的看法。对需求问题的全面考察需要一种技术,利用这种技术不但考虑了问题的功能需求方面,还可讨论项目的非功能需求。确定用户已经理解:对于某些功能的讨论并不意味着即将在产品中实现它。对于想到的需求必须集中处理并设定优先级,以避免一个不能带来任何益处的无限大的项目。 1.2.需求分析的一般方法

数控车床代码格式表

数控车床代码格式表 G00快速定位 G00X(U)_Z(W)__ G01直线切割 G01 X(U)_Z(W)__F__ G02顺时针圆弧插补X(U)_Z(W)__R__F__ G03逆时针圆弧插补X(U)_Z(W)__R__F__ 切削圆弧的大小和范围,通过指定圆弧的起点(刀具当前的位置)至圆弧中心的距离(I,K)以及圆弧的终点(在工件坐标系中设定的坐标上的X,Z 点,或通过增量坐标值U,V 指定的点)决定. I 指定圆弧起点至X 轴方向的圆弧中心的距离(半径值) K 指定圆弧起点至Z 轴方向的圆弧中心的距离 G 04暂停(以秒为单位) G04 p__ (1秒=10000)(例:G04 P10000) G04 U__ G04 X__ G09精确停止 G10道具修正量的可编程数据输入 G10 P__X__Z__R__Q__ G10 P__U__W__C__Q__ P:偏移编号 刀具磨损量的情况 P=刀具磨损编号 刀具形状量的情况 P=10000+刀具形状编号 X: X 轴偏移量(绝对值)

Z: Z轴偏移量(绝对值) U: X轴偏移量(增量值) W: Z轴偏移量(增量) R: 刀尖R偏移量(绝对值) C: 刀尖R偏移量(增量) Q:虚拟刀尖编号 G20英制输入 G21公制输入 G27参考点复位检查 G27X(U) 0 Z(W) 0 T0000 G28参考点返回 G28X(U)__Z(W)__ G30回到第二参考点 G30 X(U)__Z(W)__ G32螺纹切削 G32 X(U)__Z(W)__F__(F为螺距) G40刀尖R修正取消 G41刀尖R左修正 G42 刀尖R右修正 G50坐标系设定,主轴最高转速设定 G54-G59工件坐标系设定 G70精加工循环

实验3 循环结构程序设计

实验三循环结构程序设计 一、实验目的 1.通过本实验,加深对循环控制结构有关概念的理解。 2.熟练掌握while、do-while和for三种循环控制语句的特点,掌握循环结构程序设计和调试方法。 3.掌握二重循环结构程序的设计方法。 二、预习内容 1.If语句和goto语句组合实现循环的方法。理解循环的条件设置,循环的次数,循环体以及循环的结束。 2. while循环结构的特点。理解while循环的条件设置,循环次数,循环体以及循环 结束的条件。 3. do-while循环结构的特点。理解do-while循环的条件设置,循环次数,循环体以 及循环结束的条件。 4. for结构的特点。理解for结构中三个表达式的执行顺序以及各自的作用,指出循 环的条件,循环的次数,循环体以及循环结束的条件。 5. 循环的嵌套。理解循环嵌套的结构特点,循环的执行顺序以及循环体,循环次数及 内层循环的跳出。 6. break,continue语句的意义及其在循环结构中的应用特点。 三、实验内容 (一)阅读调试下列程序,并写出程序结果。 1.用while循环实现数据统计问题。 数据统计问题:从键盘输入一批任意数量的整数,统计其中不大于100的非负数数 值的个数。 /* 使用负数作为数据输入结束标志的程序 */ #include void main() { int m,counter=0; while(1) { printf("请输入一个整数:"); scanf("%d",&m); if(m<0)break; if(m<=100)counter++; printf("\n");

codewarrior软件与编程的讲解完整版

CodeWarrior 使用教程 第一课认识CodeWarrior Translated from?https://www.360docs.net/doc/b14767034.html, CodeWarrior?能做些什么? ????当你知道自己能写更好的程序时,你一定不会再使用别人开发的应用程序。但是常常会发生这种情况,就是当你写了无数行代码后,却找不到使得整个程序出错的那一行代码,导致根本没法编译和链接整个程序。这可能更令人灰心丧气。 ????本文将告诉你如何使用?CodeWarrior?这一工具解决上述问题。 ????从现在开始,我们将集中精力学习如何在?CodeWarrior?中使用?C/C++?进行编程。为了学习本课程,你必须已经能够比较熟练地使用上述两种语言之一。CodeWarrior?也可以支持?Java?开发,但那是另一门课程的内容。本课程仅限于在?Windows?平台上使用?CodeWarrior?进行的开发。一旦你精通了?CodeWarrior?编程后,你可以试试在其它平台上使用?CodeWarrior。本文中讨论过的大部分内容都可以应用到开发?Mac?应用程序中。 ??? CodeWarrior?能够自动地检查代码中的明显错误,它通过一个集成的调试器和编辑器来扫描你的代码,以找到并减少明显的错误,然后编译并链接程序以便计算机能够理解并执行你的程序。你所使用过的每个应用程序都经过了使用象?CodeWorrior?这样的开发工具进行编码、编译、编辑、链接和调试的过程。现在你在我们的指导下,自己也可以去做这些工作了。

????你可以使用?CodeWarrior?来编写你能够想象得到的任何一种类型的程序。如果你是一个初学者,你可以选择编写一个应用程序(比如一个可执行程序),比如象微软公司的文本编辑器?WordPad?这样的应用程序。 ????应用程序可能是最容易编写的程序了,而那些庞大的商业软件,比如象?Adobe Photoshop,Microsoft Word?以及?CodeWarrior?软件都是极其复杂的。其它类型的程序指的是控制面板(control panels),动态链接库(dynamic linked libraries,DLLs)?和插件(plug-ins)。我们先来简单的讨论一下这些类型的程序。 ????在?Windows?中,控制面板程序是一些(通常比较小的)存放在控制面板目录下的程序,可以在开始菜单的控制面板项中看到它们。控制面板实际上是设置系统功能的一个简单界面,比如可以在控制面板中完成诸如设置音量和鼠标移动速度这样一些参数。????动态链接库?(DLLs)?提供了一些很有用的被系统和应用程序共享的函数。通常它们都是没有用户界面的。 ????插件?(Plug-ins)?有点类似于?DLLs,插件也是可供其它软件使用的小程序,但插件只能被特定的软件使用。比如说,Photoshop?的插件允许程序员方便地扩展?Photoshop?的功能,而不需要去修改它的源代码。同样的,许多?Web?浏览器也使用插件来增加功能,或者为了让你能够看到页面上的新的内容类型。实际上,有许多程序,包括?CodeWarrior,都使用这种插件结构。 ????一旦你掌握了?CodeWarior?和你所使用的操作系统的编程接口时,你可以编写许多其它类型的程序。实际上,本课程也是你深入学习其它编程方法的基础课程。你已经找到了一个最优秀的地方开始你的编程之旅。好,现在请坐好,放松,去吸取这门课程的精

数控加工程序段的结构与格式复习过程

数控加工程序段的结 构与格式

数控车床程序的结构 ☆学习目标 1、了解一个完整程序的基本构成。 2、掌握G、S、M、F、T功能的使用方法。 一、加工程序结构 数控加工中,为使机床运行而送到CNC的一组指令称为程序。每一个程序都是由程序名、程序内容和程序结束三部分组成。程序的内容则由若干程序段组成,程序段是由若干字组成,每个字又由字母和数字组成。即字母和数字组成字,字组成程序段,程序段组成程序。 二、程序代码 ①国际标准化组织ISO(international standard organization) ②美国电子工业协会EIA(electronic industries association) 国际上通用的数控代码有ISO、EIA两种。目前,数控编程广泛采用的程序段格式是ISO。 1、程序组成 (1)程序编号(程序名) 程序名为程序的开始部分,采用程序编号地址码区分存储器中的程序,每个程序都要有程序编号,在编号前采用程序编号地址码。不同数控系统程序编号地址码不同,如日本FANUC数控系统采用“O”作为程序编号地址码;美国的AB8400数控系统采用P作为程序编号地址码;德国的SIEMENS数控系统采用%作为程序编号地址码等。 程序名是零件加工程序的代码,它是加工程序的识别标记,不同程序名对应着不同的加工程序零件。 在程序名编写的时候要注意下面几点: ①程序名写在程序的最前面,并且单列一行。 ②在同一数控机床中,程序名不可以重复使用。

③ FANUC系统中,程序号的书写格式是O××××,其中O是地址符,其后为四位数字,数值从O0000到O9999,如O0001。在书写时起数字前的零可以省略不写,如O0001可写成O1。O0000在数控系统中通常有特殊的含义,一般应尽量避免使用。(O0000是MDI方式下默认的编号) (2)程序内容(刀具的运动轨迹) 程序内容部分是整个程序的核心,由若干个程序段组成,每个程序段由一个或多个指令字构成,每个指令字由地址符和数字组成,它代表机床的一个位置或一个动作,每一程序段结束用“;”号。 程序内容应具备六要素: ①、准备功能字G ②、尺寸功能字X、Z ③、进给功能字F ④、主轴功能字S ⑤、刀具功能字T ⑥、辅助功能字M (3)程序结束段 以程序结束指令M02或M30作为整个程序结束的符号。 M02与M30的区别: M02表示程序结束,不返回到程序开始部分;M30表示程序结束且返回到程序开始部分。 2、程序结构 ①加工程序由若干个程序段组成。 ②程序段由一个或若干个指令字组成,字是数控程序的最小单位。 ③每个指令字由地址符和数字组成(字―地址结构),代表机床的一个位置或一个动作。地址符由字母组成,每个字母、数字、符号(正负号)称为字符。 ⑤程序的起始符:O、%。 ⑥程序结束符:M02或M30。 ⑦每一行程序以分号结尾。 下表为加工程序结构举例 加工程序结构举例

数控编程程序格式

1)程序结构 程序段是可作为一个单位来处理的连续的字组,它实际是数控加工程序中的一段程序。零件加工程序的主体由若干个程序段组成。多数程序段是用来指令机床完成或执行某一动作。程序段是由尺寸字、非尺寸字和程序段结束指令构成。在书写和打印时,每个程序段一般占一行,在屏幕显示程序时也是如此。 (2)程序格式 常规加工程序由开始符(单列一段)、程序名(单列一段)、程序主体和程序结束指令(一般单列一段)组成。程序的最后还有一个程序结束符。程序开始符与程序结束符是同一个字符:在ISO代码中是%,在EIA代码中是ER。程序结束指令可用M02(程序结来)或M30(纸带结束)。现在的数控机床一般都使用存储式的程序运行,此时M02与M30的共同点是:在完成了所在程序段其它所有指令之后,用以停止主轴、冷却液和进给,并使控制系统复位。M02与M30在有些机床(系统)上使用时是完全等效的,而在另一些机床(系统)上使用有如下不同:用M02结束程序场合,自动运行结束后光标停在程序结束处;而用M3O结束程序运行场合,自动运行结束后光标和屏幕显示能自动返回到程序开头处,一按启动钮就可以再次运行程序。虽然M02与M30允许与其它程序字合用一个程序段,但最好还是将其单列一段,或者只与顺序号共用一个程序段。 程序名位于程序主体之前、程序开始符之后,它一般独占一行。程序名有两种形式:一种是以规定的英文字(多用O)打头、后面紧跟若干位数字组成。数字的最多允许位数由说明书规定,常见的是两位和四位两种。这种形式的程序名也可称作程序号。另一种形式是,程序名由英文字、数字或英文、数字混合组成,中间还可以加入“—”号。这种形式使用户命名程序比较灵活,例如在LC30型数控车床上加工零件图号为215的法兰第三道工序的程序,可命名为LC30-FIANGE-215-3,这就给使用、存储和检索等带来很大方便。程序名用哪种形式是由数控系统决定的。 % O1001 N0 G92 X0 Y0 Z0 N5 G91 G00 X50 Y35 S500 MO3 N10 G43 Z-25 T01.01 N15 G01 G007 Z-12 N20 G00 Z12 N25 X40 N30 G01 Z-17 N35 G00 G44 Z42 M05 N40 G90 X0 Y0 N45 M30 % (3)程序段格式 程序段中字、字符和数据的安排形式的规则称为程序段格式(block format)。数控历史上曾经用过固定顺序格式和分隔符(HT或TAB)程序段格式。这两种程序段格式己经过时,目前国内外都广泛采用字地址可变程序段格式,又称为字地址格式。在这种格式中,程序字长是不固定的,程序字的个数也是可变的,绝大多数数控系统允许程序字的顺序是任意排列的,故属于可变程序段格式。但是,在大多数场合,为了书写、输入、检查和校对的方便,程序字在程序段中习惯按一定的顺序排列。 数控机床的编程说明书中用详细格式来分类规定程序编制的细节:程序编制所用字符、程序

嵌入式软件开发流程图

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

SOP-数控铣床标准化作业程序1

中国石油 数控铣床 标准作业程序 (试行) 川庆钻探工程有限公司测井公司编制

目录 规定 作业程序流程框图 岗位及职责 第一章设备启动前的检查 第二章设备操作 2.1开机 2.2调整刀具 2.3装夹工件 2.4回零、对刀 2.5开始铣削 2.6停机 2.7紧急处置 第三章设备维护保养 3.1数控铣床每日维护保养 3.2数控铣床每周维护保养 3.3数控铣床每月维护保养 3.4数控铣床半年维护保养 3.5数控铣床年度维护保养 附录一数控铣床启动前检查清单 附录二设备运转记录 附录三设备故障维修登记表 附录四数控铣床维护保养清单(每日)附录五数控铣床维护保养清单(每周)附录六数控铣床维护保养清单(每月)附录七数控铣床维护保养清单(半年)附录八数控铣床维护保养清单(年度)

规定:1. 进行数控铣床操作及维护保养作业必须执行本程序。 2. 本设备操作人员应经过培训,并取得上岗证后方可上岗操作。作业程序流程框图:

岗位和职责: A-最终责任,R-执行,C-咨询,I-告知

第一章设备启动前的检查 1.1操作人员上岗前应正确穿戴好劳保服、工鞋、护目镜、不准围围巾、佩戴装饰品,女工应戴工作帽。 1.2 操作人员负责设备启动前的检查,检查内容应包括: 1.2.1铣头安装紧固可靠、无松动、无裂纹。 1.2.2检查定位夹具完好。 1.2.2检查各油管及接头无渗漏。 1.2.1铣床主轴箱、进给箱、变速箱润滑油油面高度≥1/2油标高度,不足应及时添加。 1.2.2冷却油箱油面高度≥2/3油标高度,不足应及时添加。 1.2.3检查机床各进给轴及其它辅助设备的连接状态良好。 1.2.4铣床电器柜门及电源开关门关闭。 1.2.5铣床床身、工作台、主轴横梁及运动部件上无工件、工具等。 1.2.6检查操作面板各按键无损坏。 1.2.7图纸、工艺卡片放置在搁物架指定位置,保持其清洁和完整。 1.2.8刀具、量具及工具整齐摆放在工作台上。 1.2.9铣床四周保持场地干燥、光线适宜,操作者步行范围内无障碍物。 1.2.10检查前一日维护保养记录,确保设备无故障。 1.3 由当班操作人员负责填写《数控铣床启动前检查清单》(见附表一)。

实验四_循环结构程序设计

实验四程序设计-循环结构程序设计 4.1 实验要求与目的 1. 理解循环条件、循环体以及循环的执行过程 2. 掌握及正确使用for、while和do-while语句实现循环程序设计 3. 掌握break,continue语句正确使用 4. 掌握双循环结构的程序设计 5. 掌握相关算法(累加、素数、最值、穷举法等) 4.2 实验指导 结构化程序设计的三大结构:顺序结构、选择结构和循环结构。 在实际生活中常说重复执行某项工作多次,或重复执行某项工作,达到某种要求为止。如果需要重复执行某些操作,在程序设计就要用到循环结构。 C语言中提供了三种循环语句:for语句、while语句和do-while语句。 1.for语句是常用的一种循环语句,它的一般格式: for (表达式1;表达式2;表达式3) 循环体语句 for循环语句的执行过程: S1:计算表达式1的值; S2:计算表达式2的值,并判断其值是真值(非0值),还是假值(0值)。若为真值,执行步骤S3,反之执行步骤S5; S3:执行循环体语句; S4:计算表达式3的值;返回步骤S2; S5:结束循环(退出循环);继续执行for 语句之后的后继语句。 2.while循环语句,它的一般格式: while ( 条件表达式) 循环体语句 while循环语句的执行过程: S1:计算条件表达式的值,并判断其值是真值(非0值),还是假值(0值),若为真值,执行步骤S2,否则执行步骤S4。 S2:执行循环体; S3:返回S1; S4:退出循环,执行while语句的后继语句。 3.do-while循环语句,它的一般格式: do 循环体语句 while( 条件表达式); do-while循环语句的执行过程: S1:执行循环体语句; S2:计算条件表达式的值,并判断其值是真值(非0值),还是假值(0值),若为真值,返回执行步骤S1,否则执行步骤S3; S3:退出循环,执行do-while语句的后继语句。

codewarrior v10.x快速指南

Quick Start for Microcontrollers V10.1

CodeWarrior Development Studio for Microcontrollers V10.x Quick Start SYSTEM REQUIREMENTS Hardware Windows? OS: PC with 1 GHz Intel? Pentium? compatible processor Linux? OS: 1.8 GHz Intel Pentium class processor (or better) 2GB of RAM CD-ROM drive Depending on host-target connection: Parallel Port, 9-pin Serial Port, or USB Port Operating System Microsoft? Windows XP 32-bit and 64-bit (Professional Edition), Microsoft Windows Vista? 32-bit and 64-bit (Home Premium Edition and Business Edition), or Microsoft Windows 7 32-bit and 64-bit (Home Premium Edition and Professional Edition) Red Hat Enterprise Edition 5.2 Disk Space 2 GB total 400MB on Windows system disk This Quick Start explains how to install the CodeWarrior Development Studio for Microcontrollers V10.x software on Windows and Linux operating systems, and how to use the CodeWarrior IDE to create, build, and debug a project. Section A:Installing CodeWarrior Software NOTE This section describes how to download and install CodeWarrior for Microcontrollers V10.x from the Web or install it from the CD. The Web version has a time-bombed license.

CodeWarriorV软件使用指南

Code Warrior V5.1软件使用指南 一、软件安装指南 二、关于BDM驱动 三、创建一个新的工程 四、编写与运行你的程序 2011年10月16日陈万忠

Code Warrior V5.1软件使用指南 一、软件安装指南 1. 打开文件安装文件夹 2. 找到安装文件 3. 双击此文件,出现安装界面: 4. 点击“NEXT”按钮,出现安装路径信息。如果修改系统默认路径,点击“change”按钮,然后修改安装路径,否则点击“NEXT”按钮。

5. 在安装过程中,根据提示信息,完成每一步的安装。 6. 安装完毕后,在所有程序中找到Code Warrior V5.1执行文件,点击执行即可进入Code Warrior V5.1集成环境。

7. 也可以拖到桌面上。此时桌面出现如下图标: 二、关于BDM驱动 请将“BDM使用说明和驱动”文件夹下的文件: OpenSourceBDM.dll 和 tblcf.dll以及 tblcf_gdi.dll 三个文件,复制到: C:\Program Files\Freescale\CWS12v5.1\Prog\gdi目录下(或者你安装时修改过的Code Warrior V5.1所在目录\Prog\gdi子目录下),在调试时选择Open Source BDM 调试接口即可。

三、创建一个新的工程 创建一个新的工程,要按照下面向导选项的8个步骤来选择完成。 双击桌面快捷图标,进入 Code Warrior集成开发环境窗口。 第一步:创建一个新的工程。

第二步:选择CPU类型,选择HCS12X目录下的HCS12X Family。 第三步:选择CPU芯片型号和BDM工具TBDML。 第四步:选择编程语言,我们选择C语言编程。

控制测试-工薪与人事循环.

工薪与人事循环: 控制测试 所属会计师事务所:__________ 测试本循环控制运行有效性的工作包括: 1.针对了解的被审计单位工薪与人事循环的控制活动,确定拟进行测试的控制活动。 2.测试控制运行的有效性,记录测试过程和结论。 3.根据测试结论,确定对实质性程序的性质、时间和范围的影响。 测试本循环控制运行有效性形成下列审计工作底稿: 1.GXC-1:控制测试汇总表 2.GXC-2:控制测试程序 3.GXC-3:控制测试过程

工薪与人事循环: 控制测试汇总表 所属会计师事务所:__________________ 1.了解内部控制的初步结论 (注:根据了解本循环控制的设计并评估其执行情况所获取的审计证据,注册会计师对控制的评价结论可能是: (1) 控制设计合理,并得到执行; (2) 控制设计合理,未得到执行; (3) 控制设计无效或缺乏必要的控制。) 2.控制测试结论

3.相关交易和账户余额的审计方案 (1) 对未进行测试的控制目标的汇总 (2) 对未达到控制目标的主要业务活动的汇总 其他循环的控制运行有效性的审计证据是否恰当。) 4.沟通事项 是否需要就已识别出的内部控制设计、执行以及运行方面的重大缺陷,与适当层次的管理层或治理层进行沟通? 3

4

**会计师事务所有限公司 工薪与人事循环: 控制测试程序 所属会计师事务所:____________________________ (1)询问程序 通过实施询问程序,被审计单位×××已确定下列事项: 1)本年度未发现任何特殊情况、错报和异常项目; 2)财务或人力资源部门的人员在未得到授权的情况下无法访问或修改系统内数据; 3)本年度未发现下列控制活动未得到执行; 4)本年度未发现下列控制活动发生变化。 (2)其他测试程序 5

数控编程教案

知识目标:1数控机床的组成 2数控机床的分类 3数控机床的加工特点 技能目标:1能说出数控机床的组成 2能说出数控机床的各种分类特点 3能说出数控机床优于普通机床的加工特点 任务下达:任务一、数控机床 任务分析 相关知识2 1数控机床的组成,输入/输出设备。数控装置,伺服系统,机床本体,检测反馈装置。 2数控机床的分类 (1)按加工方式分为 金属切削累,金属成型累,特种加工类,其他类 (2)按控制系统功能分类 点位控制数控机床 直线控制数控机床 轮廓控制机床 (3)按伺服控制分类 开环控制数控机床 闭环控制数控机床

半闭环控制数控机床 (4)按数控系统的功能分 高档数控机床 中档数控机床 抵挡数控机床 (5)按可联动的轴数分 两轴控制 两州半控制(两个轴式连续控制,第三轴式位位或直线控制) 多轴控制 3数控机床的加工特点 适应性强 适合加工复杂型面得零件 加工精度高加工质量稳定 加工生产率高 一机多用 减轻操作者的劳动强度 有利于生产管理的现代化 价格较费 调试于维修较复杂 任务实施:通过多媒体教学师生互动完成对数控机床组成,分类,加工特点的认知

任务评价:通过提问检查授课的效果

知识目标:1数控.数控机床的概念 2数控机床的发展趋势 技能目标: 1能说出普通机床与数控机床的根本区别 2能说出数控.数控机床的概念 3 能说出数控机床的发展趋势 任务下达: 任务二、认识数控机床 相关知识1 普通机床与数控机床在加工零件的根本区别:数控机床是按 事先编制好的加工程序自动的完成对零件的加工而普通机 床是由操作者按照工艺规程通过手动操作来完成零件的加 工. 1数控/数控机床 数控:数字控制CNC-Numberied.Control)的简称。是用数字 化信号对机床的运动及加工过程进行控制的自动控制技术 数控机床:采用数字控制的机床或装备了数控系统的机床 2数控机床的产生 (1)1949年美国密执安州特拉弗斯城帕森斯公司的帕森斯。为精 确的制作直升飞机叶片的样板.设想了用电子技术控制坐标的 镗床的方案 (2)1989年美国空军后勤司令部位了在短时间内造出经常变更设 计的火箭零件于帕森斯公司合作.并选择麻省理工学院伺服机 构研究所协作单位.于1952年研制成功

循环控制 实验指导

实验三循环结构程序设计 实验课程名:高级语言程序设计(C) 专业班级:电气工程及其自动化学号:201140220209 姓名:郑朝栋 实验时间:2012.4.19 实验地点:K4—202 指导教师:吴建设 一、实验目的 1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。 2. 掌握在程序设计中用循的方法实现一些常用算法。并进一步学习调试程序的方法。 3. 掌握一维数组和二维数组的定义、赋值和输入输出的方法。 4. 掌握字符数组和字符串函数的使用。 5. 掌握与数组有关的算法。 二、实验内容和步骤 1.程序求和:1+…+100,填空,实现该功能。 #include void main() { int s,i; s=0; /* 第5行*/ for( ) s=s+i; printf("1+...+100=%d\n",s); } 思考:(1)第5行能不能去掉?其作用是什么? (2)不用for语句,用while语句改写该程序,实现同样的功能。 (1)#include void main() { int s,i; s=0; /* 第5行*/ for(i=1;i<=100;i++ ) s=s+i; printf("1+...+100=%d\n",s); printf("09 郑朝栋实验三第一题\n"); } 第5行不能去掉,其作用是给S赋初值。 运行结果: (2)#include void main()

{ int s,i; s=0;i=1; /* 第5行*/ while(i<=100 ) {s=s+i;i++;} printf("1+...+100=%d\n",s); printf("09 郑朝栋实验三第一题\n"); } 运行结果: 2.比较下列两个程序。(验证) /* 第一个程序*/ #include void main() { int i,n,sum=0; scanf("%d",&i); n=i; while(i<=10) { sum+=i; i++; } printf("%d+...+10=%d",n,sum); } /* 第二个程序*/ #include void main() { int i,n,sum=0; scanf("%d",&i); n=i; do { sum+=i; i++; } while(i<=10); printf("%d+...+10=%d",n,sum); } 分别运行这两题,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别? /* 第一个程序*/ #include

数控编程术语与标准系列

数控编程术语与标准系列 字符编码标准与加工程序指令标准化 以前广泛采用数控穿孔纸带作为加工程序信息输入介质,常用的标准纸带有五单位和八单位两种,数控机床多用八单位纸带。纸带上表示代码的字符及其穿孔编码标准有EIA (美国电子工业协会)制定的EIA RS-244和ISO(国际标准化协会)制定的ISO-RS840两种标准。国际上大都采用ISO代码,由于EIA代码发展较早,已有的数控机床中,有一些是应用EIA 代码的,现在我国规定新产品一律采用ISO代码。也有一些机床,具有两套译码功能,既可采用ISO代码也可采用EIA代码。目前绝大多数数控系统采用通用计算机编码,并提供与通用微型计算机完全相同的文件格式,保存、传送数控加工程序,因此,纸带已逐步被现代化的信息介质所取代。除了字符编码标准外,更重要的是加工程序指令的标准化,主要包括准备功能码(G代码)、辅助功能码(M代码)及其它指令代码。我国机械工业部制定了有关G代码和M代码的JB3202-1983标准,它与国际上使用的ISO1056-1975E标准基本一致。 数控机床的坐标系定义 数控机床通过各个移动件的运动产生刀具与工件之间的相对运动来实现切削加工。为表示各移动件的移动方位和方向(机床坐标轴),在ISO标准中统一规定采用右手直角笛卡儿坐标系对机床的坐标系进行命名,在这个坐标系下定义刀具位置及其运动的轨迹。 机床坐标的命名方法如图所示:

通常在坐标轴命名或编程时,不论在加工中是刀具移动,还是被加工工件移动,都一律假定工件相对静止不动而刀具在移动,并同时规定刀具远离工件的方向作为坐标轴的正方向。在坐标轴命名时,如果把刀具看作相对静止不动,工件移动,那么,在坐标轴的符号上应加注标记('),如X'、Y'、Z'等。确定机床坐标轴,一般是先确定Z轴,再确定X轴和Y轴。 1.确定Z轴对于有主轴的机床,如车床、铣床等则以机床主轴轴线方向作为Z轴方向。对于没有主轴的机床,如刨床,则以与装卡工件的工作台相垂直的直线作为Z轴方向。如果机床有几个主轴,则选择其中一个与机床工作台面相垂直的主轴作为主要主轴,并以它来确定Z轴方向。 2.确定X轴X轴一般位于与工件安装面相平行的水平面内。对于机床主轴带动工件旋转的机床,如车床、磨床等,则在水平面内选定垂直于工件旋转轴线的方向为X轴,且刀具远离主轴轴线方向为X轴的正方向。对于机床主轴带动刀具旋转的机床,当主轴是水平的,如卧式铣床、卧式镗床等,则规定人面对主轴,选定主轴左侧方向为X轴正方向;当主轴是竖直时,如立式铣床、立式钻床等,则规定人面对主轴,选定主轴右侧方向为X轴正方向。对于无主轴的机床,如刨床,则选定切削方向为X轴正方向。 3.确定Y轴Y轴方向可以根据已选定的Z、X轴方向,按右手直角坐标系来确定。 坐标运动命名 如果机床除有X、Y、Z主要直线运动之外,还有平行于它们的坐标运动,则应分别命名为U、V、W。如果还有第三组运动,则应分别命名为P、Q、R。如在第一组回转运动A、B和C的同时,还有第二组回转运动,可命名为D或E等。 数控加工程序的程序段格式 字地址格式一个零件的加工程序是由许多按规定格式书写的程序段组成。每个程序段包含着各种指令和数据,它对应着零件的一段加工过程。常见的程序段格式有固定顺序格式、分隔符顺序格式及字地址格式三种。而目前常用的是字地址格式。典型的字地址格式如图。

我对软件开发过程的理解

软件开发的过程 摘要:软件开发过程即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。 生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件开发过程覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。 1.需求分析 1.1 需求分析的特点和任务 需求分析是软件开发的第一步。获取需求的一个必不可少的结果是对项目中描述的客户需求的普遍理解。一旦理解了需求,分析者、开发者和客户就能探索出描述这些需求的多种解决方案。参与需求获取者只有在他们理解了问题之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工。把需求获取集中在用户任务上—而不是集中在用户接口上—有助于防止开发组由于草率处理设计问题而造成的失误。有几种原因使需求分析变得困难:(1)客户说不清楚需求;(2)需求自身经常变动;(3)分析人员或客户理解有误。 需求获取、分析、编写需求规格说明和验证并不遵循线性的顺序,这些活动是相互隔开、增量和反复的。当你和客户合作时,你就将会问一些问题,并且取得他们所提供的信息(需求获取)。同时,你将处理这些信息以理解它们,并把它们分成不同的类别,还要把客户需求同可能的软件需求相联系(分析)。然后,你可以使客户信息结构化,并编写成文档和示意图(说明)。下一步,就可以让客户代表评审文档并纠正存在的错误(验证)。这四个过程贯穿着需求分析的整个阶段。需求获取可能是软件开发中最困难、最关键、最易出错及最需要交流的方面。需求获取只有通过有效的客户—开发者的合作才能成功。分析者必须建立一个对问题进行彻底探讨的环境,而这些问题与产品有关。为了方便清晰地进行交流,就要列出重要的小组,而不是假想所有的参与者都持有相同的看法。对需求问题的全面考察需要一种技术,利用这种技术不但考虑了问题的功能需求方面,还可讨论项目的非功能需求。确定用户已经理解:对于某些功能的讨论并不意味着即将在产品中实现它。对于想到的需求必须集中处理并设定优先级,以避免一个不能带来任何益处的无限大的项目。 1.2.需求分析的一般方法 跟班作业。通过亲身参加业务工作来了解业务活动的情况。这种方法可以比

相关文档
最新文档