在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1375|回复: 0

[原创] adc0808仿真代码

[复制链接]
发表于 2013-1-31 16:37:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x




  1. #include <reg52.h>#include <intrins.h>#define ad_con P2#define addata P0#define disdata P1#define uchar unsigned char#define uint unsigned  intuchar number=0x00;sbit ALE=P2^3;sbit START=P2^4;sbit OE=P2^5;sbit EOC=P3^7;sbit KEY1=P3^5;sbit KEY2=P3^6;sbit DISX=disdata^7;sbit FLAG=PSW^5;
  2. uchar code dis_7[11]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77}; uchar code scan_con[4]={0xfe,0xfd,0xfb,0xf7}; uchar data ad_data[8]= {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};uint data dis[5]={0x00,0x00,0x00,0x00,0x00};
  3. void delay1ms(uint t)  {        uint i,j;          for (i=0;i<t;i++)                 for (j=0;j<120;j++);  }
  4. void keytest()  {          if (KEY1==0)        {                FLAG=!FLAG;                while(KEY1==0);          }          if(FLAG==1)        {                if(KEY2==0)                   {                        number++;                     if(number==8)                            {                                number=0;                         }                       while(KEY2==0);                   }               }  }
  5. void scan()  {             uchar k,n;             int h;             if(FLAG==0)           {                       dis[3]=0x00;                     for(n=0;n<8;n++)                     {                                 dis[2]=ad_data[n]/51;                      dis[4]=ad_data[n]%51;                             dis[4]=dis[4]*10;                             dis[1]=dis[4]/51;                             dis[4]=dis[4]%51;                             dis[4]=dis[4]*10;                             dis[0]=dis[4]/51;                     for(h=0;h<500;h++)                           {                                           for(k=0;k<4;k++)                                   {                                         disdata=dis_7[dis[k]];                                      if(k==2)                                          {                                                 DISX=1;                                         }                                      P3=scan_con[k];                                         delay1ms(1);                                         P3=0xff;                                    }                          }                         dis[3]++;                               keytest();                    }             }             if(FLAG==1)             {                     dis[3]=number;             dis[2]=ad_data[n]/51;             dis[4]=ad_data[n]%51;                dis[4]=dis[4]*10;                 dis[1]=dis[4]/51;                 dis[4]=dis[4]%51;                 dis[4]=dis[4]*10;                 dis[0]=dis[4]/51;                 for(k=0;k<4;k++)                 {                               disdata=dis_7[dis[k]];                               if(k==2)                          {                                 DISX=0;                         }                               P3=scan_con[k];delay1ms(1);P3=0xff;                     }                     keytest();         } }
  6. void test()    {             uchar m;                uchar s=0x00;          ad_con=s;        for(m=0;m<8;m++)             {                                      START=1;_nop_();_nop_();START=0;                  _nop_();_nop_();_nop_();_nop_();                             while(EOC==0);                    OE=1;ad_data[m]=addata;OE=0;                   s++;ad_con=s;             }             ad_con=0x00; }
  7. main()    {             P0=0xff;     P2=0x00;             P1=0xff;             P3=0xff;             while(1)                 {                test();                  scan();                }}


复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-28 20:13 , Processed in 0.040588 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表