计算机原理课程设计.docx

上传人:文*** 文档编号:68233849 上传时间:2022-12-27 格式:DOCX 页数:39 大小:343.38KB
返回 下载 相关 举报
计算机原理课程设计.docx_第1页
第1页 / 共39页
计算机原理课程设计.docx_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《计算机原理课程设计.docx》由会员分享,可在线阅读,更多相关《计算机原理课程设计.docx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、大连理工大学本科实验报告课程名称:计算机原理课程设计学院(系):电气工程学院专业:电气工程及其自动化班级:学号:学生姓名:2010年12月30日实验时间:年月日星期四时间:13:0015:05实验室(房间号):综420实验台号码:27班级:姓名:指导教师签字:成绩:实验一运算类程序设计编程训练一、实验目的和要求1、掌握运算类指令编程及调试方法。2、掌握运算类指令对各标志位的影响及控制条件转移的使用。二、实验内容用减奇数法开平方。三、实验算法N个连续自然数中的奇数和等于N2,要做S的开平方运算,那么就可以从S数中逐次减去自然数中的奇数1,3,5,7,直到结果为0,然后统计自然奇数的个数,它就是S

2、数的平方根。四、实验流程图五、程序清单CRLF MACROMOV DL,0DHMOV AH,02HINT21HMOV DL,0AHMOV AH,02HINT21HENDMDATA SEGMENTDATABUF DB 10DUP(?)DATA1 DB INPUT A NUMBERSDATA2 DB THE RESULT IS:$RESULT DB 10DUP(?)TENDB 10ODD DW -1DATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOVAX,DATAMOVDS,AXMOV AH,09HMOVDX,OFFSET DATA1;显示提示语

3、INT 21HMOV BX,OFFSET DATABUFMOV SI,0INPUT: MOV AH,01H;输入一个字符INT 2IHMOV BX+SI,ALINC SICMP ALQDH;判断是否是回车JNZ INPUTDEC SIMOV CX,SIMOV SI,0MOV AX,0;ASIIC 码转二进制ATB:MUL TENSUB BYTE PTR|BX+S1,3OH;此处 al 可能溢出ADD AL,SI+BXINC SILOOP ATBLEA BX,ODDMOV CX,0;开方EVOLUTION:ADD WORD PTRBX,02HINC CXSUBAXJBXJNZ EVOLUTION

4、CRLFMOV AH,09HMOVDX,OFFSET DATA2;显示提示语INT 21HLEA BX,RESULTMOV AX,CXMOV CX,0BTA:DIV TENMOV |BX,AHADD BYTE PTRBX,30HINC BXINC CXMOVAH,OOHCMP AL,00HJZ DIS1JMP BTADIS1:LEABX,RESULTMOV SI,CXDEC SIDIS: MOV AH,02HMOV DL,BX+SIINT 21HDEC SILOOP DISMOV AH,4CHINT 21HCODE ENDSEND START六、实验结果与分析运行程序,达到了设计要求,下图为程

5、序运行结果:C:MASMMINEeuolut INPUT A NUMBER:36 THE RESULT IS:6 C:MASMMINEeuolut INPUT A NUMBER:64 THE RESULT IS:8 C:MASMMINEeuolut INPUT A NUMBER:144The result is:i2七、实验体会和建议通过本次实验,掌握了汇编程序的上机调试过程,汇编语言的应用能力有了一定的提高。编写的程序可以在一定范围内得到正确的结果,但对256开方却出现错误,可能是数据溢出造成的。本程序完成了对开方算法的验证,但在实际应用方面还很欠缺。八、主要仪器设备计算机DOS操作系统。实

6、验时间:年月日星期四时间:13:0015:05实验室(房间号):综420实验台号码:27班级:指导教师签字:成绩:实验二排序程序设计编程训练一、实验目的和要求1、利用分支,循环,子程序调用等基本程序结构实现排序程序。2、掌握综合程序的设计,编制及调试方法。二、实验内容在数据区中存放一组数,数据个数就是数据缓存区的长度,用气泡法,对该数据区中的数据按递增关系排序。三、实验算法1、从最后一二数开始,依次把相邻的两个数进行比较,即第N个数与第N-1个数比较,第N-1个数与第N-2个数比较若第N-1个数大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。此时,N个数中的最小数将被

