微机原理,可编程并行接口、七段数码管

微机原理,可编程并行接口、七段数码管

ID:38714654

大小:1.50 MB

页数:6页

时间:2019-06-18

微机原理,可编程并行接口、七段数码管_第1页
微机原理,可编程并行接口、七段数码管_第2页
微机原理,可编程并行接口、七段数码管_第3页
微机原理,可编程并行接口、七段数码管_第4页
微机原理,可编程并行接口、七段数码管_第5页
资源描述:

《微机原理,可编程并行接口、七段数码管》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、可编程并行接口一、实验目的掌握8255方式0的工作原理及使用方法。二、实验内容1.实验电路如图20,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。2.编程从8255C口输入数据,再从A口输出.三、编程提示1、8255控制寄存器端口地址28BHA口的地址288HC口的地址28AH2、参考流程图(见图21):ioportequ0d400h-0280hio8255aequioport+288hio8255bequioport+28bhio8255cequioport+28ahcodesegmentassumecs:codestart:

2、movdx,io8255b;设8255为C口输入,A口输出moval,8bhoutdx,alinout:movdx,io8255c;从C口输入一数据inal,dxmovdx,io8255a;从A口输出刚才自C口outdx,al;所输入的数据movdl,0ffh;判断是否有按键movah,06hint21hjzinout;若无,则继续自C口输入,A口输出movah,4ch;否则返回DOSint21hcodeendsendstart/************************//*可编程并行接口(一)*//**********************

3、**/#include#include#include"ApiEx.h"#pragmacomment(lib,"ApiEx.lib")voidmain(){BYTEdata;printf("--------------------EXP10_4_8255-0---------------------");printf("1.8255(PA0-PA7)===TPC(L0-L7)");printf("2.I/O(288-28F)===8255(CS)");printf("3.TPC(K0-K7)===8255

4、(PC0-PC7)");printf("Pressanykeytobegin!");getch();if(!Startup())/*打开设备*/{printf("ERROR:OpenDeviceError!");return;}printf("Pressanykeytoexit!");while(!kbhit())/*有键按下则退出*/{PortWriteByte(0x28b,0x8b);/*设8255为方式0,C口输入,A口输出*/PortReadByte(0x28a,&data);PortWriteByte(0x288,data);

5、/*将C口输入的数据自A口输出*/}Cleanup();/*关闭设备*/}七段数码管一、实验目的掌握数码管显示数字的原理二、实验内容静态显示:按图22连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。三、编程提示实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。datasegmentioportequ0d400h-0280hi

6、o8255aequioport+288hio8255bequioport+28bhleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1db0dh,0ah,'Inputanum(0--9h):',0dh,0ah,'$'dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,io8255b;使8255的A口为输出方式movax,80houtdx,alsss:movdx,offsetmesg1;显示提示信息movah,09hint

7、21hmovah,01;从键盘接收字符int21hcmpal,'0';是否小于0jlexit;若是则退出cmpal,'9';是否大于9jgexit;若是则退出subal,30h;将所得字符的ASCII码减30Hmovbx,offsetled;bx为数码表的起始地址xlat;求出相应的段码movdx,io8255a;从8255的A口输出outdx,aljmpsss;转SSSexit:movah,4ch;返回DOSint21hcodeends#include#include#include"ApiEx.h"#pragma

8、comment(lib,"ApiEx.lib")charled[10]={0x3f,0x06,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。