打印
[技术问答]

N76E003问题实在找不出来

[复制链接]
2372|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小石头e|  楼主 | 2018-4-16 23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "N76E003.h"
#include "intrins.h"

#define                A                P07
#define                B                P15
#define                C                P00
#define                D                P02
#define                E                P04
#define                F                P30
#define                G                P10
#define                DP        P01

#define                GG        P16
#define                SS        P17
#define                BB        P05

#define                GG1        P12
#define                SS1        P13
#define                BB1        P14

unsigned                char                xs_js;
unsigned                char                data_bw;
unsigned                char                data_sw;
unsigned                char                data_gw;
unsigned                char                data_bw1;
unsigned                char                data_sw1;
unsigned                char                data_gw1;

unsigned                int                        data_dy1;
unsigned                int                        data_dy;
unsigned                int                        data_ad;
unsigned                char                xs_delay;

unsigned                char                k;

void        dk_init()
{
CKEN=0x20;
CKSWT=0x00;
CKDIV=0x00;
CKCON=0x00;
P0M1=0x48;
P0M2=0x00;
P1M1=0x02;
P1M2=0x00;
P3M1=0x00;
P3M2=0x00;
}
void        tim0_init()
{
EA=0;
ET0=0;
TMOD=0x22;
TH0=0x64;
TL0=0x00;
TF0=0;
TR0=0;
       
ES=0;
ET1=0;
EX1=0;
EX0=0;
EADC=0;
EBOD=0;
       
WDCON=0x00;
ADCCON0=0x03;
ADCCON1=0x01;
}
void        dy_cl()
{
data_sw=data_dy/100;
data_gw=data_dy%100/10;
}
void        xs_cl()
{
GG=1;SS=1;BB=1;GG1=1;SS1=1;BB1=1;
switch(xs_js)
{
  case 0:BB=0;break;
        case 1:SS=0;break;
        case 2:GG=0;break;
        case 3:BB1=0;break;
        case 4:SS1=0;break;
        case 5:GG1=0;break;
}
A=0;B=0;C=0;D=0;E=0;F=0;G=0;DP=0;
switch(xs_js)
{
  case 0:if(data_bw==0){A=1;B=1;C=1;D=1;E=1;F=1;break;}
               else if(data_bw==1){B=1;C=1;break;}
                                 else if(data_bw==2){A=1;B=1;D=1;E=1;G=1;break;}
                                 else if(data_bw==3){A=1;B=1;C=1;D=1;G=1;break;}
                                 else if(data_bw==4){B=1;C=1;F=1;G=1;break;}
                                 else if(data_bw==5){A=1;C=1;D=1;F=1;G=1;break;}
                                 else if(data_bw==6){A=1;C=1;D=1;E=1;F=1;G=1;break;}
                                 else if(data_bw==7){A=1;B=1;C=1;break;}
                                 else if(data_bw==8){A=1;B=1;C=1;D=1;E=1;F=1;G=1;break;}
                                 else if(data_bw==9){A=1;B=1;C=1;D=1;F=1;G=1;break;}
        case 1:if(data_sw==0){A=1;B=1;C=1;D=1;E=1;F=1;DP=1;break;}
               else if(data_sw==1){B=1;C=1;DP=1;break;}
                                 else if(data_sw==2){A=1;B=1;D=1;E=1;G=1;DP=1;break;}
                                 else if(data_sw==3){A=1;B=1;C=1;D=1;G=1;DP=1;break;}
                                 else if(data_sw==4){B=1;C=1;F=1;G=1;DP=1;break;}
                                 else if(data_sw==5){A=1;C=1;D=1;F=1;G=1;DP=1;break;}
                                 else if(data_sw==6){A=1;C=1;D=1;E=1;F=1;G=1;DP=1;break;}
                                 else if(data_sw==7){A=1;B=1;C=1;DP=1;break;}
                                 else if(data_sw==8){A=1;B=1;C=1;D=1;E=1;F=1;G=1;DP=1;break;}
                                 else if(data_sw==9){A=1;B=1;C=1;D=1;F=1;G=1;DP=1;break;}
        case 2:if(data_gw==0){A=1;B=1;C=1;D=1;E=1;F=1;break;}
               else if(data_gw==1){B=1;C=1;break;}
                                 else if(data_gw==2){A=1;B=1;D=1;E=1;G=1;break;}
                                 else if(data_gw==3){A=1;B=1;C=1;D=1;G=1;break;}
                                 else if(data_gw==4){B=1;C=1;F=1;G=1;break;}
                                 else if(data_gw==5){A=1;C=1;D=1;F=1;G=1;break;}
                                 else if(data_gw==6){A=1;C=1;D=1;E=1;F=1;G=1;break;}
                                 else if(data_gw==7){A=1;B=1;C=1;break;}
                                 else if(data_gw==8){A=1;B=1;C=1;D=1;E=1;F=1;G=1;break;}
                                 else if(data_gw==9){A=1;B=1;C=1;D=1;F=1;G=1;break;}
        case 3:if(data_bw1==0){B=1;A=1;D=1;C=1;G=1;F=1;break;}
               else if(data_bw1==1){A=1;D=1;break;}
                                 else if(data_bw1==2){B=1;A=1;C=1;G=1;E=1;break;}
                                 else if(data_bw1==3){B=1;A=1;D=1;C=1;E=1;break;}
                                 else if(data_bw1==4){A=1;D=1;F=1;E=1;break;}
                                 else if(data_bw1==5){B=1;D=1;C=1;F=1;E=1;break;}
                                 else if(data_bw1==6){B=1;D=1;C=1;G=1;F=1;E=1;break;}
                                 else if(data_bw1==7){B=1;A=1;D=1;break;}
                                 else if(data_bw1==8){B=1;A=1;D=1;C=1;G=1;F=1;E=1;break;}
                                 else if(data_bw1==9){B=1;A=1;D=1;C=1;F=1;E=1;break;}
        case 4:if(data_sw1==0){B=1;A=1;D=1;C=1;G=1;F=1;DP=1;break;}
               else if(data_sw1==1){A=1;D=1;DP=1;break;}
                                 else if(data_sw1==2){B=1;A=1;C=1;G=1;E=1;DP=1;break;}
                                 else if(data_sw1==3){B=1;A=1;D=1;C=1;E=1;DP=1;break;}
                                 else if(data_sw1==4){A=1;D=1;F=1;E=1;DP=1;break;}
                                 else if(data_sw1==5){B=1;D=1;C=1;F=1;E=1;DP=1;break;}
                                 else if(data_sw1==6){B=1;D=1;C=1;G=1;F=1;E=1;DP=1;break;}
                                 else if(data_sw1==7){B=1;A=1;D=1;DP=1;break;}
                                 else if(data_sw1==8){B=1;A=1;D=1;C=1;G=1;F=1;E=1;DP=1;break;}
                                 else if(data_sw1==9){B=1;A=1;D=1;C=1;F=1;E=1;DP=1;break;}
        case 5:if(data_gw1==0){B=1;A=1;D=1;C=1;G=1;F=1;DP=1;break;}
               else if(data_gw1==1){A=1;D=1;break;}
                                 else if(data_gw1==2){B=1;A=1;C=1;G=1;E=1;break;}
                                 else if(data_gw1==3){B=1;A=1;D=1;C=1;E=1;break;}
                                 else if(data_gw1==4){A=1;D=1;F=1;E=1;break;}
                                 else if(data_gw1==5){B=1;D=1;C=1;F=1;E=1;break;}
                                 else if(data_gw1==6){B=1;D=1;C=1;G=1;F=1;E=1;break;}
                                 else if(data_gw1==7){B=1;A=1;D=1;break;}
                                 else if(data_gw1==8){B=1;A=1;D=1;C=1;G=1;F=1;E=1;break;}
                                 else if(data_gw1==9){B=1;A=1;D=1;C=1;F=1;E=1;break;}
}
xs_js++;
if(xs_js>5) xs_js=0;
}
void         delay(unsigned int z)
{
unsigned int x;
unsigned int y;
for(x=z;x>0;x--)
  for(y=500;y>0;y--);
}
void        main()
{
dk_init();
tim0_init();
while(1)
{
        data_dy=0;
        for(k=0;k<10;k++)
        {
   ADCS=1;
         while(ADCS !=1);
         data_ad=(ADCRH<<4)+ADCRL;
         data_dy=data_dy+data_ad;
  }
        data_dy=data_dy/10;
        data_dy=data_dy/3.91;
        if(data_dy>990)
        {
   data_dy=990;
  }
        xs_delay++;
        if(xs_delay>=20)
        {
         xs_delay=0;
   dy_cl();
  }
        delay(20);
  xs_cl();
}
}
沙发
小石头e|  楼主 | 2018-4-16 23:17 | 只看该作者
编译通过了,也烧录进去了,就是不运行。资料看了N 遍。

