找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3377|回复: 7
打印 上一主题 下一主题
收起左侧

大神帮忙看一下!

[复制链接]
跳转到指定楼层
楼主
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar byte;
sbit io=P3^0;
void deply(uchar z);
sbit clk=P3^1;
uchar table[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
void sendbyte(byte)
{
        uchar num,c;
        num=table[byte];
        for(c=0;c<8;c++)
        {
                clk=0;
                io=num&0x01;
                clk=1;
                num=_cror_(num,1);
        }
}
void main()
{
        P2=0;
        deply(100);
        while(1)
        {        
                sendbyte(1);
                deply(100);
                P2=0xff;
         }
}
void deply(uchar z)
{
        uchar i,j;
        for(i=z;i<0;i--)
                for(j=500;j<0;j--);
}
用单片机控制74ls164驱动数码管怎么不会显示呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:58980 发表于 2014-3-16 09:49 | 只看该作者
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar byte;
sbit io=P2^6;
sbit clk=P2^7;
void deply(uchar z);

uchar table[]={        0x3f ,  0x06 , 0x5b ,  0x4f ,
        0x66 ,  0x6d , 0x7d ,  0x07 ,
        0x7f ,  0x6f , 0x77 ,  0x7c ,
  
        0x39 ,  0x5e , 0x79 ,  0x71 };
void sendbyte(byte)
{
         uchar num,c;
         num=table[byte];
         for(c=0;c<16;c++)
         {
                 clk=0;
                 io=num&0x01;
                 clk=1;
                 num=_cror_(num,1);
                                                                P0=table[num];
                                                                        deply(1000);
         }
}
void main()
{
        
                                io=0;
                                 P0=1^0;
                                io=1;
         while(1)
         {        
                 sendbyte(1);
                 deply(1000);
               
          }
}
void deply(uchar z)
{
         uchar i,j;
         for(i=z;i>0;i--)
                 for(j=500;j>0;j--);
}
回复

使用道具 举报

板凳
ID:58980 发表于 2014-3-16 09:51 | 只看该作者
段选位选,控制P2 6、7位。还有循环for函数里,应该是>号。应为i、j <0;在for里死循环。
回复

使用道具 举报

地板
ID:59706 发表于 2014-3-16 17:21 | 只看该作者
葛新华 发表于 2014-3-16 09:49
#include
#include
#define uint unsigned int

P0=table[num];
还有这个                       io=0;
                                 P0=1^0;
                                io=1;
看不懂是干什么的?
回复

使用道具 举报

5#
ID:59706 发表于 2014-3-16 17:22 | 只看该作者
葛新华 发表于 2014-3-16 09:51
段选位选,控制P2 6、7位。还有循环for函数里,应该是>号。应为i、j <0;在for里死循环。

用164的时候是不是要把它的table表的每个数的高位和地位互换?
回复

使用道具 举报

6#
ID:59648 发表于 2014-3-17 10:15 | 只看该作者
貌似楼上是乱回答的 。所有的程序都要结合电路图来看。单拿出程序没有意义
回复

使用道具 举报

7#
ID:59706 发表于 2014-3-17 20:15 | 只看该作者
烛骨前行 发表于 2014-3-17 10:15
貌似楼上是乱回答的 。所有的程序都要结合电路图来看。单拿出程序没有意义


asd5.png (20.22 KB, 下载次数: 197)

asd5.png
回复

使用道具 举报

8#
ID:59706 发表于 2014-3-17 20:18 | 只看该作者

我是个菜鸟,自己做着练习的,帮忙看一下,只要看看74ls164这边的就好啦,谢谢啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表