南昌大学微机原理学生成绩名次表实验
南昌大学自动装置原理实验一无功调差及自动检测实验

南昌大学实验报告学生姓名:王瑾然学号:6101113031 专业班级:电气131班实验类型:□验证□综合□设计□创新实验日期:实验成绩:实验一无功调差及自动检测实验一、实验目的1.深入理解调差原理,掌握改变发电机电压调节特性斜率的方法。
2.深入了解测量和比较整定电路的结构形式和工作原理。
3.掌握自动检测各个环节的工作特性及其调试方法。
二、原理说明1.无功调差回路为了改变发电机外特性曲线,使并列运行的各台机组之间合理分配无功负荷,或者为了维持系统某一点电压恒定,在负荷变化时,要对电力网电压损耗进行补偿,因而设置了无功调差电路。
常用的电流调差电路有两种:一是取两相电流信号;二是取单相电流信号。
因为发电机输出端电压主要与负载电流的无功分量有关,故引入的电流信号滞后于相应的电压信号90°电度角。
两种电流调差电路的原理接线见图1-1。
电流调差电路的工作原理:主要是利用电流信号在调差电阻R上的压降,迭加到测量电压信号上去,从而使发电机的外特性陡度发生变化。
当上述压降叠加后使外特性陡度向右下方向倾斜时,为正调差特性如图1-2 曲线3,表现为负载无功电流增加时,端电压下降。
改变正调差系数(即直线陡度),可使并列运行机组之间按合理比例稳定地分配无功负荷。
如果将中间电流互感器ZTA 的极性反接,则使外特性陡度向右上方倾斜,为负调差特性,如图1-2 曲线4。
表现为负载无功电流增加时,端电压上升,适用于电力系统要求某点电压恒定,在负荷增加时,需要补偿线路和变压器电压损耗的特殊场合。
当调差电阻经切换开关短接时,则调差电路基本不起作用,为自然调差。
如图1-2,曲线2。
1)单相电流信号调差电路,见图1-1(a)。
电流由C相(即W相)电流互感器TA、中间变流器ZTA(5/0.5安)、测量变压器1-3T和调差电阻R组成。
从图1-1(a)接线可以看出 C 相电流在调差电阻R 上的压降所形成电压信号迭加于B相的电压信号之中,由极性可确定是起向量相减作用,测量变压器接线组别为Y/△-1,其二次侧电压Ua、Ub、Uc分别滞后于母线电压UA、UB、UC 30°,电压△abc 如图1-3(b)、(c)所示。
微机实验

第2章 16位微机原理及其程序设计实验本章主要介绍汇编语言程序设计,通过实验来学习80X86的指令系统、寻址方式以及程序的设计方法,同时掌握联机软件的使用。
2.1 系统认识实验2.1.1 实验目的掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。
2.1.2 实验设备PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。
2.1.3 实验内容编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。
2.1.4 实验步骤1. 运行Wmd86软件,进入Wmd86集成开发环境。
2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图2.1、图2.2所示。
设置选择后,下次再启动软件,语言环境保持这次的修改不变。
本章选择16位寄存器。
图2.1 语言环境设置界面图2.2 寄存器设置界面3. 语言和寄存器选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图2.3所示。
默认文件名为Wmd861。
图2.3 新建文件界面4. 编写实验程序,如图2.4所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。
图2.4 程序编辑界面5. 点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方可以加载程序。
编译、链接后输出如图2.5所示的输出信息。
图2.5 编译输出信息界面6. 连接PC与实验系统的通讯电缆,打开实验系统电源。
7. 编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。
可以通过端口列表中的“端口测试”来检查通讯是否正常。
点击下载程序。
为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。
下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。
起始运行语句下会有一条绿色的背景。
如图2.6所示。
微机原理与接口技术 成绩统计项目报告1

