第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

怎么回事,我的程序問(wèn)題出在哪里?

怎么回事,我的程序問(wèn)題出在哪里?

暮色呼如 2023-01-12 15:11:01
#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charsbit d1=P1^0;uchar temp;void delay(uint);void main(){EA=1;EX0=1;temp=0xfe;P1=temp;while(1){delay(1000);temp=_crol_(temp,1);P1=temp;}}void delay(uint z){uint i,j;for(i=z;i>0;i--)for(j=100;j>0;j--);}void exter0() interrupt 0{d1=0;}這是一個(gè)流水燈程序。第一,就是定義那個(gè)temp時(shí),開始我是在主函數(shù)里面定義并同時(shí)賦值,結(jié)果編譯通不過(guò),改成如上程序后(就是主函數(shù)之前定義)譯通過(guò),為什么?二,這個(gè)程序有個(gè)中斷,即p3.2接低電平后應(yīng)該是P1.0一直低電平,而流水燈停止流動(dòng),但是我把它下載到單片機(jī)后,觸發(fā)中斷,單片機(jī)只是運(yùn)行速度變慢了,即流水變慢而沒有停止流水燈流動(dòng),怎么回事,程序錯(cuò)了嗎?三,用proteus仿真則中斷完全不起作用,好像根本沒中斷這回事,難道proteus不能仿真中斷嗎。求高手解釋啊。
查看完整描述

2 回答

?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

while(1) {
delay(1000);
temp=_crol_(temp,1);
P1=temp;
}
你的中斷程序里只是把P0^1=0而已,并沒有什么停止的命令,你的while還是一直在循環(huán),一直流,要么你直接把while里的條件改了,比如先定義一個(gè)變量,
unchar x;
x=1;
while(x)
{...}
中斷函數(shù)里改為
x=0;
那就可以了啊

查看完整回答
反對(duì) 回復(fù) 2023-01-15
?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊

TCON寄存器沒有賦值
IT0是定時(shí) 計(jì)數(shù)器 你程序里面根本就沒有停止流水燈的操作  除非是 低電平始終觸發(fā)中斷() 直到變?yōu)楦唠娖?nbsp;但是你的TCON寄存器沒有賦值 也就是說(shuō) 你的外部中斷類型沒有定義為是 低電平觸發(fā) 還是跳變觸發(fā) 你要讓中斷工作 你必須給他 完整的工作條件才可以 你要是想在函數(shù)里面定義變量 必須在開頭定義也就是變量之前不能有別的指令操作比如
main()
{uchar temp;
EA=1;
}這樣是可以的
main()
{EA=1;
uchar temp;
}這樣就編譯不了


查看完整回答
反對(duì) 回復(fù) 2023-01-15
  • 2 回答
  • 0 關(guān)注
  • 128 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)