白色de炭 发表于 2013-3-29 20:26:04

新手求解....百思不得其解啊......

:(:(:(
写了好多次程序都点亮不了。求高手解答啊....给点希望我吧。。。

#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uchar);
uchar table[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0X00};
void main(void)
{
  uint i;
  DDRA=0XFF;
  PORTA=0XFF;
  DDRB=0XFF;
  PORTB=0XFF;
  
  while(1)
   {
     PORTA=0;
     for(i=0;i<9;i++)
      {
        PORTB=table;
  delay(20);
       }
    }
}
void delay(uchar x)
{
   uchar a,b;
   for(a=100;a>0;a--)
     for(b=x;b>0;b--);
}



究竟哪里错了?就是不亮?

请高手解答:随便点亮一段怎么点亮?:(:(:(:(
:(:(:(
:(:(:(
:(:(:(
:(:(:(

白色de炭 发表于 2013-3-29 20:41:38

:Q:Qzz没人啊 啊啊啊

箫天 发表于 2013-3-29 21:56:03

你的数码管是共阴还是共阳的?要选对,否则不可能亮。
电路中用的是PORTA和PORTC,初始化的怎么是PORTA和PORTB?

陈卓然 发表于 2013-3-29 22:16:09

新手 鼎

oszp1688com 发表于 2013-4-5 17:19:54

老大说的对   端口初始化就不对了  

ATmega16 发表于 2013-4-5 18:16:46

PORTB=table;   是什么意思?
  你只用了A 端口 和C  端口。为什么要把 数据用到B 端口。而且写的也不对!!!!                     
页: [1]
查看完整版本: 新手求解....百思不得其解啊......