7、排在N个数的最前列。若在本步骤中一次交换都没有发生,说明已经排好,此时可设立标志,结束排序,减小程序的时间复杂度。2、判断排序否结束,若未结束,对剩下的N-1个数重读第一步,找到N-1个数中的最小数。3、重复第二步,直到N个数全部排好序为止。四、实验流程图J大于结束五、程序清单BUFFER DB 31h,35h,37h,39h,33h,32h,34h,30h,38h,36hCOUNT EQU ($-BUFFER)DATAENDSSS_SEG SEGMENT STACKDB 256 DUP(?)SS_SEG ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:SS

8、_SEGMAIN PROC FARMOV AX,DATAMOVDS,AXMOVSI,COUNTSORT1:MOV DI,1MOVCX,DILEA BX,BUFFERCIRCLE:MOV ALJBXINC BXCMP AL,BXJLE NEXTXCHG AL,BXMOV BX-1,ALMOVDI,CXNEXT: INC CXCMP CX,SIJL CIRCLEDEC SICMP DIJJNE SORT1MOV CX,COUNTLEA BX, BUFFERDIS: MOV AH,02HMOV DL,BXINT21HINC BXLOOP DISMOVAK4CHINT21HCODE ENDSEND M

9、AIN六、实验结果与分析运行程序,达到了设计要求,下图为程序运行结果:K命令提不符3123456789七、实验体会和建议通过本次实验,掌握了分支,循环,子程序调用等基本程序的基本应用,并学会气泡法这一排序算法。八、主要仪器设备计算机DOS操作系统。实验时间:年月日星期四时间:13:0015:05实验室(房间号):综420实验台号码:27班级:指导教师签字:成绩:实验三 DOS功能调用编程训练一、实验目的和要求1、熟悉汇编语言程序的使用。2、掌握十进制的运算、设计显示程序运行结果的格式。3、熟练掌握DOS功能调用。二、实验内容编写程序,求30个同学成绩的平均分数,将结果显示在屏幕上。显示格式要求

10、如下:第一行显示:THE 20 SCORES ARE:以分号分隔的30个同学的分数。第二行显示:AVERAGE SCORE IS=求得的平均分数。三、实验算法1、将ASCII码表示的数转换二进制表示,并求和、求平均数,在将平均数转换为 ASCII码,在屏幕上显示。2、显示字符串信息用DOS功能调用INT21H,功能号为09H。3、显示平均数结果时,用DOS功能调用INT21H,功能号为02H。四、实验流程图五、程序清单CRLF MACROMOVDL,0DHMOVAH,02HINT 21HMOVDL,0AHMOVAH,02HINT 21H ENDMSCORE DB 38H,36H,38H,34H

11、,39H,36H,38H,34H,39H,36H,37H,37H,39HDB 37H,38H,36H,38H,34H,39H,36H,37H,37H,38H,36H,38H,34HDB 39H,36H,38H,34H,39H,36H,37H,37H,38H,36H,38H,34H,39H,36HSUM DW 0000HTENDB 10TWENTY DB 20STR1 DB “THE TWENTY SCORES ARE:$”STR2 DB THE AVERAGE SCORE IS=$”DATA ENDSSS_SEG SEGMENT STACKSTADB20 DUP(?)TOPEQULENGTH

12、STASS_SEG ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:SS_SEGSTART: MOVAX,DATAMOVDS,AXMOVAX,SS_SEGMOVSS,AXMOVAX,TOPMOVSP,AXMOV AH,09HMOV DX,OFFSET STR1INT 21HMOV CX,20MOVBX,OFFSET SCOREDISP:MOVAH,02HMOVDL,BXINT 21HINC BXMOVAH,02HMOVDL,BXINT 21HINC BXMOV AH,02HMOV DL;;, INT 21H LOOP DISPCRLFMOV AH,09HMO

