开始读取用户设定速度按公式转换成输出的数据0832进行数模转换成电压输出延时DATASEGMENTOUTPORTEQU0C800H;0832的端口地址,输出数据INPORTEQU0D000H;244的端口地址,读入数据DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVDX,INPORTINAL,DX;从244读入用户设定转速MOVDL,100HIMULDL;Di乘以256(带符号的乘)CWDMOVDX,500IDIVDX;Di乘以256除以500MOVBL,81HIMULBL;得到最后的D放入AX中MOVDX,OUTPORT;输出给0832OUTDX,ALDELAY:MOVCX,5000;延时一段时间后再循环LOOP$JMPSTART;循环采集给定速度并输出CODEENDSENDSTART注:所有运算在计算机中都是通过补码进行的,最后的结果D一定为一正数,补码与原码相同,故可直接输出给0832九、小结通过本次课程设计,使我对8086微机的在整体上有了一个重新的认识,是我知道了一个微型的计算机系统是如何在一起协调而又高效的工作的。在课堂上,我们学习的都是零散的知识,很少有时间能将整个所学的东西串起来好好体会,故自己对微机的工作原理还是停留在一个较为表象的认识上。经过本次课程设计,我发现了许多自己以前不曾注意的问题,比如CPU重启后是从FFFF0H这个地址开始读程序的,故储存程序的ROM的地址范围一定要包含这一地址,这是我们在划分存储器地址单元时需要注意到这一问题;又比如外设与数据总线相连时必须要加接口芯片,仅仅在CPU与数据总线加接口芯片是不够的,要注意外设之间的相互影响等。总之,本次课程设计对我来说是一次很好的对自己所学知识的检验,同时我也学会了更加细致,严谨的去分析问题,解决问题,这对我以后的学习生活都是大有裨益的。结论结论