使用特权

评论回复
板凳
yiy| | 2018-4-16 23:36 | 只看该作者
你先找个例子,烧录看看

使用特权

评论回复
地板
yiy| | 2018-4-16 23:38 | 只看该作者
还有你的写法驱动数码管有问题,不会显示你要的数字的,只能显示一个笔画,很不科学

使用特权

评论回复
5
小石头e|  楼主 | 2018-4-16 23:58 | 只看该作者
首先谢谢回答,新塘的片子看了2天资料,我以前用PIC   STC   东软的    ,就这个新塘的 把我难住了点   实在搞不明白。
void         interrupt entrance()
{
if(T0IF)
{
  TMR0=0x04;
  T0IF=0;
  if(sz_mark)
  {
   time_4ms++;
   if(time_4ms>130)
   {
    time_4ms=0;
    led_sz=~led_sz;
   }
  }
  switch(xs_js)
  {
   case 0:PORTC=table[data_g];break;
   case 1:PORTC=table[data_s];break;
   case 2:PORTC=table[data_b];break;
  }
  disp_gw=1;
  disp_sw=1;
  disp_bw=1;
  switch(xs_js)
  {
   case 0:disp_gw=0;break;
   case 1:disp_sw=0;break;
   case 2:disp_bw=0;break;
  }
  xs_js++;
  if(xs_js>2) xs_js=0;
}
}