13、V DX,OFFSET STR2INT 21HMOVCX,20MOV SI,0MOV AX,0LEA BX,SCOREAA:SUB BYTE PTR|BX+SI,30HMOV ALJBX+SIMUL TENINC SISUB BYTE PTRBX+SI,30HADD AL,BX+SIINC SIADD SUM,AXLOOP AAMOVAX,SUMDIV TWENTY ;在人人的循环中,曾因为少了一句INC SL使ax中的数为MOVAH,00H;负数,有符号数,使用DIV时出现错误DIV TENPUSH AXADDAL,30HMOV AH,02HMOV DL,ALINT 21HPOP AXADD

14、 AH,30HMOV DL,AHMOV AH,02HINT 21HMOV AH,4CHINT 21HENDSTART六、实验结果与分析运行程序,达到了设计要求,下图为程序运行结果:fc :MASMMI NEauei*ageTHE TWENTV SCORES ARE:86;84;96;84;96;77;97;86;84;96;77;86;84;96;84;96;?7;86;84;9 b;,HE AVERAGE SCORE IS=87七、实验体会和建议通过本次实验,熟悉汇编语言程序的使用,常用的DOS功能调用方法。在程序中成绩用ASCII码表示是考虑到加入输入成绩子程序时,从键盘录入的输入为ASC

15、II码表示,后因时间不够未编写该子程序。在AA的循环中,曾因为少了一句INCSL使ax中的数为负数,有符号数,使用DIV时出现错误。编程时由于对未对dx清零,除si时结果不正确,开始并未找出原因,故用了在数据段定义一个字节为20。总之,通过本次实验,对汇编语言编程积累了一定的经验。八、主要仪器设备计算机DOS操作系统。实验时间:0 星期 四时间:13 : 0015 : 05实验室(房间号):综420实验台号码:27班级:成绩:指导教师签字:实验四8255并行接口实验一、实验目的和要求1、学习利用并行接口芯片8255构成并行接口电路的基本方法。2、熟悉掌握并行接口芯片8255的基本性能及在实际应

16、用中的硬件连接、初始化编程方法。二、实验内容编写程序,使8255的PB 口位输出口,PA 口将K0K7作为一个字节读入,再从PB 口输出这一反码字节。三、实验电路图_rr_ D6 D。 D4、D)、一 D) IiowIOR RESET Al AO CSD7 D6D5 D4D3 D2D1 DOIOW IOR RESET Al AO CSr 6st 321076 5 43210 bbbbbbbbaaaaaaaa pppppppppppppppp1234 5 67a 1234 5 678L0-L7KO-K-8255A8255并行接口实验电路图四、程序清单汇编程序代码如下:CODE SEGMENT A

17、SSUME CS:CODE START:MOV DX,21BHMOV AL,90H OUT DX,ALBG:MOV DX,218HIN AL,DXMOV DX,219HOUT DX,AL JMP BGCODE ENDS END START五、实验结果与分析通过开关从PA 口输入数据,观察灯可知,PB 的输出为输入的反码。实现了设计的功能。六、实验体会和建议通过本次实验,掌握了8255芯片的使用方法。本次实验为第一个接口实验,对硬件知识的要求较高,实验前对芯片地址等知识还不了解,实验完成后又参考了教科书,对芯片的寻址有了了解。通过实验,加深了对理论知识的学习。七、主要仪器设备SAC-86s试验箱

18、,计算机。实验时间:年月日星期四时间:13:0015:05实验室(房间号):综420实验台号码:27班级:指导教师签字:成绩:实验五8259中断实验一、实验目的和要求1 .PC机的中断结构及8259中断控制器的初始化。2 .熟悉8259中断控制器的工作原理和硬件连线方法。3 .了解8259的应用和硬件编程方法。4 .了解8259中断屏蔽,以及优先级判别等特性。5 .了解8259的级联工作方式。二、实验内容1 .编写中断实验程序,主程序使8255的PB 口为输出口,输入0FFH,L0L7指示灯全亮,中断服务程序从PB 口输出0FH,L0L3亮,L4L7灭,并延时一段时间后返回主程序。2 .编写中

