久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
編譯錯(cuò)誤error C141: syntax error near '=', expected '__asm'
[打印本頁(yè)]
作者:
123~321
時(shí)間:
2024-3-10 11:46
標(biāo)題:
編譯錯(cuò)誤error C141: syntax error near '=', expected '__asm'
有沒(méi)有大佬幫忙看一下怎么解決
單片機(jī)源程序如下:
#include <reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義
sbit KEY_OPEN = P3^3; //引腳定義
sbit KEY_CLOSE = P3^5;
sbit LED_GREEN = P2^1;
sbit LED_RED = P2^2;
sbit BUZZER = P2^0;
#define BUZZER_ON (BUZZER = 0)
#define BUZZER_OFF (BUZZER = 1)
sbit SHAKE_PIN = P1^1; //震動(dòng)傳感器
sbit HC_SR501 = P1^0; //人體活動(dòng)傳感器
sbit RELAY_LOCK = P2^3; //電磁鎖
bit g_irFlag = 0; //紅外接收標(biāo)志,收到一幀正確數(shù)據(jù)后置1
unsigned char g_irCode[4];
unsigned char refreshFlag = 0; //更新顯示標(biāo)志
unsigned char setFlag = 0; //設(shè)置參數(shù)標(biāo)志
bit lockFlag = 1; //鎖的狀態(tài)標(biāo)志
bit monitorFlag = 0; //監(jiān)控標(biāo)志
bit alarmFlag = 0; //報(bào)警標(biāo)志
unsigned char time500msCnt = 0;
unsigned char time500msCnt2 = 0;
bit oldPinState = 0;
bit nowPinState = 0;
char dis0[16]; //定義顯示區(qū)域臨時(shí)存儲(chǔ)數(shù)組
void CheckKey(void);
void CheckBluetooth(void);
void Timer1_Init(void); //定時(shí)器初始化
void main(void)
{
IR_INPUT = 1;
110.c(49): error C141: syntax error near '=', expected 'hdata'
,
110.c(49): error C141: syntax error near '=', expected '__asm
'
Timer1_Init();
IR_Init();
Uart_Init();
LCD_Init(); //初始化液晶
DelayMs(200); //延時(shí)有助于穩(wěn)定
LCD_Clear(); //清屏
LCD_DispStr(0, 0, " Welcome! ");
DelayS(1);
LCD_DispStr(0, 0, " Waiting... ");
DelayS(5);
err_num = GSM_Init(); //GSM初始化
DelayMs(10);
if (gsm_init_flag) //初始化完成
{
err_num = GSM_Text_Mode(); //GSM 設(shè)置Text模式
}
DelayMs(10);
if (gsm_config_flag)
{
err_num = GSM_Delete_Sms("1"); //刪除短信1
}
DelayMs(10);
if (!(gsm_init_flag || gsm_config_flag || gsm_delete_flag)) // AT命令報(bào)錯(cuò)
{
BUZZER_ON;
LCD_DispStr(0, 0, " Init Err Num ");
LCD_WriteData((int)err_num+'0');
DelayS(1);
BUZZER_OFF;
}
else
{
LCD_DispStr(0, 0, " Init OK! ");
}
DelayS(3);
EEPROM52_Init(); //初始化電話號(hào)碼
LCD_DispStr(0, 0, " Status ");
while (1) //主循環(huán)
{
gsm_receive_process(); //gsm接收處理
if (lockFlag == 1) //已上鎖
{
LED_RED = 0;
LED_GREEN = 1;
RELAY_LOCK = 1; //關(guān)閉鎖
if (alarmFlag == 0)
{
if (HC_SR501 == 0 && SHAKE_PIN == 0) //有人且震動(dòng)
monitorFlag = 1;
if (monitorFlag == 1) //進(jìn)入監(jiān)控狀態(tài)
{
if (time500msCnt >= 10 && time500msCnt <= 20) //進(jìn)入監(jiān)控模式后的5s~10s,持續(xù)監(jiān)測(cè)
{
if (HC_SR501 == 0 && SHAKE_PIN == 0) //再次檢測(cè)到有人且震動(dòng)
{
alarmFlag = 1;
time500msCnt = 0;
BUZZER_ON;
LCD_DispStr(0, 1, " Warning! ");
GSM_Send_Sms(phone1, "Please pay attention to your car!");
DelayMs(10);
}
}
else if (time500msCnt > 20) //超過(guò)10s沒(méi)檢測(cè)到
{
monitorFlag = 0; //退出監(jiān)控
time500msCnt = 0;
}
}
else
{
time500msCnt = 0;
BUZZER_OFF;
}
}
else //報(bào)警模式
{
if (time500msCnt >= 120) //響鈴1分鐘退出報(bào)警模式
{
alarmFlag = 0;
}
}
}
else
{
LED_RED = 1;
LED_GREEN = 0;
alarmFlag = 0;
monitorFlag = 0;
RELAY_LOCK = 0; //打開(kāi)鎖
BUZZER_OFF;
}
if (refreshFlag == 1) //刷新界面
{
refreshFlag = 0;
TR1 = 0;
if (lockFlag == 1) //已上鎖
{
if (alarmFlag == 0)
{
if (monitorFlag == 1) //進(jìn)入監(jiān)控狀態(tài)
{
time500msCnt++;
}
else
{
time500msCnt = 0;
LCD_DispStr(0, 1, " Lock ");
}
}
else //報(bào)警模式
{
time500msCnt++;
}
}
else
{
LCD_DispStr(0, 1, " Open ");
if (time500msCnt2 > 0)
{
time500msCnt2--;
}
else
{
RELAY_LOCK = 0; //關(guān)閉鎖
LED_RED = 0;
LED_GREEN = 1;
lockFlag = 1;
}
}
TR1 = 1;
}
CheckKey(); //檢測(cè)按鍵
}
}
void CheckKey(void)
{
static unsigned char rekey = 0;
if ((KEY_OPEN == 0) || (KEY_CLOSE == 0)) //檢測(cè)到按鍵按下
{
DelayMs(10); //小抖動(dòng)
if (rekey == 0)
{
if (KEY_OPEN == 0) //檢測(cè)是否按下
{
rekey = 1;
lockFlag = 0;
time500msCnt2 = 20; //開(kāi)鎖20*500ms=10s
}
else if (KEY_CLOSE == 0) //
{
rekey = 1;
lockFlag = 1;
}
}
}
else
{
rekey = 0; //防止重復(fù)檢測(cè)到按鍵
}
if (g_irFlag == 1 && g_irCode[2] == IRCodeMap[0][0])
{
lockFlag = 0;
g_irFlag = 0;
time500msCnt2 = 20; //開(kāi)鎖20*500ms=10s
}
else if (g_irFlag == 1 && g_irCode[2] == IRCodeMap[2][0])
{
lockFlag = 1;
g_irFlag = 0;
}
}
/**************************************************************************************************
*************************************紅外解碼定時(shí)器程序********************************************
**************************************************************************************************/
//外部中斷解碼程序_外部中斷0
void Ext0_Interrupt(void) interrupt 0
{
unsigned char i, j;
unsigned char byt;
unsigned int time;
time = IR_GetLowTime();
if ((time < 7833) || (time > 8755))
{
IE0 = 0;
return;
} //找到啟始碼
time = IR_GetHighTime();
if ((time < 3686) || (time > 4608)) //時(shí)間判定范圍為4.0~5.0ms,
{ //超過(guò)此范圍則說(shuō)明為誤碼,直接退出
IE0 = 0;
return;
}
//接收并判定后續(xù)的4 字節(jié)數(shù)據(jù)
for (i = 0; i < 4; i++) //循環(huán)接收4 個(gè)字節(jié)
{
for (j = 0; j < 8; j++) //循環(huán)接收判定每字節(jié)的8 個(gè)bit
{
//接收判定每bit 的560us 低電平
time = IR_GetLowTime();
if ((time < 313) || (time > 718)) //時(shí)間判定范圍為340~780us,
{ //超過(guò)此范圍則說(shuō)明為誤碼,直接退出
IE0 = 0;
return;
}
//接收每bit 高電平時(shí)間,判定該bit 的值
time = IR_GetHighTime();
if ((time > 313) && (time < 718)) //時(shí)間判定范圍為340~780us,
{ //在此范圍內(nèi)說(shuō)明該bit 值為0
byt >>= 1; //因低位在先,所以數(shù)據(jù)右移,高位為0
}
else if ((time > 1345) && (time < 1751)) //時(shí)間判定范圍為1460~1900us,
{ //在此范圍內(nèi)說(shuō)明該bit 值為1
byt >>= 1; //因低位在先,所以數(shù)據(jù)右移,
byt |= 0x80; //高位置1
}
else //不在上述范圍內(nèi)則說(shuō)明為誤碼,直接退出
{
IE0 = 0;
return;
}
}
g_irCode[ i] = byt; //接收完一個(gè)字節(jié)后保存到緩沖區(qū)
}
g_irFlag = 1; //接收完畢后設(shè)置標(biāo)志
IE0 = 0; //退出前清零INT0 中斷標(biāo)志
}
/**************************************************************************************************
***************************************************************************************************
**************************************************************************************************/
/*------------------------------------------------
定時(shí)器初始化子程序
------------------------------------------------*/
void Timer1_Init(void)
{
TMOD &= 0x0F; //使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響
TMOD |= 0x10; //使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響
TH1 = (65536 - 18432) / 256; //重新賦值 20ms
TL1 = (65536 - 18432) % 256;
EA = 1; //總中斷打開(kāi)
ET1 = 1; //定時(shí)器中斷打開(kāi)
TR1 = 1; //定時(shí)器開(kāi)關(guān)打開(kāi)
}
/*------------------------------------------------
定時(shí)器中斷子程序
------------------------------------------------*/
void Timer1_Interrupt(void) interrupt 3
{
static unsigned char time20ms = 0;
TH1 = (65536 - 18432) / 256; //重新賦值 20ms
TL1 = (65536 - 18432) % 256;
time20ms++;
if (time20ms >= 25)
{
refreshFlag = 1;
time20ms = 0;
}
}
作者:
Hephaestus
時(shí)間:
2024-3-10 14:54
IR_INPUT沒(méi)有定義。
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲视频在线免费观看
|
国产黄色一区
|
亚洲精品免费观看
|
伊人国产在线
|
欧美在线视频免费
|
欧美一级一级
|
国产美女啪啪
|
日韩在线资源
|
欧美日韩在线观看视频
|
91色漫
|
成年人免费看视频
|
一区二区三区在线免费观看
|
91成人国产
|
天天看天天操
|
亚洲成人一区二区
|
亚洲成人免费
|
色综合视频在线观看
|
亚洲成人免费
|
91成人在线观看喷潮蘑菇
|
亚洲免费成人
|
国产精品手机在线观看
|
国产一区在线视频
|
超碰在线人人
|
欧美在线
|
国产精品91在线
|
a毛片视频
|
成人免费在线观看
|
99视频网站
|
亚洲免费一区二区
|
久久九九精品
|
欧美成人一区二区
|
黄色小视频在线观看
|
天天干夜夜草
|
久久综合激情
|
www国产亚洲精品久久网站
|
色综合小说
|
欧美 日韩 国产 在线
|
专业操老外
|
国产在线中文字幕
|
久久免费观看视频
|
91插插插插插
|