久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2110|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

在做數(shù)字頻率計(jì)設(shè)計(jì),按書上代碼,編譯的時(shí)候找不到頭文件

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主



#ifndef INCLUDE_H
#define INCLUDE_H
#include "AT89X51.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define _BV(x)       (i<<(x))
#define GET_BIT(x,y)   (((x)&(1<<(y)))==0?0:1)
#define SET_BIT(x,y)   ((x)|=(0x0001<<(y)))
#define CLR_BIT(x,y)    ((x)&=~(0x0001<<(y)))
#define LET_BIT(x,y,z)    ((x)=(x)&(~(0x0001<<(y)))|(z)<<(y))
#define F_CPU           11059200UL
#define sei()           (EA=1)
#define cli()           (EA=0)
#endif

#include "target.h"
#include "led.h"
uchar displayBuff[4]={'0','0','0','0'};
const uchar displayMode=0x00;

void main()
{
   uint get_fre;
   target_init();
   init_led();
   sei();
   while()
   {
     get_fre=get_fre_number();
          if(get_fre/1000<0x0A)
          {
            displayBuff[0]=get_fre/1000+'0';
          }
          displayBuff[1]=(get_fre/100)%10+'0';
         displayBuff[2]=(get_fre%100)/10+'0';
          displayBuff[3]=get_fre%10+'0';
         ledSweepDisplay(displayBuff,displayMode,0x04);
        }
}

#include "Include.h"
#ifndef LED_H
#define LED_H 1
  #ifndef LED_GLOBAL
    #define LED_EXT extern
  #else
    #define LED_EXT
  #endif
  #define LED   P0
  sbit LED_CS1=P2^0;
  sbit LED_CS2=P2^1;
  sbit LED_CS3=P2^2;
  sbit LED_CS4=P2^3;
  enum SEG_DISPLAY_MOD{DIGTAL=0x00,CHARACTER=0x01};
  #ifdef LED_GLOBAL
     uchar segLedCode[10]={0x7e,0x06,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x73};
  #endif
  LED_EXT void init_led(void);
  LED_EXT void ledWrite(uchar c,uchar n,uchar mod);
  LED_EXT void ledSweepDisplay(uchar *segCode,uchar segCodeMod,uchar segNumber);
  #endif

#define LED_GLOBAL 1
#include "led.h"
void delay_us(uint us)
{
   uint i;
   while(us--)
   {
     for(i=0;i<100;i++);
   }
}
void init_led(void)
{
   LED=segLedCode[0];
   LED_CS1=0;
   LED_CS2=0;
   LED_CS3=0;
   LED_CS4=0;
}
void ledWrite(uchar c,uchar n,uchar mod)
{
   if(CHARACTER==mod)
   {
     LED=c;
   }
   else if(DIGITAL==mod)
       {
              if((c-'0')<0x0a)
                  {
                    LED=segLedCode[c-'0'];
                  }
                  else
                  {
                     LED=segLedCode[0];
                  }
                }

switch(n)
{
      case 0x01:
          {
            LED_CS1=0;
                delay_us(10);
                LED_CS1=1;
                break;
          }
          case 0x02:
          {
            LED_CS2=0;
                delay_us(10);
                LED_CS2=1;
                break;
          }
          case 0x03:
          {
            LED_CS3=0;
                delay_us(10);
                LED_CS3=1;
                break;
          }
          case 0x04:
          {
            LED_CS4=0;
                delay_us(10);
                LED_CS4=1;
                break;
          }
          default:
            break;
}

}
void ledSweepDisplay(uchar *segCode,uchar segCodeMod,uchar segNumber)
{
     uchar segCount;
         for(segCount=0;segCount<segNumber;segCount++)
         {
           if(segCodeMod&0x01)
           {
             ledWrite(segCode[segCount],segCount+1,CHARACTER);
           }
           else
           {
             ledWrite(segCode[segCount],segCount+1,DIGITAL);
           }
           segCodeMod=segCodeMod>>1;
         }
}


#ifndef TARGET_H
#define TARGET_H 1
#include "Include.h"
#ifndef TARGET_GLOBAL
   #define TARGET_EXT extern
