微机原理,可编程并行接口、七段数码管.doc_第1页
微机原理,可编程并行接口、七段数码管.doc_第2页
微机原理,可编程并行接口、七段数码管.doc_第3页
微机原理,可编程并行接口、七段数码管.doc_第4页
微机原理,可编程并行接口、七段数码管.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可编程并行接口一、实验目的 掌握8255方式0的工作原理及使用方法。二、实验内容 1实验电路如图20,8255C口接逻辑电平开关K0K7,A口接LED显示电路L0L7。 2. 编程从8255C口输入数据,再从A口输出.三、编程提示 1、8255控制寄存器端口地址 28BHA口的地址 288H C口的地址 28AH2、参考流程图(见图21):ioportequ 0d400h-0280hio8255aequ ioport+288hio8255bequ ioport+28bhio8255cequ ioport+28ahcode segment assume cs:codestart: mov dx,io8255b ;设8255为C口输入,A口输出 mov al,8bh out dx,alinout: mov dx,io8255c ;从C口输入一数据 in al,dx mov dx,io8255a ;从A口输出刚才自C口 out dx,al ;所输入的数据 mov dl,0ffh ;判断是否有按键 mov ah,06h int 21h jz inout ;若无,则继续自C口输入,A口输出 mov ah,4ch ;否则返回DOS int 21hcode ends end start/*/* 可编程并行接口(一) */*/#include #include #include ApiEx.h#pragma comment(lib,ApiEx.lib)void main() BYTEdata;printf(-EXP10_4_8255-0-n);printf(1. 8255 (PA0-PA7) = TPC (L0-L7)n);printf(2. I/O (288-28F) = 8255 (CS)n);printf(3. TPC (K0-K7) = 8255 (PC0-PC7)n);printf(Press any key to begin!nn);getch();if(!Startup()/*打开设备*/printf(ERROR: Open Device Error!n);return;printf(Press any key to exit!);while(!kbhit()/*有键按下则退出*/PortWriteByte(0x28b,0x8b);/*设8255为方式0,C口输入,A口输出*/PortReadByte(0x28a,&data); PortWriteByte(0x288,data);/*将C口输入的数据自A口输出*/ Cleanup();/*关闭设备*/七段数码管一、实验目的 掌握数码管显示数字的原理二、实验内容 静态显示:按图22连接好电路,将8255的A口PA0PA6分别与七段数码管的段码驱动输入端a相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(09),在七段数码管上显示出来。三、编程提示实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。data segmentioportequ 0d400h-0280hio8255aequ ioport+288hio8255bequ ioport+28bhled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1 db 0dh,0ah,Input a num (0-9h):,0dh,0ah,$data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8255b ;使8255的A口为输出方式mov ax,80hout dx,alsss: mov dx,offset mesg1 ;显示提示信息mov ah,09hint 21hmov ah,01 ;从键盘接收字符int 21hcmp al,0 ;是否小于0jl exit ;若是则退出cmp al,9 ;是否大于9jg exit ;若是则退出sub al,30h ;将所得字符的ASCII码减30Hmov bx,offset led ;bx为数码表的起始地址xlat ;求出相应的段码mov dx,io8255a ;从8255的A口输出out dx,aljmp sss ;转SSSexit: mov ah,4ch ;返回DOSint 21hcode ends#include#include#include ApiEx.h#pragma comment(lib,ApiEx.lib)char led10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/*上面为从0-9对应的段码表*/void main()intout;if(!Startup()/*打开设备*/printf(ERROR: Open Device Error!n);return; PortWriteByte (0x28b,0x80);/*设8255A口C口输出*/ printf(nInput a number (0-9),other key to exit!:n);/*显示提示*/ while(true)out = getch();if(out0x39) break;printf(%cn,out);PortWriteByte(0x2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论