《微机控制与接口技能训练》Computer control and interface skills training项目报告成绩评定程序的设计编写、调试、结果项目报告评定教师***得分课程名称Course Name 微机控制与接口技能训练项目编号Item No.1名称Item学生成绩统计程序的设计与实现姓名Name ***学号No.**班级Class*****项目报告1.说明自己在项目制作中的难点、解决办法及心得体会答:(1)一开始成绩输出出不来,经检查发现开头和结尾都落了程序,改正后就可以输出结果。
(2)最后结果换行输出时遇到了些问题,经过询问同学和查阅课本最后成功换行输出。
2.说明项目中所涉及的知识点及难点答:(1)汇编语言程序的一般结构形式,先定义数据段,再定义堆栈段,最后定义代码段。
(2)汇编语言换行输出时的一般结构形式:MOV DH,00HMOV DL,00HMOV AH,02HINT 10H此程序中DH代表行,意思是在第几行输出;DL代表列,意思是空几格。
3.硬件设计图/原理图和源程序(注:学生编写的硬件设计图和源代码打印附后)DATA SEGMENTSTRING1 DB'great`s number:','$'STRING2 DB'90-99`s number:','$'STRING3 DB'80-89`s number:','$'STRING4 DB'70-79`s number:','$'STRING5 DB'60-69`s number:','$'STRING6 DB'0-59`s number:','$'STUNUM DB 10GRADE DB 80, 100,78,56,79,90,96,82, 88, 75 A100 DB 0B90 DB 0C80 DB 0D70 DB 0E60 DB 0F50 DB 0DATA ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK, DS:DATASTART:MOV AX,DATAMOV DS,AXMOV A100,0MOV B90,0MOV C80,0MOV D70,0MOV E60,0MOV F50,0LEA BX, OFFSET STUNUMMOV CX, [BX]AND CX,00FFHLEA BX,OFFSET GRADECOMPARE: MOV AX, [BX]AND AX,00FFHCMP AX,60JB FIVECMP AX,70JB SIXCMP AX,80JB SEVENCMP AX,90JB EIGHTCMP AX,100JB NINEINC A100JMP SHORT NEXT FIVE: INC F50JMP SHORT NEXT SIX: INC E60JMP SHORT NEXT SEVEN: INC D70JMP SHORT NEXT EIGHT: INC C80JMP SHORT NEXT NINE: INC B90 NEXT: INC BXLOOP COMPAREOUTPUT:MOV DH,01HMOV DL,05HMOV AH,02HINT 10HLEA DX,STRING1MOV AH,09HINT 21HMOV DL,A100ADD DL,30HMOV AH,02HINT 21HMOV DH,03HMOV DL,05HMOV AH,02HINT 10HLEA DX,STRING2MOV AH,09HINT 21HMOV DL,B90ADD DL,30HMOV AH,02HINT 21HMOV DH,05HMOV DL,05HMOV AH,02HINT 10HLEA DX,STRING3MOV AH,09HINT 21HMOV DL,C80ADD DL,30HMOV AH,02HINT 21HMOV DH,07HMOV DL,05HMOV AH,02HINT 10HLEA DX,STRING4MOV AH,09HINT 21HMOV DL,D70ADD DL,30HMOV AH,02HINT 21HMOV DH,09HMOV DL,05HMOV AH,02HINT 10HLEA DX,STRING5MOV AH,09HINT 21HMOV DL,E60ADD DL,30HMOV AH,02HINT 21HMOV DH,0BHMOV DL,05HMOV AH,02HINT 10HLEA DX,STRING6MOV AH,09HINT 21HMOV DL,F50ADD DL,30HMOV AH,02HINT 21HMOV AH,4CH INT 21HCODE ENDSEND START输出结果显示:。
南昌大学微机原理实验报告

实验报告实验课程:汇编原理与微机接口技术学生姓名:信念学号:520---1314专业班级:网络间谍***2***年 12 月 12 日目录一、实验一 (3)二、实验二 (5)三、实验三 (8)四、实验四 (10)五、实验五 (12)六、实验六 (18)南昌大学实验报告一学生姓名:信念学号:520---1314 专业班级:网络间谍***班实验类型:□验证□ 综合▥设计□ 创新实验日期: 2***.11.3 实验成绩:一、实验名称实验设备简介二、实验内容了解并熟悉SICElab『赛思』开放式综合实验/仿真系统及G2010+实验平台、实验设备。
三、实验目的了解实验设备、搭建实验平台四、实验器材(1)G2010+实验平台1台(2)G6W仿真器1台(3)连线若干根五、实验设备及说明1 仿真工具伟福公司所有的产品,包含一个项目管理器,一个功能强大的编辑器,汇编Make、build和调试工具并提供一个与第三方编译器的接口2 实验平台新型实用模块:(1)LCD液晶实验(2)点阵LED广告屏(3)DS12887 实时钟(4)红外线发送、接收(5)直流电机恒速(6)电子琴模拟实验(7)串行ROM/I2C ROM (8)步进电机变速传感器实验:(1)温度传感器(2)压力传感器(3)霍尔传感器(4)红外传感器传统实验模块:(1)模数转换A/D0809(2)数模转换D/A0832(3)8155控制键显(4)V/F转换LM331(5)串口通讯MAX232(6)音响实验LM386 7)EPROM27C256扩展(8)RAM6264扩展(9)微型打印机接口(10)PWM模块通用实验模块:(1)模拟信号发生器(2)开关量发生器(3)发光二极管组(4)信号发生器(5)74LS138译码器(6)分频器电路(7)LED6位数码管(8)20个键盘组(9)逻辑笔(10)常用门电路自由实验模块:由DIP40锁紧插座及240个插孔组成,CPU所有信号均以插孔方式引出,还设计了常用门电路、晶振源、电源插孔等,可以完成以上实验模块的组合实验以及由实验者自行命题和新器件、新方案的实验,使得实验方式和内容不受限制。
微机原理课程设计报告 学生成绩排序名次

