找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求助大神帮我看一下这个da转换的程序

[复制链接]
跳转到指定楼层
楼主
以下是程序问题可能出在启动ad的那部分

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit dot=P1^7;
sbit EOC=P3^0;
sbit OE2=P3^5;
sbit clock=P3^1;
sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
sbit key1=P2^4;
sbit key2=P2^5;
sbit key3=P2^6;
sbit P2_7=P2^7;
sbit key4=P3^3;
sbit key5=P3^2;
sbit ALE=P3^4;
sbit wr=P3^6;
sbit rd=P3^7;
uchar aa,bb,cc,dd,tongdao,getdate,date;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uint x)           //延时ms
{
        uchar i,j;
        for(i=x;i>0;i--)
                for(j=125;j>0;j--);
}
void init()                   //定时器初始化
{
        TMOD=0x01;
        TH0=(65536-20)/256;
        TL0=(65536-20)%256;
        EA=1;
        ET0=1;
        TR0=1;
        tongdao=0x00;          //通道ABC为低

}
void display()
{
        P2_3=0;
        P1=table[dd];           //显示第四位数码管
        dot=1;
        delay(1);
        P1=0x00;
        P2_3=1;

        P2_2=1;
        P1=table[cc];
        delay(1);
        P1=0x00;
        P2_2=0;

        P2_1=1;
        P1=table[bb];
        delay(1);
        P1=0x00;
        P2_1=0;

        P2_0=1;
        P1=table[aa];                //显示第一位
        delay(1);
        P1=0x00;
        P2_0=0;

               
}
void ad_start()                  //启动ad
{
        ALE=0;
        OE2=0;
        P0=tongdao;
        _nop_();
        OE2=1;
        ALE=1;
        P2_7=1;
        _nop_();
        P2_7=0;                
       
        while(EOC==0);
        rd=0;
        date=P0;
        _nop_();
        rd=1;

        getdate=date*(5000/255);
        aa=getdate%10;
        bb=getdate%100/10;
        cc=getdate/100%10;
        dd=getdate/1000;



}
void keyscan()
{
        if(key1==0)
        {
                delay(10);
                if(key1==0);
                {
                        tongdao=0x00;
                }
        }       

        if(key2==0)
        {
                delay(10);
                if(key2==0);
                {
                        tongdao=0x01;
                }
        }

        if(key3==0)
        {
                delay(10);
                if(key3==0);
                {
                        tongdao=0x02;
                }
        }

        if(key4==0)
        {
                delay(10);
                if(key4==0);
                {
                        tongdao=0x03;
                }
        }
}
void main()
{
        init();
        while(1);
        {
               
                ad_start();
                keyscan();
                display();
        }
}
void timer() interrupt 1
{
        TH0=(65536-20)/256;
        TL0=(65536-20)%256;
        clock=~clock;
               
}



9%B]G{OH3L)L0KGM@EW67WF.png (8.28 KB, 下载次数: 174)

9%B]G{OH3L)L0KGM@EW67WF.png

AV6768AOLNNEM`83$4QN$LC.png (33.77 KB, 下载次数: 180)

AV6768AOLNNEM`83$4QN$LC.png

CYL30D57Q_M6U@3SS)CPR6B.png (35.79 KB, 下载次数: 168)

CYL30D57Q_M6U@3SS)CPR6B.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:72065 发表于 2015-1-20 22:04 | 只看该作者
在线等大神答复
回复

使用道具 举报

板凳
ID:51269 发表于 2015-1-21 03:17 来自手机 | 只看该作者
这个程序现在运行是什么结果啊
回复

使用道具 举报

地板
ID:72065 发表于 2015-1-21 08:42 | 只看该作者
这是运行的各个管脚电平图,
eoc,p2.7,一直是高电平

9RI$F5%}T3DJ[RWICDS_W$S.png (25.06 KB, 下载次数: 157)

9RI$F5%}T3DJ[RWICDS_W$S.png

%QGBE[``7)5XZ3E~H@M]TRQ.png (30.2 KB, 下载次数: 163)

%QGBE[``7)5XZ3E~H@M]TRQ.png
回复

使用道具 举报

5#
ID:72065 发表于 2015-1-21 08:43 | 只看该作者
xiaoliu 发表于 2015-1-21 03:17
这个程序现在运行是什么结果啊

运行图在楼下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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