#include<reg933.h> #include<stdio.h> uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,}; //共陰數碼管0~9 #define ad; void delay() ; //延時 void RDAC(); //讀取調速信號 void PWM( ); void display(); //顯示 void stimer1() ; //定時計數 void main() //主程序 { while(1) { RDAC();//讀取AD信號 PWM();//PEM調速 stimer1(); display(); } } void RDAC( ) //AD信號讀取程序 { ADINS=0X01 ; //AD0通道選擇 ADMODA=0X10 ; // 固定通道單次轉換 ADCON0=0x04; //AD使能 delay() ad=AD0DAT0 ;//讀取AD結果 ADCON0=0x00; //關閉AD使能 } void PWM() //PWM調速程序 { int a=5 CMP1=ad //比較器1的設定值 TMOD20=0X11 //PWM定時器0非對稱模式 TR0=1 //定時器0開啟 HLTEN=1 //PWM開始 delay(10) //運行10個延時 HLTEN=0 //PWM停止 } void stimer1() //速度計算程序 { int shu=0; TMOD=0x10; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1; ET0=1; TR0=1; delay(1); while(1) {if(P1^7==1)shu++; if(TF0==1)break; } } TR=0; ET0=0; EA=0; } void display() //顯示程序 { int bai,shi; shu=72*shu/5; //換算成0.1KM/H shi=shu/10%10;bai=shu/100; P0=table[bai]; P2^2==1 ; //開百位 delay(2); //延時 P2^2==0; P0=table[shi]; P2^3==1 ; //開十位 delay(2); P2^3==0; } 用keil編寫為什么出現1.C(5): error C129: missing ';' before 'code' 請高手解答
有很明顯的錯誤啊,開位選時應該是P2^3=0 而不是P2^3==0
字庫編碼里面最后一個數后面不用 帶;
哦,是這個0x6f后面不要,
#define uchar unsigned char 怎么沒有這個
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,}; 后面的0x6f后面不用逗號
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |