ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:113.57KB ,
资源ID:4047201      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4047201.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机控制技术课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机控制技术课程设计.docx

1、计算机控制技术课程设计课程设计任务书学生姓名: 某人 专业班级: 指导教师: 工作单位: 题 目: 串行通信程序设计 初始条件:用汇编语言编写程序,实现两台计算机之间的通信。要求完成的主要任务: 制作RS232C通信线,并用它连接两台计算机,每一台的用户均可在自己的屏幕上不同区域看到自己和对方由键盘输入的字符(并由不同的颜色加以区分); 若一方敲入数字(1,2,3.8,9),另一方的机器将其理解为相应的音符发出声音; 能设置发送、接收的数据长度,并能显示接收的数据; 能选择通信校验方式(奇校验、偶校验或无校验); 可以将接收的数据作为文件保存起来;撰写设计说明书及调试心得。时间安排:2011年

2、6月20日2011年6月29日下午17:30指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要汇编语言是面向计算机的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这样用符号代替及其语言的二进制代码,就把机器语言变成了汇编语言。作为最基本的编程语言之一,汇编语言的重要性毋庸置疑,因为它能够完成许多其它语言所无法完成的功能。尤其在硬件关系非常密切的程序或要提高运算速度的程序,即使是C语言也会有些力不从心,而汇编语言能够很好的扬长避短,最大限度地发挥硬件的性能。最重要的是计算机控制技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动

3、手能力,其中很多的规则,现象等仅仅靠学习教科书是无法完成掌握的,必须通过时间才能比较直观和深刻的理解。本次课程设计的题目是用汇编语言编写程序,实现两台计算机之间的通信,要实现许多的功能,通过RS-232C通信线实现两台计算机之间的数据传输。同时,可以传输数字,在传输数字的时候能够发声,对于接收到的东西,可以保存在指定的文件中。程序还能够选择通信校验方式。关键字:汇编语言 计算机通信 计算机控制目录1设计任务和要求 12设计思路 12.1设计思路 12.2 程序流程图 23 软件设计 33.1 RS-232C介绍 33.2初始化及奇偶校验 33.3界面设计 43.4数据传输设计 63.4.1数据

4、传输流程图 63.4.2数据传输程序 73.4.3数据接受程序 73.5数字发声设计 84 调试过程和运行结果分析 95 心得体会 12参考文献 13附页 14串行通信程序设计1设计任务和要求 制作RS232C通信线,并用它连接两台计算机,每一台的用户均可在自己的屏幕上不同区域看到自己和对方由键盘输入的字符(并由不同的颜色加以区分); 若一方敲入数字(1,2,3.8,9),另一方的机器将其理解为相应的音符发出声音; 能设置发送、接收的数据长度,并能显示接收的数据; 能选择通信校验方式(奇校验、偶校验或无校验); 可以将接收的数据作为文件保存起来;撰写设计说明书及调试心得。2设计思路2.1设计思

5、路编写程序,运行程序之后,进入界面之后,显示选择奇偶校验方式,选择之后,界面跳转到下一个界面,选择校验方式的不同,会导致传输过程数据的稳定性。在选择奇偶校验进入下一个界面之后,界面分为两个部分,左边为接受对方机子传输过来的文件和其他的信息,右边部分显示本台机子传输的文件及数字等信息,界面顶部有提示信息,可以根据提示信息操作。在此期间,任何时候按ESC键,系统都退出运行。输入数据,在两台机子的不同部分显示相同的信息,输入完整之后,按“”键保存文件,在按enter显示保存的文件。在输入数字时,数字传输到对方的电脑上,同时两台机子会同时发出声音,不同的数字发出的声音不相同。2.2 程序流程图图2-1

6、程序流程图3 软件设计3.1 RS-232C介绍RS-232C是一个已制定很久的标准,它描述了计算机及相关设备间较低速率的串行数据通信的物理接口及协议。它是由一个工业贸易组电子工业联合会定义的,最初是为电传打印机设备而制定。RS-232C是你的计算机用来与你的modem及其它串行设备交谈或交换数据的接口。在你PC的某处,一般是主板上的通用异步收发器芯片,你计算机上的数据正从它的数据终端设备接口传送到一个内置或外置的modem上。因为你计算机中的数据是沿并行电路传输,而串行设备一次只能处理一个比特,因此UART芯片将把并行数据转换成连续的比特流。你PC上的DTE代理也会和modem或其他串行设备

7、通信,而modem与这些串行设备为了遵守RS-232C标准都有一个补充的接口数据通信设备接口。 RS-232C的通讯距离和速度,RS-232C规定最大的负载电容为2500pF,这个电容限制了传输距离和传输速率,RS-232C能够可靠进行数据传输的最大通讯距离为15米。现在个人计算机提供的串行端口终端的传输速度一般都可以达到115200bps甚至更高,9600bps是最常见的传输速度,在传输距离较近时,使用最高传输速度也是可以的。传输距距离和传输速度的关系成反比,适当地降低传输速度,可以延长RS-232的传输距离,提高通讯的稳定性。表3-1串行端口通常使用下列基本 I/O 地址和 IRQ 值:P

8、ortAddressIRQCOM103FB4COM202FB3COM303EB4COM402EB33.2初始化及奇偶校验初始化程序:COMRD MACRO MOV DX,3 INT 14H MOV DX,2EBH MOV AL,80H OUT DX,AL MOV AL,0 MOV DX,2E9H OUT DX,AL MOV AL,0CH MOV DX,2E8H OUT DX,AL MOV DX,2EBH MOV AL,AH OUT DX,AL MOV DX,2ECH MOV AL,08H OUT DX,AL ENDM奇偶校验程序JY: LCRCXset_p 0300HPUTS TISHIMOV

9、 AH,1INT 21HCMP AL,oJZ ODDCMP AL,eJZ EVECMP AL,nJZ NONEJMP JYODD:MOV AX,0EAHMOV AH,ALJMP DONEEVE:MOV AX,0FAHMOV AH,ALJMP DONENONE:MOV BX,0E3HMOV AH,AL3.3界面设计设计要求在不同的区域用不同的颜色显示接收和发送的数据信息,通过BIOS、DOS系统功能调用,实现以上的要求。调用“INT 10H”和“INT 21H”实现颜色和区域的选择显示。使用宏定义、宏调用的方式来实现程序的调用。表3-2 INT 21H 的功能调用表AH功能调用参数返回参数01H

10、带回显的键盘输入AL=输入字符09H显示字符串DS:DX=串地址$结束字符串02H显示输出DL=输出字符表3-3 INT 10H的功能表功能号功能入口参数显示模式属性00H设置显示模式AH=00H ,AL=02H8025的16色 文本01H设置光标形状AH01HCH低四位光标的起始行CL低四位光标的终止行02H用文本坐标下设置光标位置AH02BH显示页码DH行(Y坐标)DL列(X坐标)本次课程设计的题目是用汇编语言编写程序,实现两台计算机之间的通信,所以在实现传输的过程中,两台机子都有一个传输的界面,将一整块界面分为两个部分,一个部分显示传输的内容,另一个部分显示的是接受的内容。界面程序: S

11、ET_C 0aH,80 SET_P 0000H PUTS INFORMATION1 SET_C 0aH,80 SET_P 0100H PUTS INFORMATION2 SET_C 0aH,80 PUTS INFORMATION4 INFORMATION1 DB Our Transmission test! ,$INFORMATION2 DB PRESS ESC TO EXIT ,$INFORMATION3 DB -,$INFORMATION4 DB TO SAVE THE MESSAGE TO SEE WHAT YOU SAVED ,$M11 DB WHAT YOU WANT TO SEND

12、: ,$M22 DB WHAT YOU HAVE RECEIVED: 3.4数据传输设计3.4.1数据传输流程图图3-2数据传输流程图3.4.2数据传输程序在字符发送的阶段,键盘输入字符后,程序对字符进行判别是否为特殊的字符,特殊的字符包括“ESC”、“”和回车键,如果是特殊的字符,则进行相应的功能操作。如果不是特殊字符,则将字符显示在发送的界面SET_P指定的光标的位置,和显示SET_C指定的字体颜色。然后读取端口状态,将字符发送到另一台电脑上。SENDS MACRO LOCAL SEND PUSH AX CMP AL,1BH JZ SEND1 CMP AL, JZ SEND1 CMP AL

13、,0DH JZ SEND1 SET_P P1 SET_C 0EH,1 MOV DL,SI MOV AH,2 INT 21H LOCATION_sent SET_P BX SEND1: LCRCX PUSH AX MOV DX, 02EDH SEND2: IN AL, DX TEST AL, 20H JZ SEND2 POP AX MOV DX, 02E8H OUT DX, AL POP AX ENDM 3.4.3数据接受程序在另一台电脑字符接收时,流程和发送基本相反,先读取端口状态,如果收到数据,则将字符显示在发送的界面SET_P指定的光标的位置,和显示SET_C指定的字体颜色。同样,如果是特

14、殊字符“ESC”、“”和回车键,则按照特殊字符的功能做相应的处理。数据接受程序:RECVS MACRO LOCAL NEXT_R,AGAIN_R LCRCX MOV DX, 02EDH IN AL, DX TEST AL, 01H JZ AGAIN_R MOV DX, 02E8H IN AL, DX CMP AL,1BH JZ AGAIN_R CMP AL, JZ AGAIN_R CMP AL,0DH JZ AGAIN_R MOV DI,AL CMP AL,30H JL NEXT_R CMP AL,39H JG NEXT_R SOUND AL NEXT_R: SET_P P2 SET_C 0A

15、H,1 MOV DL,DI MOV AH,2 INT 21H SAVE_P P2 LOCATION_recv INC DI AGAIN_R: ENDM3.5数字发声设计设计任务中,要求在输入了一个数字之后,发出声音,每个数字对应不同的声音。设计中,在键盘输入一个字符后,判断其是否为0-9的数字,如果是0-9的数字,就将其转换为相应的发声频率。表3-4 数字与发声频率的对应表数字0123456789频率4080120140160180200220240255发声程序: SOUND MACRO MM LOCAL LENG,DELAY PUSH AX MOV AL,MM AND AL,0FH LEA

16、 BX,FREG XLAT MOV CL,AL MOV CH,0 MOV AL,0B6H OUT 43H,AL MOV DX,08H MOV AX,3208H DIV CX OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H MOV AH,AL OR AL,3 OUT 61H,AL MOV BX,0FFFFH LENG: MOV CX,663 DELAY: LOOP DELAY DEC BX JNZ LENG MOV AL,AH OUT 61H,AL POP AX ENDM4 调试过程和运行结果分析 程序的调试是一个非常重要的过程,可以测试出程序有哪些地方不对,

17、哪些地方有欠缺,还需要修改,从而对程序进行改进,使程序更加的完美,实现的功能稳定,实现程序的良好运行在最初运行程序的时候,存在着很多的问题,首先就是界面的问题,这个比较容易解决,主要是确定光标的位置,然后在位置上面显示字符。经过微调,是界面开始去比较的整齐。在后面输入字符后,由于传输和接收是不同的两个部分,但是在换行的时候,接收的部分不会在中界处跳转到下一行,对程序检查之后,发现少了一段换行的程序。在程序调试之后,大部分的问题已经解决,但是有些功能还是没有实现,也就放弃了。以下是程序调试之后,显示出来的结果。进入界面之后两台电脑同时输入数据,两台电脑在不同的区域显示接受和传输的数据,在此期间,

18、如果按下“ESC”键,程序将退出。在输入数字之后,数字显示在界面上,同时,两台电脑发出声音。图4-1,图4-2分别展示了两台电脑同时传输字符的过程,传输的字符和接受的字符分别显示在不同的地方:图4-1 字符传输/接收显示图4-2 字符传输/接收显示按下“”键之后,屏幕下方显示“SAVE SUCCEED”,表示本台机子接受到的字符得到保存,显示结果如图4-3所示。图4-3 保存字符显示在保存完数据之后,如果没有按下“ENTER”键,则可以继续传输字符,如果按下了“ENTER”键,界面跳转,显示保存的数据。此期间,可以按“ESC”退出。图4-4 文件保存显示5 心得体会计算机控制原理是自动化专业一

19、门很重要的课程,在课程设计的这段时间里,我学习到了很多知识,也有许多的体会。对于汇编语言,从不太熟悉到后面的熟悉,可以说,要掌握一门语言,并不是太难,主要是在遇到问题的时候要多查寻资料,这样就可以了解到更多,熟悉更多,然后这门语言也会被快速掌握,我们可以熟悉的运用语言。对于程序的编写,对于我们来说仍然是一个很大的问题,在这方面,我们还需继续加强,所谓真正的好程序,是要有很多条件的,程序有逻辑性,可读性,高效性,可维护性,我们现在的编写能力还不能达到好程序的标准,在编写程序的时候,我们总是把一段程序想得比较简单,然后编写出来的程序也就是缺少一些功能,总是不能编写得很完美,在这个方面还需要加强。学

20、习编写程序的缜密性,逻辑性。在整个课程设计的过程中,最复杂的一段就是程序的调试,每次调试都会花很多的时间。每段程序都会遇到这样那样的问题,然后要逐条程序的检查,费时费力。但是这个过程是收获很多的,从中可以查漏补缺,学到很多的东西。同时,在程序的调试过程中我们也认识到,编程是需要细心和耐心的,如果在编程的时候做到了这些,那么在调试程序的时候我们就可以省去很多的麻烦,养成一个良好的编程习惯是很重要的!这段时间里,通过这次课程设计,使我认识到了理论与实际相结合的重要性,对课本上的知识在实际生活中的运用也有了进一步的了解,进一步的掌握了书本上的知识,在解决困难的过程中,获得了许多专业方面的知识,拓展了

21、视野。提高了理论水平和实际动手能力,学会了解决问题的方法,激发了我们的探索精神。这样的课程设计是很好的锻炼机会,增强了我们的实践动手能力。对于汇编语言,也更加的熟悉,从中受益匪浅。参考文献1 周佩玲.微机原理与接口技术(基于16位机).北京:电子工业出版社,20052 沈美明.IBM-PC汇编程序语言设计.北京:清华大学出版社,19913 袁新燕.计算机外设与接口简明教程.北京:北京航空航天大学出版社,20054 王力虎.PC控制及接口程序设计实例.北京:科学出版社,20045 毛明.宏汇编语言程序设计编程知道.北京:机械工业出版社,1993附页; 数据段 DATAS SEGMENT aa1

