微机原理课程设计总结,手抄版
微机原理课程设计总结
以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好,但是但是当真的要做的时候也只好进自己最大的努力去做,做到自己最好的。我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感觉,那就是感觉汇编语言真的是很神奇,很有意思,我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐,看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲自做出来的,很有成就感。我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想它也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程,对于很多学过汇编或者其他类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。
《微机原理实验与课程呢个设计指导书》,陆红伟编,中国电力出版社,201*年《8086微型计算机组成、原理及接口》,顾滨编,机械工业出版社,201*年《微型计算机技术及应用》戴梅萼,清华大学出版社,201*
本次课程设计的总结与体会
微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分,讨论某一部分原理时又要涉及到其他部分的工作原理,这样一来不仅不能再短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,再循环渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原本保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。学习该门课程知识时,其思维方法也和其他课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计使用的电路和系统,再配上相应程序,完成各种实际应用项目。
这次实验并不是很难,主要的困难来自对程序的理解。功夫不负有心人,经过四个人的合作和努力,我们最后对实验的原理有了清晰的认识。虽然实验台上的很多模块但愿没有用到,但是就系统功能来说,我觉得我们做的还是不错的。
这次课程设计却让我们对实验台有了足够的了解,让我们知道了实验台上各个模块的用法:而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们一以后的学习也会有帮助的。实验中个人的力量是不及群体的力量的,我们四个人分工合作,做事的效率高了很多虽然有时候会为了一些细节争论不休,但最后得出的总是最好的结论,而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。
总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己动手能力。感谢老师的悉心指导。对课程设计的建议
本次课程设计的三个实验相对都比较简单,而且经过老师的讲解以及实验书上的指导,几乎把我们要用到的程序和实验台电路的接线方法都告诉我们了,所以做起来很容易。但是做完实验,我们对实验台及其上面的各个模块还是不了解。对如何编程控制实验台上各个模块和芯片的运作也没有什么清晰的认识。如果老师对我们实验报告的要求在严格一点,也许同学们会更加自觉地去认真理解程序和实验思路。
希望老师根据实验室的环境布置一些可以让我们自己去设计的题目,并给我们更多的实验时间。这样也许能够激发更多同学的创新能力、老师可以多给我们讲一讲各类芯片的实际应用,这样可以让我们对各种芯片有一些更加贴切的感受。
扩展阅读:微机原理课程设计总结
南京航空航天大学微机原理课程设计数据采集系统(中断法)
微机原理课程设计数据采集系统(中断法)
第1页共13页南京航空航天大学微机原理课程设计数据采集系统(中断法)
一、课设目的:进一步掌握微机原理知识,了解微机在实时采集数
据的应用,学习掌握编程和程序调试的方法。
二、课设内容和要求:用中断法将ADC0809通道0外接05V电
压,转换成数字量后,在七段数码管LED上显示。以小数点后两位表示精度,显示模拟电压的十进制;0809通道0的数字量以线性控制方式DAC0832输出,当通道0的电压为5V时,0832的OUT为0V当通道0的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示。ADC0809的采样脉冲CLK由定时器8254的OUT0提供;ADC0809的EOC信号用作8259中断请求信号。三、总体设计:
1)、ADC0809的IN0采集电位器05V电压,IN1采集0832输出的模拟量。
2)、DAC0832将ADC0809的IN0数字量重新转换成模拟量输出3)、8259用于检测ADC0809转换是否结束和向CPU发送INTR信号
4)8255为七段LED数码管显示提供驱动信息5)、七段LED数码管显示ADC0809的IN0的值6)8254提供ADC0809的采样时钟脉冲。
四、硬件设计:因采用PC机和微机实验箱,硬件电路设计相对比较简单,主要利用微机实验箱上的8255并行口,ADC0809,DAC0832,七段数码管LED,8254定时/计数器,74LS574输出接口,电位器等
第2页共13页南京航空航天大学微机原理课程设计数据采集系统(中断法)
XD0-XD7D0-D7/Y2CSRFE
0832XIOWWRXD0-XD7D0-D7GATE0+5vXIOWWRXIORRDXA2A0XA3A1/Y3CSOUT08254CLA01.8432MHZXD0-XD7D0-D7CLKXIOWWRXIOWRD0809AXA210kBXA3CXA4IN0IN1EOCXD0-XD7D0-D7XIOWWRXIORRDINTRINTR/Y7CSIR08259A0A2XD0-XD7D0-D7XIOWWRXIORRDXA2A0XA3A1/Y1CS8255PB0-PB7A,B-G,DPABC/Y0/Y1/Y274138/Y3/Y4/Y5/Y6/G/Y7单元
(图1:数据采集系统硬件连接示意图)
六、软件设计:本设计通过软件编程,实现模/数转换,0809分别对IN005V直流电压的采样和经线性控制后输出电压IN1采样,IN0
第3页共13页
IOUT12IOUT23LM3245V/Y0CSPAO-PA5L1L6数码管键盘单元南京航空航天大学微机原理课程设计数据采集系统(中断法)
的值转换成十进制后,在七段数码管LED上显示IN1的值。CPU根据IN0的值,使八位二极管根据课设要求指示相应的范围。1、设计思想:数据采集系统分成四个功能模块分别是主程序模块、量纲转换模块、数码管显示模块、中断服务子程序模块。
(1)主程序模块:根据课设要求采用中断方式采集数据,因此可把读取IN0的值保存和数字量经线性控制后送给0832输出,作为0809IN1的模拟电压和IN1的启动,读取以及IN0的BCD码转换,放在中断服务子程序模块中完成。在主程序模块上主要实现启动0809的IN0、显示模块的调用、和中断结束部分程序。
(2)量纲转换模块:量纲转换模块在中断服务子程序内完成,只有将IN0的数字量分别除以51,商存在显示IN0的个位存储单元;余数乘以十,再除以51,商存入十分位存储单元;余数再乘以十,除以51,若余数大于25则商加一,小于25则舍去。这样就实现了四舍五入的精度,再把商存入百分位存储单元;以供七段数码管显示调用。
(3)数码管显示模块:数码管显示模块相对简单,主要在显示个位是加上小数点的显示,可以通过查表获取个位断码后再加上80H来实现
(4)中断服务子程序:考虑到0832的输出时0809IN1的输入,因此,为防止在执行中断服务子程序时二次进入中断服务子程序中,故在进入中断服务子程序后关中断,而在退出中断服务子程序前开中断以便下次进入中断服务子程序。中断服务子程序模块主要完成对IN0
第4页共13页南京航空航天大学微机原理课程设计数据采集系统(中断法)
数据的读取和保存,对IN1的启动和读取,对IN0数据的BCD转换等任务。
2、参考流程:中断子程序和主程序流程图
保护现场;CLIFLAG=0FFH?读IN0的值,保存读IN1的值,保存IN0的值按要求变换后,送0832输出启动IN1FLAG=0发送中断结束命令恢复现场;STI返回主程序
图2:中断服务子程序流程图
第5页共13页南京航空航天大学微机原理课程设计数据采集系统(中断法)
初始化显示提示信息关中断保存原中断向量内容设置中断向量表保存中断屏蔽值允许TRQ2中断8254初始化开中断启动0809IN0FLAG=0FFHIN0值量纲转换后送显示调用数码管显示子程序将IN1的值进行ASCII码的转换显示器显示IN1的值N有键按下么?Y恢复原中断屏蔽寄存器值恢复原中断向量表内容结束
图3数据采集系统主程序流程图
第6页共13页南京航空航天大学微机原理课程设计数据采集系统(中断法)
;微机原理课设CRLFMACRO;宏定义回车,换行MOVDL,0DHMOVAH,02HINT21HMOVDL,0AHINT21HENDMY0EQU3000HY1EQU3020HY2EQU3040HY3EQU3060HY7EQU30E0HPA55EQUY1+00H*4;8255A口地址
PB55EQUY1+01H*4;8255B口地址PCTLEQUY1+03H*4;8255控制寄存器地
址AD0EQUY0;ADC0809端口IN0地
址AD1EQUY0+10H;ADC0809端口IN1
地址
INTR_IVADDEQU01C8H;INTR对应的中断矢量地址
INTR_OCW1EQU0A1H;INTR对应PC机内部8259的
OCW1地址
INTR_OCW2EQU0A0H;INTR对应PC机内部8259的
OCW2地址
INTR_IMEQU0FEH;INTR对应的中断屏蔽字
MY8259_ICW1EQUY7+00H;实验系统中8259的ICW1端口地址MY8259_ICW2EQUY7+04H;实验系统中8259的ICW2端口地址MY8259_ICW3EQUY7+04H;实验系统中8259的ICW3端口地址MY8259_ICW4EQUY7+04H;实验系统中8259的ICW4端口地址MY8259_OCW1EQUY7+04H;实验系统中8259的OCW1端口地址MY8259_OCW2EQUY7+00H;实验系统中8259的OCW2端口地址MY8259_OCW3EQUY7+00H;实验系统中8259的OCW3端口地址TIMER0EQU3060H;Y3+00H*48254计数器0端口地址
TCTLEQU306CH;Y3+03H*48254控制字端口地址
DATASEGMENTMES0DB"SIGNALGATHERING
PRORGRAM",0DH,0AH,0DH,0AHDB"#####################################
######",0DH,0AH,0DH,0AHDB"PRESS1TOSTARTGATHERING!",0DH,0AH,0DH,0AHDB"PRESS2TO
EXITTODOS!",0DH,0AH,0DH,0AHDB
"###########################################",0DH,0AH,0DH,0AH,"$"
MES1DB"ThevalueofIN1is:$"CS_BAKDW?IP_BAKDW?
IM_BAKDB?FLAGDB?GWDB?;保存个位SFDB?;保存十分位
第7页共13页
南京航空航天大学微机原理课程设计数据采集系统(中断法)
BFDB?;保存百分位
IN0DB?IN1DB?DCTBLDB
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB
77H,7CH,39H,5EH,79H,71H
DATAENDS
STACSEGMENTPARASTACKDW256DUP(0)STACENDS
CODESEGMENTASSUME
CS:CODE,SS:STAC,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,MES0MOVAH,9INT21H
LOP1:MOVDL,0FFH;测试键盘输入MOVAH,6INT21HJZLOP1CMPAL,"1"JZMAINCMPAL,"2"JZEXIT0JMPSTARTEXIT0:JMPEXIT;主程序模块
MAIN:CLI;关中断
MOVAX,0000H
MOVES,AX;替换INTR的中断矢量
MOVDI,INTR_IVADD;保存INTR原中断处理程序入口偏移地址MOVAX,ES:[DI]MOVIP_BAK,AX
MOVAX,OFFSET
MYISR;设置当前中断处理程序入口偏移地址
MOVES:[DI],AXADDDI,2MOVAX,ES:[DI];保存INTR原中断处理程序入口段地址
MOVCS_BAK,AXMOVAX,SEG
MYISR;设置当前中断处理程序入口段地址
MOVES:[DI],AXMOVDX,INTR_OCW1;设置中断屏蔽寄存器,打开INTR的屏蔽位
INAL,DX;保存INTR原中断屏蔽字
MOVIM_BAK,AL
ANDAL,0FBHOUTDX,AL
MOVDX,MY8259_ICW1MOVAL,13HOUTDX,AL
MOVDX,MY8259_ICW2MOVAL,08HOUTDX,AL
MOVDX,MY8259_ICW4MOVAL,01HOUTDX,AL
MOVDX,MY8259_OCW3MOVAL,0AHOUTDX,AL
MOVDX,MY8259_OCW1MOV
AL,0FEH;打开IR0屏蔽位OUTDX,AL
第8页共13页
南京航空航天大学微机原理课程设计数据采集系统(中断法)
;8254初始化
MOVDX,TCTL
MOVAL,16H;计数器0方式3读低8位二进制计数,若为方式2亦可,"MOVAL,14H"OUTDX,AL
MOVDX,TIMER0
示高位
MOVCL,4RORAL,CLCALLCRT1
MOVAL,BL;显示低位
ANDAL,0FH
CALLCRT1CRLF
MOVAL,4OUTDX,AL
;8255初始化
MOVAL,80H出、B输出,方式0MOV
DX,PCTL;8255控制字OUTDX,AL
STI
;启动0809IN0
LOP2:MOVDX,AD0动0809IN0
OUTDX,ALCALLDELAY
MOVAX,0FFH
MOVFLAG,AL标志符
CALLCHANGE用量纲转换模块
LEADX,MES1MOVAH,9INT21H
MOVDX,AD1IN1的值
INAL,DX
NEGAL变换
SHRAL,1MOVBL,AL
ANDAL,0F0H;A输;开中断;启;设;调;读;线性;显
INT21H
MOVAH,1;判断是否有按键按下INT16H
JZLOP2;无按键继续循环,有则退出
;退出模块
EXIT:CLI;关中断
MOVAX,0000H
MOVES,AXMOV
DI,INTR_IVADD;恢复INTR原中断处理程序入口偏移地址
MOVAX,IP_BAK
MOVES:[DI],AXADDDI,2
MOVAX,CS_BAK;恢复INTR原中断处理程序入口段地址MOVES:[DI],AX
MOVDX,INTR_OCW1MOV
AL,IM_BAK;恢复INTR原中断屏蔽寄存器的屏蔽字OUTDX,ALSTI;开中断
MOVAX,4C00H;退出系统
INT21H
第9页共13页
南京航空航天大学微机原理课程设计数据采集系统(中断法)
;量纲转换模块
CHANGEPROCMOVAL,IN0XORAH,AHMOVDL,51MOVDH,10DIVDLMOVGW,ALMOVAL,AHXORAH,AH
MULDHDIVDL
MOVSF,ALMOVAL,AHXORAH,AHMULDHDIVDLCMPAH,25JBLOP3ADDAL,1LOP3:
MOVBF,AL位
CALLDISP显示模块RETCHANGEENDP
;数码显示模块DISPPROC
MOVAL,GWXORAH,AHMOVSI,AXLEABX,DCTBLMOVAL,[BX+SI]ADDAL,80HMOVDX,3024HOUTDX,ALMOVDX,3020H
;存个位存十分位;存百分调用数码MOVAL,01HOUTDX,ALCALLDELAY
MOVAL,SFMOVSI,AX
MOVAL,[BX+SI]MOVDX,3024HOUTDX,ALMOVDX,3020HMOVAL,02HOUTDX,ALCALLDELAY
MOVAL,BFMOVSI,AX
MOVAL,[BX+SI]MOVDX,PB55OUTDX,ALMOVDX,PA55MOVAL,04HOUTDX,ALCALLDELAYRETDISPENDP
;中断服务子程序
MYISRPROCNEAR
PUSHAX;保护现场
PUSHBXPUSHCXPUSHDX
CLI;关中断
CMPFLAG,0FFHJZFLAG0
FLAG1:MOVDX,AD1;读IN1的值
INAL,DXMOVIN1,ALJMPINTEXIT
第10页共13页
;;南京航空航天大学微机原理课程设计数据采集系统(中断法)FLAG0:
MOVDX,AD0INAL,DX
MOVIN0,ALMOVDX,AD1OUTDX,ALCALLDELAY
MOVAX,0MOVFLAG,AL
INTEXIT:MOVDX,INTR_OCW2;发中断结束命令
MOVAL,20HOUTDX,ALMOVAL,20HOUT20H,AL
POPDX;恢复现场
POPCXPOPBXPOPAX
STI;开中断
IRET;返回主程序
MYISRENDP
CRT1PROC;在屏幕上显示一位16进制字符ADDAL,30HCMPAL,39HJBED0ADDAL,7D0:MOVDL,ALMOVAH,2INT21HRETCRT1ENDP
DELAYPROCNEAR;延时
PUSHCX
MOVCX,0FFFFHLOOP$POPCXRETDELAYENDP
CODEENDS
ENDSTART;全程序终
*************************************课程硬件结束与软件编程源程序结束。
课设答辩:提出的要求:
1.断开0832数据端,CS端,out端,IN1为什么有输出?
给出的答案:
修改程序:
第11页共13页南京航空航天大学微机原理课程设计数据采集系统(中断法)
主程序:
LEADX,MES1
MOVAH,9INT21H
MOVAL,IN1;读IN1的值
MOVBL,AL
ANDAL,0F0H;显示高位
MOVCL,4RORAL,CLCALLCRT1
MOVAL,BL;显示低位
ANDAL,0FH
CALLCRT1CRLF中断程序:
MOVDX,AD0
INAL,DXMOVIN0,ALNEGALADDAL,5SHRAL,1
MOVDX,3040H
OUTDX,ALMOVDX,AD1OUTDX,AL
LEADX,MES2MOVAH,9INT21H
MOVAL,IN0;读IN0的值
MOVBL,AL
ANDAL,0F0H;显示高位
MOVCL,4RORAL,CLCALLCRT1
MOVAL,BL;显示低位
ANDAL,0FH
CALLCRT1CRLF
心得体会:
通过对这程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在设计完成过程中通过和同学的交流,也增加了合作的技巧。通过查阅以下资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。
第12页共13页南京航空航天大学微机原理课程设计数据采集系统(中断法)
幸好平时做了很多实验,写了很多小程序。但这次是一个综合的程序,平时的很多程序都用到了。很多子程序的设计是固定的,因此可以直接从指导资料中调用,大多只需要修改几个参数就可以,这大大方便了我们的设计,为我们节省了很多的时间。
在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时,当我看书查资料不能解决时,这是去找同学讨论一下,收获很大,可以使很多问题迎刃而解,直到问题最终解决。
不可否认,本程序存在不少缺点和不足,但通过这次课程设计的却找出了自己在学习上的不足,对以后的工作也有指导作用。我相信在以后的学习中会克服这些不足,达到熟练掌握汇编语言的目的!
总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。感谢老师的悉心指导。
第13页共13页
友情提示:本文中关于《微机原理课程设计总结,手抄版》给出的范例仅供您参考拓展思维使用,微机原理课程设计总结,手抄版:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《微机原理课程设计总结,手抄版》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/730524.html
- 上一篇:计算机课程的总结体会
- 下一篇:微机原理课程设计总结