使用特权

评论回复
6
小石头e|  楼主 | 2018-4-17 00:02 | 只看该作者
yiy 发表于 2018-4-16 23:38
还有你的写法驱动数码管有问题,不会显示你要的数字的,只能显示一个笔画,很不科学 ...

可以实现  显示我想要的数字    进来送位码    然后送  段码    扫描 6位    间隔时间可以调整    用不来定时器  只能在主函数里面  实验下   奇怪了  昨天做的  2位显示的 直流表  0-99V 已经可以正常工作了   就有一个小问题  偶尔上电不工作  

使用特权

评论回复
7
heisexingqisi| | 2018-4-17 07:48 | 只看该作者
那就看看复位电路有没有问题

使用特权

评论回复
8
tianyiguchao| | 2018-4-17 09:58 | 只看该作者
看程序结构应该写程序时间不长,建议优化程序结构。数码管显示用定时器最好了。另外N76E003我用过不少了,还没有发现过问题。

使用特权

评论回复
9
小石头e|  楼主 | 2018-4-19 19:09 | 只看该作者
tianyiguchao 发表于 2018-4-17 09:58
看程序结构应该写程序时间不长,建议优化程序结构。数码管显示用定时器最好了。另外N76E003我用过不少了, ...

留个QQ 呗  帮我 看看 程序   谢谢

使用特权

评论回复
10
小石头e|  楼主 | 2018-4-19 19:11 | 只看该作者
tianyiguchao 发表于 2018-4-17 09:58
看程序结构应该写程序时间不长,建议优化程序结构。数码管显示用定时器最好了。另外N76E003我用过不少了, ...

就是不运行   感觉是 系统时钟没有   但看了  资料   也还是没有整明白

使用特权

评论回复
11
yiy| | 2018-4-20 19:18 | 只看该作者
你先用官方的例子跑一下看看。

使用特权

评论回复
12
zhuotuzi| | 2018-4-20 22:26 | 只看该作者
你能静态显示数字吗

使用特权

评论回复
13
dongliushui| | 2018-4-20 23:39 | 只看该作者
写的就挺乱的。

使用特权

评论回复
14
wanduzi| | 2018-4-22 18:14 | 只看该作者
代码写的也不是很规范。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