19、断实验程序,主程序使8255的PB 口为输出口,输入0FFH,L0L7指示灯全亮,IR0中断服务程序从PB 口输出0FH,L0L3亮,L4L7灭,并延时一段时间后返回主程序。IR1中断服务程序从PB 口输出0F0H,L0L3灭,L4L7亮,并延时一段时间后返回主程序。三、实验电路图PBPBtFBPBPBPBPBPBCPAPAPAPAPAPAPAPA wET mwMIMmBDlB 黑普 MB图5-28259中断优先级实验电路图四、程序清单8259(单片)中断实验汇编程序代码如下:INTO EQU 220HINTI EQU 221HINT1OEQU 228H1NT11 EQU 229HSEGMEN

20、T 50 DUP(?)LENGTHSTA ENDS SEGMENTSTACKSTA DBTOP EQUSTACKCODEASSUME CS:CODE,SS:STACK START:CLIMOV AX,TOP MOV SP,AX PUSH DSMOV AX,(X)00H;SET IRQO MOV DS,AXMOV AX,OFFSET IRQO ADD AX,0000H MOV SL20H MOV SI,AX MOV AX,CS MOV SI,22H MOV SI,AX POP DSMOV ALJ3H ;ICW1 MOV DXJNTO OUT DX,ALMOV AL,8;ICW2 MOV DXJN

21、T1 OUT DX,ALMOV CX,0FFFH LOOPSMOV AL,9;ICW4MOV DXJNT1 OUT DX,ALMOV CX,0FFFH LOOPSMOV DXJNT1MOV AL,0FEH ;OCW1 OUT DX,AL MOV CXQFFFH STIMOV DX,21BH MOV AL,90H OUT DX,AL DSP:MOV AL,0FFHMOV DX,219H OUT DX,ALJMP DSPIRQO: STIMOV CXQFFFFH LOOPSMOV AL,0FHMOV DX,219HOUT DX,ALMOV DXJNTOMOV AL,20HOUT DX,ALMOV

22、CX,0FFFFHLOOPSMOV CXQFFFFHLOOPSIRETCODE ENDSEND START8259中断优先级实验汇编程序代码如下: INTO EQU 220H INTI EQU 221HINT10EQU 228HI NT 11 EQU 229HSTACKSEGMENTSTADB 50 DUP(?)TOPEQU LENGTH STASTACKENDSCODESEGMENTASSUME CS:CODE,SS:STACK START:CLIMOV AX,TOPMOV SP,AX PUSH DSMOV AX,0000H ;SET IRQO MOV DS,AXMOV AX,OFFSET

23、IRQO ADD AX,0000HMOV SI,20H MOV |SI,AX MOV AX,CS MOV SL22H MOV SI,AXMOV AX,0000H ;SET IRQ1 MOV DS,AXMOV AX,OFFSETIRQ1ADD AX,0000HMOV SI,24HMOV SI,AX MOV AX,CS MOV SI,26H MOV SI,AX POP DSMOV AL,13H ;1CW1 MOV DXJNTOOUT DX, ALMOV AL,8;ICW2MOV DXJNT1OUT DX,ALMOV CX,0FFFHLOOPSMOV AL,9;ICW4MOV DXJNT1OUT D

24、X,ALMOV CX,0FFFHLOOPSMOV DXJNT1MOV AL,0FCH ;OCW1OUT DX,ALMOV CX,0FFFHSTIMOV DX,21BHMOV AL,90HOUT DX,ALDSP:MOV AL,0FFHMOV DX,219HOUT DX,ALJMPDSPIRQO: STIMOV CX,0FFFFHLOOPSMOV AL,0FHMOV DX,219HOUT DX,ALMOV DXJNTOMOV AL,20HOUT DX,ALMOV CXQFFFFH LOOPSMOV CX,0FFFFHLOOPSIRETIRQ1: STIMOV CX,()FFFFH LOOPSMO

