《并行接口实验优秀课件.ppt》由会员分享,可在线阅读,更多相关《并行接口实验优秀课件.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、并行接口实验第1页,本讲稿共17页实验目的 熟悉并行接口电路,掌握并行接口芯片8255A的应用及其编程技术。第2页,本讲稿共17页实验内容通过对8255芯片的编程,使得实验台上的显示灯(发光二极管)轮流交替发光。具体过程如下:1.按下开关SW1时,显示灯朝一个方向循环点亮,按下开关SW4时,显示灯改变方向循环点亮。2.按下开关SW1时,显示灯朝一个方向循环点亮;再次按下开关SW1时,显示灯改变方向循环点亮。第3页,本讲稿共17页实验原理将8255设置工作在“A组方式0”下(A口输出/C口输入),PA0-PA7输出信号控制显示灯顺序点亮,PC0和PC7输入信号控制显示灯点亮的方向。PA0-PA7
2、输出的一个8位二进制数值决定了显示灯点亮顺序和方向。例如输出的二进制数是1000,0000B(0111,1111B)时,控制左(右)边第1个灯亮;输出值是0100,0000(1011,1111B)时,控制左(右)边第2个灯亮,依次类推。第4页,本讲稿共17页实验中的相关硬件配置1.用导线将8255芯片的PA0-PA7端口与显示灯L1-L8连接。2.用导线将8255芯片的PC0/PC7端口与开关SW1/SW4连接。3.模块电源JP7(L区)跳接。4.用导线将74LS245(M区U102)的OE#与地(GND)连接。第5页,本讲稿共17页8255端口说明 8255提供A、B、C 三个数据端口和一个
3、命令端口进行并行数据的输入/输出和控制,这些端口对应的端口地址分别是:A端口:300H B端口:301H C端口:302H 命令口:303H 选择不同的工作方式,可对端口进行不同的配置。第6页,本讲稿共17页8255工作方式说明 8255有3种工作方式:方式0、方式1、方式2。在方式0下8255提供:两个8位端口(PA0-PA7和PB0-PB7)两个4位端口(PC0-PC3和PC4-PC7)任何一个端口都可用做输入或或输出(单向),由CPU发出简单的I/O指令(IN、OUT)来进行读/写。习惯上将A口和B口作为数据输出口,将C口作为控制或状态输入口。第7页,本讲稿共17页8255命令字说明1指
4、定8255工作方式的控制字(303H)标志位=1时,用于工作方式的选择=0时,用作按位置位/复位控制第8页,本讲稿共17页8255命令字说明标志位=0时,用作按位置位/复位控制.当D0=1时,D3D1的输出有效,反之无效。28255 C口实现按位置位/复位功能的控制字(303H)第9页,本讲稿共17页8255编程要领18255初始化置8255为方式0(A口输出,C口输入):mov dx,303h ;命令口地址-DXmov al,89h ;10001001B(方式字)-ALout dx,al ;方式字-命令口其中方式字10001001B表示:1.8255工作在方式0 2.A口和B口为输出3.C口
5、高4位和低4为分别为输入第10页,本讲稿共17页8255编程要领2通过8255的A口输出数据控制显示灯亮:mov dx,300h ;数据口地址-DXmov al,11111110B ;显示数据-ALout dx,al ;显示数据-命令口其中,显示数据11111110B(00000001B)为初始显示数据,然后使用循环移位来控制数据的变化,使得显示灯循环点亮。第11页,本讲稿共17页8255编程要领3检测8255的C口输入,判断按键开关是否按下:L:MOVDX,302H;C口地址-DXINAL,DX;读取C口数据ANDAL,01H;检测数据是否=00000001BJNZL;检测零标志位 被检测数
6、据与C口所接的开关相关:如PC0接SW1,则测试数据是否=00000001B如PC7接SW4,则测试数据是否=10000000B第12页,本讲稿共17页8255编程要领4 由于显示灯的闪亮速度慢于程序执行速度,所以在每次向A口输出数据后都应该进行一个小的延时,延时用一段空循环程序来实现,如:MOV BX,0FFFFH;循环次数 DELAY:DEC BX;延时 JNZ DELAY 或使用LOOP语句第13页,本讲稿共17页编写和调试程序要领1.程序按功能分段编写并调试2.功能可划分为:8255初始化、读C口状态并进行判断、从A口输出数据及数据左移位、从A口输出数据及数据右移位、时间延迟等几部分。
7、3.可在程序中适当加入提示信息,这样可以帮助分析程序是否按设计的思路运行。第14页,本讲稿共17页实验报告要求一.实验报告格式1.实验目的2.实验内容3.实验原理(含原理图和程序流程框图)4.程序代码5.实验体会二.使用A4纸打印,封面包括实验名称、实验者姓名、实验时间等第15页,本讲稿共17页附加实验:步进电机控制实验步进电机控制实验中的项序表及使用:1.项序表(控制电机的正反转方向和转动角度)PTABLE1DB05H,15H,14H,54H,50H,51H,41H,45H;顺时针相序表PTABLE2DB45H,41H,51H,50H,54,14H,15H,05H;逆时针相序表2.项序表使用LEASI,PTABLE1;装入相序表地址(正转)MOVDX,300H;300H=PA口MOVAL,BYTEPTRSI;取相序表中一个数据OUT DX,AL;驱动电机转动第16页,本讲稿共17页指令test与and的区别1.test只改变标志位,例如:testal,0ffh若zf=1,即零标志位为1,表示al为全零and一样2.但是若不是与0ffh与,and会改变操作数,test则不会例如:testal,1若zf=0则al的第0位为0反之为1但al中的内容不会变如果用andal,1则al中的内容会被改变为0或1第17页,本讲稿共17页