实验一、LED显示控制、CA并行接口数码管显示控制实验.doc


文档分类:通信/电子 | 页数:约112页 举报非法文档有奖
1/112
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/112
文档列表 文档介绍
实验1LED显示控制、82C55A并行接口数码管显示控制一、实验目的和内容掌握三态门,锁存器构成简单I/O端口的原理及应用完成流水灯及其控制的编程实验进一步掌握8255的使用原理掌握动态LED数码显示的原理完成动态LED数码显示的编程实验(LED显示控制部分)二、实验电路及说明实验电路图1,2,3所示,74ALS273锁存器的输出控制LED发光管的亮暗(1:亮0:暗)74ALS273的CLK被一些地址线所控制,它的地址为60H(16进制)ADD7,ADD6,ADD5,ADD4,ADD3,ADD2,ADD1,ADD001100000只有这时7430与非门才输出低电平(八段LED是阴极型)在DOS下,它的真实地址为PCI接口板的I/O地址加上60H为真实地址。如PCI的I/O起始地址0为E000H,I/O起始地址1为E400H。74ALS273的地址为E460H。注意:PCI板卡分配了2块I/O空间,I/O空间0是分配给PCI板卡内部寄存器使用的,即9052专用,空间大小128BYTE。I/O空间1是分配给PCI板卡用户电路使用的,其大小为256BYTE。流水灯原理如下:K1、K2是八位拔动开关(位于区域F)的左边第1、2位。K1=K2=H发光管从上到下移位K1=L,K2=H发光管从下到上移位KI=H,K2=L发光管全部闪烁K1=K2=L-退出注:ON方向为L,OFF方向为HK1、K2为主板上J41数码拔动开关的1、2位。图1 图2 图3三、程序方框图开始提示初始化计数器,一个为0,另一个为8读K1、K2电平K1H,K2LK1L,K2HK1L,K2LK1H,K2H闪烁从下-上退出从上-下计数器==00FFH->IOADD00->IO地址计数器=0计数器加1延时返回入口N闪烁程序框图计数器减10FEH右移一位赋予TEMPTEMP取反TEMP输出到IO地址延时计数器==0计数器=8返回从上->下框图从上->下框图计数器减10FEH左移一位赋予TEMPTEMP输出到IO地址延时计数器==0计数器=8返回TEMP取反四、程序代码录入程序时,请特别注意”1”与英文字母”l”的区别,文件的扩展名为C,即文件名一定是??-??.C。在每个源程序的开头必须加上如下的注解,并按各人实际填写。/*源程序的文件名:实验序号(01-08)-实验组号(01-24).C实验名称:___________________________实验组号:___________________________学生姓名及学号:________________________*/#include<>#include<>#include“”intd1=0,m_bit=0x1;voidmain(){interr,rio,flagm;intm_k0();voidm_k1();voidm_k2();voidm_k3();err=findPCIcard();if(err!=0){printf("ThePCIcardisn'tfound!!!\n");flagm=0;}err=getPCIbase0();iobase0=iobase0&0xfffc;//从PCI配置空间读入的与地址空间有关的数据其bit0位为1,printf("IOBase0=%xH\n",iobase0);//表明此空间为IO空间参与PCI总线地址译码err=getPCIbase1();iobase1=iobase1&0xfffc;printf("IOBase1=%xH\n",iobase1);err=getPCImembase1();err=getPCImembase0();membase0=membase0+membase1<<16;//左移16位,将高位地址变换成双字中的高位字printf("MEMBase0=%lxH\n",membase0);err=getPCIIRQ();printf("PCIIRQ=%d\n",err);//////////////////////////////////ioadd1=ioadd1+iobase1;//获取步进电机驱动端口地址flagm=1;printf("PressK1andK2tolowtoexit.\n");//选择正、反转或退出do//主循环{rio=inportb(ioadd1);//从IO端口读入数据rio=rio&0x3;//保留低两位switch(rio)//判断数据并做相应处理{case0://为0时LED全亮 flagm=m_k0(); break;case1://为1时LED全部闪烁 m_k1(); break;case2://为2时LED从下到上循环点亮 m_k2(); break;case3://为3时LE

实验一、LED显示控制、CA并行接口数码管显示控制实验 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数112
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cai.li.bin
  • 文件大小6.28 MB
  • 时间2019-07-01