资源描述:
《微机原理程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、;**********************;;*数/模转换实验1*;;*产生锯齿波*;;**********************;io0832aequ290hcodesegmentassumecs:codestart:movcl,0movdx,io0832alll:moval,cloutdx,aladdcl,10pushdxmovah,06h;判断是否有键按下movdl,0ffhint21hpopdxjzlll;若无则转LLLmovah,4ch;返回int21hcodeendsendstart;********************
2、**;;*数/模转换实验2*;;*产生正弦波*;;**********************;datasegmentio0832aequ290hSindb80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdhdb0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb80h,66h,4eh,38h,25h,15h,09h,04hDb00h,04h,09h,15h,25h,38h,4eh,66h;正弦波数据dataendscodesegmentassumecs:code,ds:datastart:m
3、ovax,datamovds,axll:movsi,offsetsin;置正弦波数据的偏移地址为SImovbh,32;一组输出32个数据lll:moval,[si];将数据输出到D/A转换器movdx,io0832aoutdx,almovah,06hmovdl,0ffhint21hjneexitmovcx,1delay:loopdelay;延时incsi;取下一个数据decbhjnzlll;若未取完32个数据则转llljmpllexit:movah,4ch;退出int21hcodeendsendstart;******************
4、**********;;*AD转换器2--示波器*;;*采集数据在屏幕是作图*;;****************************;io0809bequ299hcodesegmentassumecs:codestart:movax,0012h;设屏幕显示方式为VGA640X480模示int10hstart1:movax,0600hint10h;清屏andcx,0;cx为横坐标draw:movdx,io0809b;启动A/D转换器通道1outdx,almovbx,200;500;延时delay:decbxjnzdelayinal,dx;
5、读入数据movah,0movdx,368;dx为纵坐标subdx,axmoval,0ah;设置颜色movah,0ch;画点int10hcmpcx,639;一行是否满jzstart1;是则转startinccx;继续画点pushdxmovah,06h;是否有键按下movdl,0ffhint21hpopdxjedraw;无,则继续画点movax,0003;有恢复屏幕为字符方式int10hmovah,4ch;返回int21hcodeendsendstart;************************;;*8251串行通讯(自发自收)*;;**
6、**********************;datasegmentio8253aequ280hio8253bequ283hio8251aequ2b8hio8251bequ2b9hmes1db'youcanplayakeyonthekeybord!',0dh,0ah,24hmes2ddmes1dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,io8253b;设置8253计数器0工作方式moval,16houtdx,almovdx,io8253amoval
7、,52;给8253计数器0送初值outdx,almovdx,io8251b;初始化8251xoral,almovcx,03;向8251控制端口送3个0delay:callout1loopdelaymoval,40h;向8251控制端口送40H,使其复位callout1moval,4eh;设置为1个停止位,8个数据位,波特率因子为16callout1moval,27h;向8251送控制字允许其发送和接收callout1ldsdx,mes2;显示提示信息movah,09int21hwaiti:movdx,io8251binal,dxtestal,
8、01;发送是否准备好jzwaitimovah,01;是,从键盘上读一字符int21hcmpal,27;若为ESC,结束jzexitmovdx,io8251ainca