1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標(biāo)題:
我做了一個(gè)項(xiàng)目需要用到上位機(jī)控制下位機(jī),同時(shí)還需要另外一個(gè)中斷,請問程序怎么....
[打印本頁]
作者:
hl5105363
時(shí)間:
2018-7-20 12:04
標(biāo)題:
我做了一個(gè)項(xiàng)目需要用到上位機(jī)控制下位機(jī),同時(shí)還需要另外一個(gè)中斷,請問程序怎么....
void init() //初始化函數(shù)
{
TMOD=0X01; //初始化定時(shí)器
TH0=(65536-10)/256; //初值配置
TL0=(65536-10)%256;
EA=1; //開總中斷
ET0=1; //定時(shí)/計(jì)數(shù)器T0中斷允許
TR0=1;
}
void time0(void) interrupt 1 //定時(shí)器中斷函數(shù)
{
TH0=(65536-10)/256;
TL0=(65536-10)%256;
++i;
if(i>10)
{
i=0;
};
if(i<=zkb)
{
OE=0;
}
else OE=1;
}
這個(gè)是我要用到的定時(shí)器中斷
void UsartConfiguration()
{
SCON=0X50; //設(shè)置為工作方式1
TMOD=0X20; //設(shè)置計(jì)數(shù)器工作方式2
PCON=0X80; //波特率加倍
TH1=0XF3; //計(jì)數(shù)器初始值設(shè)置,注意波特率是4800的
TL1=0XF3;
ES=1; //打開接收中斷
EA=1; //打開總中斷
TR1=1; //打開計(jì)數(shù)器
}
void Usart() interrupt 4
{
if (RI) //接收到字節(jié)
{
cmdIndex = SBUF;
RI = 0; //清零接收中斷標(biāo)志位
SBUF = cmdIndex;//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
cmdArrived = 1;
}
if (TI) //字節(jié)發(fā)送完
{
TI = 0; //清零發(fā)送中斷標(biāo)志位
}
//清除發(fā)送完成標(biāo)志位
}
這個(gè)是我用到的通訊中斷
單獨(dú)可以運(yùn)行,為什么放在一個(gè)程序就不行了呢????求大神指點(diǎn)迷津
作者:
小貓貓愛吃魚
時(shí)間:
2018-7-20 18:28
你好!把具體功能要求說一下吧
作者:
HC6800-ES-V2.0
時(shí)間:
2018-7-21 09:23
你的程序單獨(dú)能執(zhí)行,放一起就不能執(zhí)行,很正常!!!!!
因?yàn)椋耗闶莾蓚(gè)程序的復(fù)制粘貼,不是程序邏輯的組合。
你的程序中,第一次初始化定時(shí)器,TMOD=0x01,第二次又重新設(shè)置為TMOD=0x20,不論兩個(gè)初始化函數(shù)誰行誰后,反正只有后一次設(shè)置的那個(gè)定時(shí)器是可用的。
所以,應(yīng)該兩個(gè)定時(shí)器一次性設(shè)置完,這就是程序的邏輯組合了。
當(dāng)然,如果你不參加考試,可以用STC-ISP程序中的定時(shí)器設(shè)置功能做函數(shù),那么,得到的兩個(gè)函數(shù)是可以獨(dú)立運(yùn)行的,你也可以從它給出的程序中學(xué)到如何在第二次設(shè)置時(shí),不改變第一次設(shè)置——很高級的知識(shí)哦。
作者:
wulin
時(shí)間:
2018-7-21 16:55
要同時(shí)設(shè)置TMOD
void Timer_Init() //初始化定時(shí)器
{
TMOD=0X21; //定時(shí)器0方式1,定時(shí)器1方式2
SCON=0X50; //設(shè)置串口控制寄存器
PCON=0X80; //波特率加倍
TH0=(65536-10)/256; //定時(shí)器0初始值
TL0=(65536-10)%256; //定時(shí)器0初始值
TH1=0XF3; //定時(shí)器1重載值,注意波特率是4800的設(shè)置定時(shí)重載值
TL1=0XF3; //定時(shí)器1初始值
TR0=1; //開定時(shí)器0
TR1=1; //開定時(shí)器1
EA=1; //開總中斷
ET0=1; //定時(shí)/計(jì)數(shù)器T0中斷允許
ES=1; //打開接收中斷
}
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1