• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

51单片机WR和RD的自动时序问题。

爱玲 2014-09-02 浏览量:4128

问题是这样的,单片机的P2口P2.5/P2.6/P2.7连接了74LS138译码器,译码器y7和单片机P3.6WR引脚通过或非门74LS02,输出DIS_CLK。这个DIS_CLK作为74LS164串入并出的时钟线,74LS164的数据输入端1和2连接单片机的P0.0。。。74LS164驱动一个数码管(共阳数码管)。。。我需要通过单片机总线和WR自动产生时序的方法通知数码管。如何编程,请大神指点。

sbit dat=P0^0;
#define dis_play_addrece 0xe000//通过译码器得到的y7地址

unsigned char xdata *reg_add;//定义一个指针,得到地址以及给地址写数据

void out_simuseri(uchar data_buf)//
 { 
 uchar i,s;//
 reg_add=dis_clk_addrece;//把地址给指针,选通y7,置y7为0.
 s=data_buf;//传送过来,需要在数码管上显示的数字
 
    for(i=0;i<8;i++)//一位一位传,共传八次,
    {
 dat=s&0x01;//P0.0需要传的数据
 *reg_add=dat;//把需要传的数据写入0XE0地址中,是不是在写的时候,WR时钟就自动置0 了???
     s=s>>1; 
     }
}//这样DIS_CLK就可以从低到高变化,164就能移动数据了???
请大神帮忙分析下,程序是有错的。。。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:6

相关问题

问题达人换一批

51单片机WR和RD的自动时序问题。