25、V AL,0F0HMOV DX,219HOUT DX,ALMOV DXJNTOMOV AL,20HOUT DX,ALMOV CXQFFFFHLOOPSMOV CX,OFFFFHLOOPSIRETCODE ENDSEND START五、实验结果与分析单片8259实验中,L0L7指示灯全亮,按下单脉冲按钮,L0L3亮,L4L7灭,延时一段时间后仍全亮。8259中断优先级实验中,L0L7指示灯全亮;按下左单脉冲按钮(接IRO), L0-L3亮,L4-L7灭,延时一段时间后仍全亮:按下右单脉冲按钮(接IRO), L0L3灭,L4-L7亮,延时一段时间后仍全亮;同时按下两个单脉冲按钮,L4L7先灭亮,L

26、0L3后灭亮,延时一段时间后仍全亮。在短时间内多次按下按钮,引发中断,灯不再亮。六、实验体会和建议通过本次实验,掌握了8259的初始化方法,了解了8259的应用和硬件编程方法,8259中断屏蔽,以及优先级判别等特性。对于在短时间内多次引发中断灯不再亮的现象,经思考,可能是堆栈溢出造成的,可以增加堆栈的大小,看现象是否消失来验证猜测是否正确。由于实验时还未想到原因,故还未进行验证。七、主要仪器设备SAC-86s试验箱,计算机。实验时间:年月日星期四时间:13:0015:05实验室(房I配):综420实验台号码:27班级:指导教师签字:成绩:实验六定时计数器实验一、实验目的和要求1 .了解定时器8

27、253的初始化及用法。2 .会用逻辑笔或示波器观察8253的工作状态。二、实验内容编写程序,使8253的定时/计数器2工作在方式3下。会看到逻辑笔红绿灯来回反复变化。三、实验电路图82538253实验电路图四、程序清单汇编程序代码如下:TIM_CTL EQU 203HTIMERO EQU200HTIMERI EQU201HTIMER2 EQU 2O2HMODE23 EQU0B6HMODE 13 EQU76HCODE SEGMENTASSUME CS:CODESTART:TT:CLIMOV DX,TIM_CTLMOV AL,MODE23OUT DX,ALMOV DX,TIMER2MOV AL,0

28、FFHOUT DX,ALMOV AL,0FFHOUT DX,ALWT:JMPWTCODEENDSEND START五、实验结果与分析K0向8253输入高电平时,可以看到逻辑笔红绿交替变化。K0为低电平时观察不到此现象。六、实验体会和建议通过本次实验,掌握了8253的使用方法。对于时定时时间超出计时器计时范围的情况,可先通过一个计时器对时钟信号进行分频,再用其输出作为另一定时器的时钟信号。用这种方法可以极大地拓展计时的范围。七、主要仪器设备SAC-86s试验箱,计算机。实验时间:日 星期 四时间:13 : 0015 : 05实验室(房间号):综420实验台号码:27指导教师签字:班级:成绩:实验