#else
  #define TARGET_EXT
#endif
TARGET_EXT void timer0_init(void);
TARGET_EXT void int0_init(void);
TARGET_EXT void target_init(void);
TARGET_EXT uint get_fre_number(void);
#endif

#define TARGET_GLOBAL 1
#include "target.h"
uint timer0count;
uint pulseCount;
uint pulseCountTemp;
void timer0_init(void)
{
   TMOD|=0x01;
   TH0=0xFC;
   TL0-0x18;
   ET0=1;
   IP=0x02;
   TR0=1;
}
void int0_init(void)
{
   EX0=1;
   IT0=1;
}
void target_init(void)
{
  timer0_init();
  int0_init();
  timer0Count=0;
  pulseCount=0;
  pulseCountTemp=0;
}
void T0_overflow(void) interrupt 1
{
  TH0=0xFC;
  TL0=0x18;
  cli();
  if(timer0Count<1000)
    timer0Count++;
  else
  {

         pulseCountTemp=pulseCount-pulseCount/(uint)36;
          pulseCount=0;
         timer0Count=0;
  }
  sei();
}
void int0(void) interrupt 0
{
   pulseCount++;
}
uint get_fre_number(void)
{
  return pulseCountTemp;
}
         

QQ截圖20171104092336.png (80.42 KB, 下載次數(shù): 54)

QQ截圖20171104092336.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:245896 發(fā)表于 2017-11-4 09:28 | 只看該作者
剛學(xué)單片機(jī),謝謝!
回復(fù)

使用道具 舉報(bào)

板凳
ID:61135 發(fā)表于 2017-11-4 11:27 | 只看該作者
#include "AT89X51.h"換成#include <reg52.h>
回復(fù)

使用道具 舉報(bào)

地板
ID:213173 發(fā)表于 2017-11-5 19:23 | 只看該作者
電子小學(xué)生 發(fā)表于 2017-11-4 09:28
剛學(xué)單片機(jī),謝謝!

這些代碼應(yīng)該是幾個(gè)C文件和幾個(gè)H文件混在一起,需要分開寫成模塊化工程文件。
回復(fù)

使用道具 舉報(bào)

5#
ID:245896 發(fā)表于 2017-11-5 23:06 | 只看該作者
lq3698 發(fā)表于 2017-11-4 11:27
#include "AT89X51.h"換成#include

換了不行
回復(fù)

使用道具 舉報(bào)

6#
ID:245896 發(fā)表于 2017-11-5 23:07 | 只看該作者
wulin 發(fā)表于 2017-11-5 19:23
這些代碼應(yīng)該是幾個(gè)C文件和幾個(gè)H文件混在一起,需要分開寫成模塊化工程文件。

分開編譯成功后數(shù)碼管又亂碼了...
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一级黄色绿像片 | 在线国产视频 | 日韩视频在线免费观看 | 99精品久久久 | 久久尤物免费一区二区三区 | 日韩欧美亚洲 | 亚洲高清在线观看 | 亚洲 欧美 日韩 在线 | 97天天干 | 北条麻妃99精品青青久久 | 国产日韩精品久久 | 在线观看毛片网站 | 中文字幕在线观看日韩 | 欧美一区2区三区4区公司二百 | 宅女噜噜66国产精品观看免费 | 日韩久久久久 | 国产特黄一级 | 亚洲综合视频一区 | 久久成人免费观看 | 美女黄网 | 国产99精品 | 91人人爽 | 成人精品国产一区二区4080 | 午夜精品| 国产综合av | 午夜影视免费片在线观看 | 全免费a级毛片免费看视频免 | 欧美一区二区大片 | 久久99精品久久久久久国产越南 | 嫩草影院网址 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 99热视 | 毛片一区二区 | 国产欧美精品一区二区三区 | av男人的天堂在线 | 欧美中文一区 | 亚洲精品成人在线 | 中文字幕国产视频 | 亚洲精品国产电影 | 国产在线观看一区二区三区 | 四虎成人精品永久免费av九九 |