姓名: XX 班级: XXXXX 学号: XXXXXXXXXX课程设计微WEI 机JI 原YUAN 理LI2011 年 7 月 8 日微机原理课程设计目的:结合微型计算机原理课程的学习,进一步巩固已学的知识,同时针对计算机原理知识的具体应用,学会对系统中DOS和BIOS的使用。
学会使用屏幕编辑程序——EDIT,弄懂汇编程序的上级过程以及如何运用DEBUG软件进行汇编程序的调试。
内容与要求:1.字符串匹配设计为掌握提示信息的设置方法及读取键入信息的方法,编写程序实现两个字符串比较,如相同则显示“MATCH”,否则显示“NO MATCH”。
2.从键盘输入数据并显示的设计为掌握键盘接受数据的方法,并了解将键盘数据显示时必须转换为ASCII码的原理,编写程序,将键盘接受到的四位十六进制数据转换为等值的二进制数显示。
3.响铃设计为掌握响铃的使用方法,编写程序,从键盘接受输入字符,如是数字N则响铃N此,如不是数字则不响。
4.将键盘输入的小写字母转换成大写字母的设计为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换,编写程序,接受键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。
5.学生成绩名次表设计为进一步熟悉排序方法,编写程序,将100以内的30个成绩存入首址为1000H的存储区中。
1000H+i表示学号为i的学生成绩。
编写程序使得在2000H开始的区域排出名次表,2000H+i为学号i的学生的名次。
微机原理课程设计下面着重介绍程序5——学生成绩名次表设计:流程图:主程序流程图SCAN子函数程序流程图微机原理课程设计程序代码及注释:CRLF MACRO ;宏定义,回车换行MOV AH,02HMOV DL,0DHINT 21HMOV AH,02HMOV DL,0AHINT 21HENDMDATA SEGMENTSTUNUM EQU 30 ;学生数MESS1 DB 'Please input 30 score',0DH,0AH,'$' ;提示信息ERROR DB 'Input error,try again',0DH,0AH,'$' ;报错信息MESS2 DB 'The order is:',0DH,0AH,'$'EMARK DB ? ;报错标志ORG 1000H ;存放成绩地址SCORE DB 30 DUP(?) ;成绩表ORG 2000H ;存放名次地址SEQU DB 30 DUP(?) ;名次表DATA ENDSSTACK SEGMENTSTA DW 32 DUP(?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV SP,TOPMOV AH,09H ;显示提示信息MOV DX,OFFSET MESS1INT 21HMOV SI,OFFSET SCORE ;成绩表首址MOV CX,STUNUMMOV EMARK,0 ;报错标志清0UUU: CALL GETNUM ;调用子函数读取成绩CMP EMARK,01H ;判断是否出错JE START ;出错则重新开始MOV [SI],DL ;没出错则存入成绩微机原理课程设计INC SI ;指向下一个成绩单元地址LOOP UUU ;判断30个成绩是否读取完MOV CX,STUNUMMOV DI,OFFSET SEQU ;名次表首址VVV: CALL SCAN ;调用扫描子程序MOV AL,STUNUM ;学生总数SUB AL,CL ;计算名次INC ALMOV BX,DX ;学号PUSH AX ;将名次转换成压缩BCD码方便显示PUSH BXPUSH CXXOR AH,AHMOV BH,0AHDIV BHMOV CL,4SHL AL,CLADD AL,AHMOV DH,ALPOP CXPOP BXPOP AXMOV [DI+BX],DH ;存入名次LOOP VVV ;判断是否存完MOV AH,09H ;显示名次提示信息LEA DX,MESS2INT 21HMOV CX,STUNUMMOV SI,OFFSET SEQUWWW: MOV AL,[SI]CALL DISPI ;调用子函数显示名次PUSH DXPUSH AXMOV AH,02 ;显示空格MOV DL,20HINT 21HPOP AXPOP DXINC SI ;指向名次表的下一个地址LOOP WWW ;判断是否输出所有名次MOV AH,4CH ;返回DOSINT 21H微机原理课程设计SCAN PROC NEAR ;扫面子函数,没调用一遍,找出成绩表;中最高成绩,记录其学号,并将此成绩;清0PUSH CXMOV CX,STUNUMMOV AL,00HMOV BX,OFFSET SCOREMOV SI,BXCCC: CMP AL,[SI]JAE JJJMOV AL,[SI]MOV DX,SISUB DX,BXJJJ: INC SILOOP CCCADD BX,DXMOV BYTE PTR [BX],00HPOP CXRETSCAN ENDPDISPI PROC NEAR ;显示子程序PUSH CXMOV BL,AL ;显示高4位MOV DL,BLMOV CL,04ROL DL,CLAND DL,0FHCALL DISPLMOV DL,BL ;显示低4位AND DL,0FHCALL DISPLPOP CXRETDISPI ENDPDISPL PROC NEAR ;将名次转换成对应的ASCII码值并显示 ADD DL,30HMOV AH,02HINT 21HRETDISPL ENDP微机原理课程设计GETNUM PROC NEAR ;读取成绩子函数PUSH CXXOR DX,DX ;清0,用于存放成绩GGG: MOV AH,01HINT 21H ;键盘字符输入CMP AL,0DHJZ RRR ;如果是回车则结束SUB AL,30HJB ERR ;小于0则报错CMP AL,09HJBE GETS ;如果在0—9之间则存成绩至DXJMP ERR ;否则报错GETS: MOV CL,04SHL DX,CL ;将DX中已有数值左移四位XOR AH,AHADD DX,AX ;紧接着将数据存在DX中低四位JMP GGG ;跳转继续读取数据ERR: MOV AH,09H ;显示报错信息MOV DX,OFFSET ERRORINT 21HMOV EMARK,01H ;报错标志置1RRR: PUSH DXCRLF ;回车换行POP DXPOP CXRETGETNUM ENDPCODE ENDSEND START微机原理课程设计心得体会:在为期一周的微机原理课程设计中,通过查阅书籍,上网收集资料以及向老师和同学请教,我完成了老师定下的任务。
微机原理课程设计成绩评定表

20
设计任务演示
编写程序,调试结果
10
答辩
对课程设计内容进行全面、系统的总结,能圆满的回答老师的问题
30
说明书
设计说明书内容完整,文字通顺,规范化、参考文献充分
20
课程设计总评成绩:
指导老师签名:
日期:2022年6月日
微机原理课程设计成绩评定表
系部
自动化与电气学院
姓名
专业
班级
课程设计题目:
课程设计答辩或质疑记录:
成绩评定依据:
评价内容
评定项目
评分
成绩
工作能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作
10
查阅文献
能独立查阅文献,收集资料;查阅文献有一定广泛性;有综合归纳资料的能力
10
系统设计工作量
汇编语言显示学生名次表实验报告

湖北科技学院计算机学院汇编语言课程设计课题题目:显示学生名次表学生姓名:学号:班级:2013年12 月26日一、实验目的进行汇编语言程序设计应用的综合性训练。
综合运用汇编语言循环程序和子程序编程方法,巩固提高汇编语言程序设计能力应用水平。
二、设备与环境PC兼容机、Windows操作系统、汇编程序masm for windows 2010三、实验内容实验内容:编制一程序,要求接收从键盘输入的一个班的学生成绩和学号,对学生的成绩进行排序,再按学号顺序和学生名次顺序分别把学生成绩显示出来。
四、实验结果及分析实验功能:从键盘输入学生姓名和成绩,按照成绩的高低排名显示输出。
程序中设定的名字是英文的,需要小于9位字母,学生人数为3个。
程序思路:1、本程序包括一个主程序和五个子程序。
子程序包括INPUT键盘输入、COPY数据转存、CHANGE十进制数ASCII码转二进制、SORT按成绩排序和PRINT打印班级名单。
2、用变量p控制输入的学生的个数。
本程序中,p=3。
3、姓名和成绩输入分别用DOS中被调用的10号功能实现字符串输入。
在输入最后字符后,要将回车符改为0,以便输出时直接用9号功能显示姓名和成绩。
4、用buffer1和buffer2作为键入的姓名和成绩的缓存区,然后将所有人名和成绩用串传送指令转到smane和score1中保存,打印输出是可以使用。
5、将score1中成绩的十进制数ASCII码转换为二进制数score2.6、将score2中的成绩排序,同时将保存在mingci中的输入次序号也一换,以次序号作为排序指针,在smane和score1中查找相应的人名和成绩。
7、打印排序名单时,从mingci中取出次序号作为位移量,到smane和score1中取出姓名和对应的成绩用9号功能显示。
排序后mingci中先取出的次序号一定是成绩最高的人的,其他类推。
程序代码、代码解析及流程图主程序:START:main proc farMOV AX,DATASMOV DS,AXmov es,axmov bx,0mov cx,0call inputcall sortcall printmov ah,4chint 21hmain endp数据段定义:DATAS SEGMENTinfor0 db 0ah,0dh,'sort= $'infor1 db 0ah,0dh,'input name: $'infor2 db 0ah,0dh,'input score:$'n equ 15 ;姓名长度m equ 4 ;成绩长度(3位+回车) p equ 4 ;输入的人数(4个q equ 3 ;成绩位数buff1 db n,?,n dup(0),'$';姓名缓冲区,加$以便输出buff2 db n,?,n dup(0),'$';成绩缓冲区sname db p dup(n+1 dup(0)) ;保存姓名score1 dw p dup(m+1 dup(0)) ;保存成绩score2 dw p dup(m+1 dup(0))mingci db p dup(0) ;名次x dw?sign1 dw 0sign2 dw 0cont db'1';计数DATAS ENDS子程序(INPUT) 1:输入姓名、成绩input procinc bx ;输入次数统计cmp bx,p ;输入次数ja exitlea dx,infor1 ;显示提示1mov ah,9int 21hlea dx,buff1 ;输入姓名mov ah,10int 21hmov al,buff1+1 ;实际输入个数,aladd al,2 ;+2,包含buffer1的0,1号单元mov ah,0mov si,ax ;回车od所在位置,跟在最后一个字符后mov buff1[si],0 ;将od换为0,便于输出显示lea dx,infor2 ;显示提示2mov ah,9int 21hlea dx,buff2 ;输入成绩mov ah,10int 21hmov al,buff2+1 ;实际输入个数add al,2 ;个数+2,包含0,1单元找到odmov ah,0mov si,axmov buff2[si],0 ;将od换为0,便于输出显示mov mingci[bx-1],bl ;bx为输入次数,保存输入次序cmp bx,1 ;第一次输入转let1jz let1add sign1,n+1 ;姓名间隔为n+1add sign2,q ;成绩间隔为qlet1:call copy ;子程序嵌套jmp inputexit:retinput endp流程图:→子程序2(COPY):数据转存copy procmov cx,n+1 ;姓名长度+1(包含$)lea si,buff1+2lea di,sname ;姓名传送到snameadd di,sign1 ;加上间隔值cldrep movsbmov cx,nmov ax,'$';用$覆盖姓名区,清除已输入的姓名lea di,buff1+2rep stosbmov cx,m+1 ;成绩位数+1(包含s)lea si,buff2+2lea di,score1 ;成绩传送到scoreladd di,sign2 ;加上间隔值cldrep movsblea si,buff2+2mov di,sign2call change ;二进制成绩,scorel2retcopy endp流程图:→子程序3(CHANGE):十进制数ASCII码→二进制change procmov x,0mov cx,[si-1] ;成绩的位数,cx and cx,000fh ;保留低4位rept2:mov al,[si] ;按位取出成绩cmp al,30h ;是否在0~9之间 jl exit1cmp al,39hjg exit1and ax,000fh ;去掉ASCII码xchg ax,xmov dx,10 ;将ax中前一次形成的数扩大10倍mul dxadd x,ax ;保存到xinc siloop rept2mov Array保存mov score2[di],ax ;二进制成绩送入mov x,0add sign2,2 ;下一个成绩单exit1: retchange endp流程图→子程序4(SPORT):按成绩排序sort procmov cx,p ;数组长度dec cxloop1:push cx ;保存外循环次数mov bx,0loop2:mov ax,score2[bx]cmp ax,score2[bx+m+1] ;m+1=5 jge next ;降序xchg ax,score2[bx+m+1];交换成绩mov score2[bx],axmov al,mingci[si]xchg al,mingci[si+1] ;交换成绩mov mingci[si],alnext:add bx,m+1 ;下一个成绩inc siloop loop2pop cx ;恢复外循环次数 loop loop1retsort endp子程序→子程序5(PRINT):打印排序名单print proclea dx,infor0 ;显示结果提示mov ah,9int 21hmov cx,pmov bx,0mov ax,0mov di,0rept3:mov dl,0ah ;回车换行mov ah,2int 21hmov dl,0dhint 21hmov dl,cont ;显示名次序号mov ah,2int 21hinc contmov dl,0ah ;回车换行mov ah,2int 21hmov dl,0dhint 21hmov ax,0mov al,mingci[di] ;取名次dec al ;位置-1,因为地址从0开始mov bl,9 ;姓名位置=al×9(包含$) mul bllea dx,snameadd dx,ax ;偏移地址+姓名位移量mov ah,9 ;显示名字int 21hmov dl,0ah ;回车换行mov ah,2int 21hmov dl,0dhint 21hmov ax,0mov bx,0mov al,mingci[di] ;取名次dec al ;地址从0开始mov bl,5 ;成绩位移量=al×5(包含$)mul bllea dx,score1add dx,ax ;显示成绩mov ah,9int 21hinc diloop rept3retprint endpcodes endsEND START运行结果:实验体会:在复杂的程序设计中,采用模块化结构可以划分功能、分界程序,使得程序有复杂变简单,变清晰。
南昌大学计算机控制实验报告数/模转换实验

南昌大学实验报告学生姓名:学号:专业班级:实验类型:■验证□综合□设计□创新实验日期:实验成绩:实验一数/模转换实验一.实验要求掌握DAC0832芯片的性能、使用方法及对应的硬件电路。
编写程序控制D/A输出的波形,使其输出周期性的三角波。
二.实验说明电路实现见主板模块B1,具体说明请见用户手册。
DAC0832的片选CS0832接00H,观察输出端OUTl(B1部分)产生三角波由数字量的增减来控制,同时要注意三角波要分两段来产生。
三.实验步骤1、接线:此处无需接线。
2、示例程序:见Cpl源文件,程序流程如下图所示。
3、运行虚拟示波器方法:打开LCAACT软件中“设置”一>“实验机”,将其中的程序段地址设为8100,偏移地址0000。
然后选择“设置”一>“环境参数”一>“普通示波”,选择“工具”一>“加载目标文件”,本实验加载C:\AEDK\LCAACT\试验软件\CPI.EXE,然后选择在“工具”栏中“软件示波器”中“普通示波”,点击开始示波器即程序运行。
以后每个实验中的虚拟示波器运行方法同上。
只是加载的程序要根据实验的不同而不同。
如果以后用到该方法,不再赘述。
4、现象:程序执行,用虚拟示波器(CHl)观察输出点OUT(B1开始设置初始电平为0VD/A输出并增<=0FFH?YN数模转换中),可以测量到连续的周期性三角波。
通过实验结果的图片,我们可以知道得出来的三角波的幅值为U=(3.01V+1.95V)=4.96V。
T=1.3s模拟输出来的幅值和我们输入的5V有一定的偏差。
相对误差为(5-4.96)/5=0.8%,因为0832是8为的,所以分辨率为1/256即0.004。
相比较一下本次实验的误差只有0.8%,相当于掉了两个单位的分辨率。
在允许的误差范围之内。
所以本次实验的结果还算是比较成功的。
四、实验小结通过本次实验,我对数模转换的知识理解得更加透彻,以及如何使用DAC0832进行数模转换把数字量转换为模拟量并以三角波形式输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十六学生成绩名次表实验
一.实验要求
根据提示将0~100之间的10个成绩存入首址为1000H的单元,1000H+i表示学号为i 的学生成绩,编写程序能在2000H开始的区域排出名次表,2000H+i为学号i的学生的名次,并将其显示在屏幕上。
二.实验目的
进一步熟悉排序方法。
三.实验程序框图
四.实验程序:
CRLF MACRO
MOV AH,02H
MOV DL,0DH
INT 21H
MOV AH,02H
MOV DL,0AH
INT 21H
ENDM
DATA SEGMENT
STUNUM EQU 10
MESS1 DB '请依次输入1-10号学生的成绩',0DH,0AH,'$' ERROR DB '输入错误,请重新输入!',0DH,0AH,'$'
MESS2 DB '1-10号学生名次依次为:',0DH,0AH,'$' EMARK DB ?
ORG 1000H
SCORE DB 30 DUP(?)
ORG 2000H
SEQU DB 30 DUP(?)
DATA ENDS
STACK SEGMENT
STA DW 32 DUP(?)
TOP DW ?
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV SP,TOP ;初始化
MOV AH,09H
MOV DX,OFFSET MESS1
INT 21H ;显示提示信息
MOV SI,OFFSET SCORE ;成绩表首址
MOV CX,STUNUM ;学生数送CX
MOV EMARK,0
UUU: CALL GETNUM ;读取键入数值送DX CMP EMARK,01H
JE START
MOV [SI],DL ;存入成绩表缓冲区中
INC SI ;指向下一单元
LOOP UUU
MOV CX,STUNUM ;学生数
MOV DI,OFFSET SEQU ;名次表首址
VVV: CALL SCAN ;扫描子程序
MOV AL,STUNUM ;学生数
SUB AL,CL
INC AL ;计算名次
MOV BX,DX
DAA
MOV [DI+BX],AL ;记DX学号对应名次
LOOP VVV
MOV AH,09H
LEA DX,MESS2
INT 21H
MOV CX,STUNUM ;学生数
MOV SI,OFFSET SEQU ;名次表首址
WWW: MOV AL,[SI]
CALL DISPI
PUSH DX
PUSH AX
MOV AH,02
MOV DL,20H
INT 21H
POP AX
POP DX
INC SI
LOOP WWW ;显示排定的学生名次
MOV AX,4C00H
INT 21H
SCAN PROC NEAR ;子程序,每扫描一遍成绩表缓冲区, 找出其成绩最高者
;(由DX指针指示对应学生),之后将该成绩清除以
便下一次扫描
MOV DX,0
PUSH CX
MOV CX,STUNUM ;学生数
MOV AL,00H ;最低成绩
MOV BX,OFFSET SCORE
MOV SI,BX ;指向成绩表首址
CCC: CMP AL,[SI]
JAE JJJ ;AL中的成绩不低于成绩表指针SI所指单元的成绩则转
JJJ
MOV AL,[SI] ;AL存放较高的成绩
MOV DX,SI
SUB DX,BX ;DX为对应学号
JJJ: INC SI ;指向下一单元
LOOP CCC
ADD BX,DX
MOV BYTE PTR [BX],00H ;本次扫描成绩最高者清0
POP CX
RET
SCAN ENDP
DISPI PROC NEAR ;显示子程序
PUSH CX
MOV BL,AL
MOV DL,BL
MOV CL,04
ROL DL,CL
AND DL,0FH
CALL DISPL
MOV DL,BL
AND DL,0FH
CALL DISPL
POP CX
RET
DISPI ENDP
DISPL PROC NEAR
ADD DL,30H
CMP DL,3AH
JB DDD
ADD DL,27H
DDD: MOV AH,02H
INT 21H
RET
DISPL ENDP
GETNUM PROC NEAR ;键读入子程序PUSH CX
XOR DX,DX
GGG: MOV AH,01H
INT 21H
CMP AL,0DH
JZ PPP
SUB AL,30H
JB KKK
CMP AL,09H
JBE GETS
JMP KKK
GETS: PUSH AX
MOV AL,DL
MOV CL,10
MUL CL
MOV DX,AX
POP AX
XOR AH,AH
ADD DX,AX
CMP DX,100
JA KKK
JMP GGG
KKK: MOV AH,09H
MOV DX,OFFSET ERROR
INT 21H
MOV EMARK,01H
PPP: PUSH DX
CRLF
POP DX
POP CX
RET
GETNUM ENDP
CODE ENDS
END START。