29、七 A/D转换接口实验一、实验目的和要求1 .了解模/数转换的工作原理。2 .掌握0809的使用方法。二、实验内容编写程序,用0809的IN0通道采集数据并在数码管上显示。调节电位器W1,以改变模拟电压值,显示器上会不断显示新的A/D转换结果。三、实验电路图:1示ADH裁 VOUT0809实验电路图四、程序清单汇编程序代码如下:B8279EQU212HD8279EQU210HLEDO EQU00LED1EQU38HDATASEGMENTLED DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,DB(5FH,77H,7cH,39H 5EH,79H,71HDATAENDS

30、CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVDX,B8279MOVAL,0D0HOUTDX,ALMOVCX,0FFFFHLOOP$MOVDX,B8279MOVAL,LEDOOUTDX,ALMOVAL,LED 1OUTDX,ALMOVDX,B8279MOVAL,95HOUTDX,ALMOVDX,D8279MOVAL,40HOUTDX,ALMOVDX,D8279MOVAL,5EHOUTDX,ALMOVDX,D8279MOVAL,77HOUTDX,ALTT:MOVDX,230HOUTDX,ALMOVCX,0FFFFHLOOP$MOVDX,B8279MOVAL,8

31、3HOUTDX,ALMOVDX,230HIN AL,DXANDAL,0FHLEABX,LEDXLATMOVDX,D8279OUTDX,ALMOVDX,B8279MOVAL,84HOUTDX,ALMOVDX,230HIN AL,DXMOVCL,4HRORAL,CLANDAL,0FHLEABX,LEDXLATMOV DX,D8279OUTDX,ALJMPTTCODE ENDSEND START五、实验结果与分析数码管高五位显示“Ad-XX”,旋转电位器旋钮,改变模拟量大小,转换值XX在00FF之间变化。六、实验体会和建议通过本实验,掌握了0809的使用方法。由于A/D转换需要一定时间,所以编写程序

32、时应注意在启动A/D转后后,必须延时一段时间才能采集A/D转换的值。七、主要仪器设备SAC-86s试验箱,计算机。实验时间:年月日星期四时间:13:0015:05实验室(房间号):综420实验台号码:27班级:成绩:指导教师签字:实验七步进电机实验一、实验目的和要求1 .了解步进电机的工作原理,以及脉冲分配概念。2 .掌握计算机控制步进电机的方法。二、实验内容编写程序,通过8255控制步进电机的方法。按步进电机脉冲分配规律,设定相应输入步进电机转速。扳动K0-K7,可控制步进电机的转速,K0-K3转速依次提高。三、实验电路图IOWIOR RESET、AlIOW IOR RESET Al AO

33、CSpi6J5MnJ2Mio6uuuuulo PBPBBPBPBPB阳PAPAPAPASPAPA20038255AK0-K7步进电机步进电机实验电路图四、程序清单汇编程序代码如下:CODESEGMENTASSUMECS:CODESTART:MOVDX,21BHMOVAL,90HOUTDX,ALBG:MOVDX,218HINAL,DXCMPAL,01HJNZC2MOVBX,0FFFFHJMPWORKC2:CMPAL,02HJNZC4MOVBX,07FFFHJMPWORKC4:CMPAL,04HJNZC8MOVBX,0FFFHJMPWORKC8:CMPAL,08HJNZCCMOVBX,07FFHJ

34、MPWORKCC:MOVAL,OOHMOVDX,219HOUTDX,ALJMPBGWORK:MOVAL,01HMOVDX,219HOUTDX,ALMOVCX,BXLOOP$MOVAL,03HMOVDX,219HOUTDX,ALMOVCX,BXLOOP$MOVAL,02HMOVDX,219HOUTDX,ALMOVCX,BXLOOP$MOVAL,06HMOVDX,219HOUTDX,ALMOVCX,BXLOOP$MOV MOVOUT MOV LOOP MOV MOVOUT MOV LOOP MOV MOVOUT MOV LOOP MOV MOVOUT MOV LOOPJMP CODEAL,04HD

35、X,219HDX,ALCX,BX$AL,0CHDX,219HDX,ALCX,BX$AL,08HDX,219HDX,ALCX,BX$AL,09HDX,219HDX,AL CX,BX $BGENDSEND START五、实验结果与分析扳动K0-K3,可控制步进电机的转速,K0-K3转速依次提高。六、实验体会和建议通过本次实验,了解了步进电机的工作原理,以及脉冲分配概念;掌握了计算机控制步进电机的方法。七、主要仪器设备SAC-86s试验箱,计算机。大连理工大学本科设计报告题目:基于PWM的直流电机调速系统设计课程名称:计算机原理课程设计学院(系):电气工程学院专业:电气工程及其自动化班级:学号:学生

36、姓名:成绩:2011年1月6日题目:基于PWM的直流电机调速系统设计1设计要求1 .以8253为核心,编制PWM波形算法,通过8255输出PWM波形控制电机;2 .直流电机的转速可以控制:1)利用K7K0人工控制;2)将两个单脉冲的输出与8259的IRO、IR1连接,利用中断分别实现“提速”和“减速”的控制。3)程序控制:周而复始的由慢到快、再由快到慢,循环往复;4)利用实验台上的电位器人工调节-转速连续变化。2设计分析及系统方案设计利用两个计数器(定时器)CNTl、CNT2分别实现PWM的周期定时和脉宽定时。CNTO 做分频器,将实验台上的1MHZ信号降低为1000HZ发波,此信号分别为CN

