资源描述:
《东北大学秦皇岛分校微型接口与技术实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、微型计算机接口技术实验报告学号:213****姓名:提交日期:2016-4-22成绩:东北大学秦皇岛分校计算机与通信工程学院2016【实验编号】1【实验名称】实验三可编程定时器计数器8253【实验内容】1.可编程定时器计数器8253(一)实验说明实验原理图:东北大学秦皇岛分校计算机与通信工程学院第25页实验流程图:ASM程序:ioportequ0d400h-0280hio8253aequioport+280hio8253bequioport+281hio8253cequioport+283hcodesegmentassumecs:codestart:movdx,io8253
2、c;向8253写控制字moval,36h;使0通道为工作方式3outdx,almovax,1000;写入循环计数初值1000movdx,io8253aoutdx,al;先写入低字节moval,ahoutdx,al;后写入高字节movdx,io8253cmoval,76h;设8253通道1工作方式2outdx,al东北大学秦皇岛分校计算机与通信工程学院第25页movax,1000;写入循环计数初值1000movdx,io8253boutdx,al;先写低字节moval,ahoutdx,al;后写高字节movah,4ch;程序退出int21hcodeendsendstartCP
3、P程序:/******************************//*可编程定时器/计数器(二)*//******************************/#include#include#include"ApiEx.h"#pragmacomment(lib,"ApiEx.lib")voidmain(){printf("--------------------EXP9_3_8253_2---------------------");printf("1.8253(CLK0)===(1MHz)or(2MHz)");pri
4、ntf("2.TPC(+5V)===8253(GATE0,GATE1)");printf("3.8253(OUT0)===8253(CLK1)");printf("4.8253(OUT1)===LJB(Ui)");printf("5.I/O(280-287)===8253(CS)");printf("Pressanykeytobegin!");getch();if(!Startup())/*打开设备*/{printf("ERROR:OpenDeviceError!");return;}PortWriteByte(0x283,0x36);/*写方式
5、字通道0方式3*/PortWriteByte(0x280,1000%256);/*送计数初值*/PortWriteByte(0x280,1000/256);PortWriteByte(0x283,0x76);/*设置计数器1方式字*/PortWriteByte(0x281,1000%256);/*送计数初值*/PortWriteByte(0x281,1000/256);Cleanup();/*关闭设备*/printf("Pressanykeytoexit!");getch();}东北大学秦皇岛分校计算机与通信工程学院第25页2.可编程定时器计数器8253(二)实验说明:实验
6、原理图:东北大学秦皇岛分校计算机与通信工程学院第25页实验流程图:东北大学秦皇岛分校计算机与通信工程学院第25页ACM程序:ioportequ0d400h-0280hio8253aequioport+283hio8253bequioport+280hcodesegmentassumecs:codestart:moval,14h;设置8253通道0为工作方式2,二进制计数movdx,io8253aoutdx,almovdx,io8253b;送计数初值为0FHmoval,0fhoutdx,allll:inal,dx;读计数初值calldisp;调显示子程序pushdxmovah
7、,06hmovdl,0ffhint21hpopdxjzlllmovah,4ch;退出int21hdispprocnear;显示子程序pushdxandal,0fh;首先取低四位movdl,alcmpdl,9;判断是否<=9东北大学秦皇岛分校计算机与通信工程学院第25页jlenum;若是则为'0'-'9',ASCII码加30Hadddl,7;否则为'A'-'F',ASCII码加37Hnum:adddl,30hmovah,02h;显示int21hmovdl,0dh;加回车符int21hmovdl,0ah;加换行符int