22、db *,$ INFORMATION1 DB Our Transmission test! ,$ INFORMATION2 DB PRESS ESC TO EXIT ,$ INFORMATION3 DB -,$ INFORMATION4 DB TO SAVE THE MESSAGE ENTER TO SEE WHAT YOU SAVED ,$ M11 DB WHAT YOU WANT TO SEND: ,$ M22 DB WHAT YOU HAVE RECEIVED: ,$ FREG DB 40,80,120,140,160,180,200,220,240,255 BUF DB 255 DUP

23、 (0) BUF1 DB 255 DUP (0) BUF2 DB 255 DUP (0) P1 DW 0429H P2 DW 0400H FILE_SAVE DB c:WENJIAN.txt , 0 HANDLE DW ? SUCCEED_MESSAGE DB SAVE SUCCEED ,$ ERROR DB SAVE ERROR ,$ OPEN_INFO1 DB ESC to quit! ,$ OPEN_INFO2 DB press any key except ESCReturn to the serial transmission ,$ OPEN_INFO3 DB Saved messa

24、ge is : ,$ TISHI DB please choose the way(o:ODD,e:EVEN,n:NONE):,$ DATAS ENDS; 堆栈段 STACKSG SEGMENT STACK S DW 64 DUP(?) STACKSG ENDS; 代码段 CODES SEGMENT; 初始化8250 COMRD MACRO ;INITTIALING COM4 MOV DX,3 INT 14H MOV DX,2EBH MOV AL,80H OUT DX,AL;使通信线路寄存器最高位置1 MOV AL,0 MOV DX,2E9H OUT DX,AL;设置波特率高位 MOV AL,

25、0CH MOV DX,2E8H OUT DX,AL;设置波特率低位 MOV DX,2EBH MOV AL,AH OUT DX,AL;设置数据格式为8位/字符,1个停止位,无奇偶效验 MOV DX,2ECH MOV AL,08H OUT DX,AL;设置调制解调器控制寄存器,RTS,DTR无效;CHOSE THE WAY ENDM; 将LCR最高位清零 LCRCX MACRO PUSH AX MOV AL, 1FH MOV DX, 02EBH OUT DX, AL POP AX ENDM ;换行1,右边 LOCATION_sent MACRO MOV AH,03H;读光标位置;02h,置光标位置

26、,DH行,DL列。 MOV BH,0 INT 10H LEA BX,P1 CMP DL,79 JZ H1 CMP AL,0DH JZ H1 IH1: MOV BX,DX jmp SH1 H1: INC DH MOV DL,29h jmp IH1 SH1: ENDM ;换行2 LOCATION_recv MACRO MOV AH,03H MOV BH,0 INT 10H LEA BX,P2 CMP DL,28h JZ H2 CMP AL,0DH JZ H2 IH2: MOV BX,DX jmp SH2 H2: INC DH MOV DL,00 jmp IH2 SH2: ENDM ;显示 PUTS

27、 MACRO STRING PUSH AX MOV AH, 9 LEA DX, STRING INT 21H POP AX ENDM;定光标位置 SET_P MACRO P_XY PUSH AX MOV DX,P_XY MOV BH,0 MOV AH,02H INT 10H POP AX ENDM;保存光标位置 SAVE_P MACRO PL MOV AH,03H ;读光标位置 MOV BH,0 INT 10H LEA BX,PL MOV BX,DX ENDM;设置显示颜色 SET_C MACRO COLOR,LENGTH MOV AH, 9 MOV AL, 1 MOV BH, 0 MOV B

28、L, COLOR ;字体颜色 MOV CX, LENGTH ;显示的长度 INT 10H ENDM ; 从串口发送一个字符 SENDS MACRO LOCAL SEND PUSH AX CMP AL,1BH ;ESC JZ SEND1 CMP AL, JZ SEND1 CMP AL,0DH JZ SEND1 SET_P P1 ;设置发送显示位置 SET_C 0EH,1 ;设置字体颜色 MOV DL,SI ; 显示字符 MOV AH,2 INT 21H LOCATION_sent SET_P BX SEND1: LCRCX PUSH AX MOV DX, 02EDH ; 状态口 SEND2: IN AL, DX ; 读状态 TEST AL, 20H ; 发送就绪? JZ SEND2 POP AX MOV DX, 02E8H ; 数据口 OUT DX, AL POP AX ENDM ; 从串口接收一个字符 RECVS MACRO LOCAL NEXT_R,AGAIN_R LCRCX MOV DX,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1