37、T1、CNT2做计数脉冲; 采用查询方式,将0UT1、0UT2的信号电平与8255的PCO、PC1连接,由CPU检测两个定是周期的状态,再由8253DE PC7输出PWM信号。 读取开关的值选择控制方式,当K0为1时,用软件控制脉宽,使转速由慢到快、再由快到慢,循环往复;当K1为1时,通过调节实验台上的电位器的输出电压经AD转换后作为pwm的脉宽,从而控制转速连续变化。 当KO=O,K1=O时,可通过中断的方式控制转速。外部中断由单脉冲源提供,通过8259管理外部中断。3硬件电路图09ZZZMZXXN08x I A CT 1一二二一一二L一二 U A_.卡小小京4-寿公(11;公(TL L=直

38、流电机调速系统电路原理图4程序流程图KO=1?自动控制脉宽Kl=l?A/D转换控制脉宽5程序清单io8253.0equ200hio8253.Jequ201hio8253.2equ202hio8253._kequ203hp55aequ218h;8255 a port outputp55bequ219h;8255 b port outputp55cequ21ah;8255 c port inputp55ctlequ21bh;8255 coutrl portintOequ220h;8259IR0intiequ221h;8259IR1data segmentflag db 0;程序自动控控制时的加减速

39、标志data endsss_seg segment stacksta db 50dup(?)top equ length stass_seg endscode segmentassume cs:code,ss:ss_segstart:nopclimov ax,topmov sp,axpush ds;保护数据mov ax,(X)00hmov ds,axmov ax,offset irqO;设置8号中断服务程序地址mov si,2Ohmov si,axmov ax,csmov si,22hmov si,axmov ax,OOOOhmov ds,axmov ax,offset irql;设置9号中断

40、服务程序地址mov si,24hmov si,ax mov ax,cs mov si,26h mov si,ax pop dsmov al,13hmov dx,intO;icwlout dx,al mov al,8 mov dx,intl out dx,al;icw2mov al,9;icw4mov dx,intl out dx,al mov dx,intl mov al,Ofch out dx,al;ocwlstimov dx,p55ctl mov al,10010011b out dx,almov dx,io8253_k mov al,36hout dx,almov ax,100mov d

41、x,io8253_0 out dx,almov al,ah out dx,al mov dx,io8253_k;指向8255的控制口;设定C 口为方式0,PC0、1输入,PC7输出;写入控制字;向8253写控制字;使0通道为工作方式3;写入循环计数初值100;先写入低字节;后写入高字节mov al,76h;设8253通道1工作方式0out dx,almov ax,260mov dx,io8253_lout dx,al mov al,ah out dx,al;写入循环计数初值260(周期参数);以避免输入的脉宽值大于周期参数;先写低字节;后写高字节mov dx,p55ctl mov al,93h out dx,almov bl,1海口输入,PC7输出;PWM的处置为最小lop:mov dx,230hOUTDX?ALstimov dx,p55c in al,dx and al,Olh jnz lop ;mov si,l;检测OUT1是否为低;指向8255的c n;OUT1不为1时等待mov dx,p55ctlmov al,Ofh out dx,almov dx,io82

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