| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2680 人关注过本帖
标题:这又是什么鬼错了
只看楼主 加入收藏
天际之麟
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-10-28
结帖率:0
收藏
 问题点数:0 回复次数:2 
这又是什么鬼错了
#include <reg51.h>   
#define uint8 unsigned char
#define uint16 unsigned int     
#define TIMER0_HIGHT0xDC
#define TIMER0_LOW 0x00
sbit keyin=P3^1;
bit starttest;
uint16 cnt10ms; //10ms计数器 这行改了,怎么还错,是显示这里错啊,为嘛改了不得,
uint8 cnt1s;
uint8 Pulsecnt;
uint8 Pulsenum;
uint8 codeDispCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0X80,0X90};
void Init_Extint(void);
void TimerInitProc();
void initvar();
void Init_Sustem(void);
void Display(uint8 chose_dat,uint8 dat);
void ShowDisp(uint8 tPulsenum,uint8 tPulsecnt,uint8 tcntls);
void DelayMs(uint8 Ms);
void main()
{
  Init_System();
  while(1)
  {
  ShowDisp(Pulsenum,Pulsencnt,cntls);
  }
  }
  /*************************************
  ***********/
  void Ext0_interrupt(void)interrupt0
  {
  if(starttest==1)
  {
  Pulsencnt++;
  }
  }
  void Timer0IntProc()interrupt1
  {
  TH0=TIMER0_HIGHT;
  TL0=TLMER0_LOW;
  if(++cnt10ms==100)
  {
  cnt10ms=0;
  if(starttest==1)
  {
  if(++cnt1s==60)
  {
  starttest=0;
  Pulsenum=Pulsecnt;
  }
  }
  }
  if(keyin==0)
  {
  if(starttest==1)
  {
  cnt10ms=0;
  cnt1s=0;
  Pulsecnt=0;
  }
  else
  {
  starttest=1;
  cnt10ms=0;
  }
  }
  }
  void Init_Extint(voi)
  {
  IT0=1;
  IE0=0;
  EX0=1;
  }
  void TimerInitProc()
  {
  TMOD &=0xF0;
  TMOD |=0X01;
  TH0=TIMER0_HIGHT;
  TL0=TMER0_LOW;
  TR0=1;
  ET0=1;
  EA=1;
  }
  void initvar()
  {
  starttest=0;
  vnt10ms=0;
  vnt1s=0;
  Pulsecnt=0;
  Pulsenum=0;
  }
  void Init_System(void)
  {
  Init_Extint();
  TimerInitProc();
  initvar();
  }
  void Display(uint8 chose_dat,uint8 dat)
  {
  P0=dat;
  P2=~(0x01<<chose_dat);
  DelayMs(1);
  P2=0xFF;
  }
  void ShowDisp(uint8 tPulsenum, uint8 tPulsecnt,uint8 tcntls)
  {
  Display(6,DispCode[tPulsenum%10]);
  tPulsenum=tPulsenum/10;
  Display(7,DispCode[tPulsenum%10]);
  Display(3,DispCode[tPulsecnt%10]);
  tPulsecnt=tPulsecnt/10;
  Display(4,DispCode[tPulsecnt%10]);
  Display(0,DispCode[tcntls%10]);
  tcntls=tcntls/10;
  Display(1,DispCode[tcntls%10]);
  }
  void DelayMs(uint8 Ms)
  {
  unsigned char i,j;
  do
  {
  for(i=5;i>0l;i--)
  for(j=98;j>0;j--);
  }while(--Ms);
  //Test for 12M
  }
  /////////////////////adsf////////////////



下面错怎么多,真是
Build target 'Target 1'
compiling main.c...
MAIN.C(22): warning C206: 'Init_System': missing function-prototype
MAIN.C(25): error C202: 'Pulsencnt': undefined identifier
MAIN.C(31): error C132: 'interrupt0': not in formal parameter list
MAIN.C(31): error C141: syntax error near '{'
MAIN.C(34): error C132: 'Pulsencnt': not in formal parameter list
MAIN.C(37): error C132: 'Timer0IntProc': not in formal parameter list
MAIN.C(37): error C141: syntax error near 'interrupt1'
MAIN.C(38): error C132: 'interrupt1': not in formal parameter list
MAIN.C(39): error C244: 'TH0': can't initialize, bad type or class
MAIN.C(39): error C202: 'TIMER0_HIGHT': undefined identifier
MAIN.C(39): error C132: 'TH0': not in formal parameter list
MAIN.C(40): error C244: 'TL0': can't initialize, bad type or class
MAIN.C(40): error C202: 'TLMER0_LOW': undefined identifier
MAIN.C(40): error C132: 'TL0': not in formal parameter list
MAIN.C(41): error C141: syntax error near 'if'
MAIN.C(41): error C141: syntax error near '++'
MAIN.C(41): error C129: missing ';' before '=='
Target not created
搜索更多相关主题的帖子: 计数器 include 
2015-12-09 22:26
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
不清楚单片机,但编译器提示很明显:
下面打错的地方太多
void Init_Sustem(void);声明是System?

ShowDisp(Pulsenum,Pulsencnt,cntls);
后面两个参数打错了??

Pulsencnt++;变量打错了?

TL0=TLMER0_LOW;  TIMER0??

TL0=TMER0_LOW;  TIMER0??

自己根据编译错误一个一个改吧








我们都在路上。。。。。
2015-12-10 06:32
快速回复:这又是什么鬼错了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016156 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved