導航:首頁 > 操作系統 > 單片機隱約

單片機隱約

發布時間:2022-09-12 05:12:22

單片機led顯示模擬一切正常,燒錄後顯示不正常,干擾嚴重

"電磁閥斷開" 這個出現概率比較大。
電磁閥 打開和關閉的瞬間電流發生變換(和干擾)導致。。

另外如果你後面用164驅動的話。。點數碼管的時候沒有進行 電磁閥操作
模擬器調試的時候 正常。。
那麼最有可能的只有三點。

1.你單片機的晶振可以沒弄好,單片機不工作,一般的模擬器都是直接帶晶振的
如果有的話 。你可以在模擬器設置中巴 晶振用線路板上的晶振。
這個方便測試。。

2.就是你單片機電源本身就有問題。。導致你的單片機根本沒有工作

3. 如果是51單片機的話。。單片機有一個外擴存儲器埠選擇端
那個埠一定要接好。。具體引腳名字你自己看pdf
這個在模擬的時候一般不會起作用的。所以模擬不出來

單片機的工作頻率一般都不高emc這種的,基本可以排除的。。

補充:
如果你的蜂鳴器完全按照你的預想的結果的話(沒有頻繁 ,叫等情況)
至少說明你的晶振是沒有問題。。而且電源基本正常
你模擬的時候管子能亮。
那就說明板子有問題。。最有可能就是。51選擇外部存儲器那個引腳沒有上拉或者下拉。你查看一下pdf。。第幾腳忘了。
////////////////////////////////////////////////////
PSEN為程序存取器選擇端,高電平,程序從內部執行,就是單片機內部的程序存儲器有效,接低電平,程序從外面擴展的ROM開始執行。

⑵ 單片機C語言定時中斷程序設計,在線等

1,13位模式就是TOMD=0x00,不是TOMD=0x01(16位),
2,TR0=1 後,程序在往下走,定時器也在走,當中斷來了後,中斷,然後返回斷點,不一定是TR0=1,
你的程序有漏洞,應在中斷中,做一標志,如flag=1;
void Tim() interrupt 1
{
flag=1;
TR0=0;
sound=!sound; //將P3.7引腳輸出電平取反,形成方波
TH0=(x-C)/y; //可證明這是13位計數器TH0高8位的賦初值方法
TL0=(x-C)%y; //可證明這是13位計數器TL0低5位的賦初值方法
}

while(1) //無限循環
{
while(f[i]!=0xff) //只要沒有讀到結束標志就繼續播放
{
C=500000/f[i];
TH0=(x-C)/y; //可證明這是13位計數器TH0高8位的賦初值方法
TL0=(x-C)%y; //可證明這是13位計數器TL0低5位的賦初值方法
if(flag==1)
{
flag=0;
for(j=0;j<JP[i];j++) //控制節拍數
delay(); //延時1個節拍單位
i++; //播放下一個音符
TR0=1; //啟動定時器T0
}
}
}
}

⑶ 用proteus進行51單片機模擬的問題。

要看你動態先使用的是什麼程序,可能延時有問題,不能太短,你可以把你的程序給我看一下。我這有一個動態顯示的程序模擬是正確的,你可以對比一下。

#include <REG51.H>
unsigned char code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/*===================================*/
void delay(unsigned int k);
//-----------------------------------------------------------
void main(void)
{

unsigned char val1=0;
long i;
char min=0;
while(1)
{
for(i=0;i<50;i++)
{
P2=0xfe;
P1= SEG7[val1%10];
delay(1);
P2=0xfd;
P1= SEG7[val1/10];
delay(1);
P2=0xfb;
P1= SEG7[min%10];
delay(1);
P2=0xf7;
P1= SEG7[min/10];
delay(1);

}
val1=val1+1;
/*if(val1>59)
val1=0; */
if(val1>59)
{

min++;
val1=0;
}
if(min>59)
min=0;
}
}
//----------------------------------------------------
void delay(unsigned int k)
{
unsigned int i,j;
for(i=0;i<k;i++)
{
for(j=0;j<121;j++)
;
}
}/*四位數碼管實現分秒定時

⑷ RS232串口中利用P3.0和P3.1連接兩台單片機,我只是隱約知道是這樣連接求大神

串口主要用到兩個引腳
RX和TX
R代表接收Recieve,T代表發送Transent
所以兩個串口互聯的時候
R和T要互換
單片機1的RX連接單片機2的TX
單片機1的TX連接單片機2的RX
最後兩個單片機共地即可。

⑸ 懂單片機的進來

for(count=0;count<10000;count++)
{
unsigned int a,b,c,d;
a=count%10;
b=count/10%10;
c=count/100%10;
d=count/1000;

for(i=50;i>0;i--)
{
P0=table[a]; //注意位置
P2_3=0; //可能有關
delay();
P2_3=1;

動態掃描法中,數碼管個數,掃描頻率對其都有影響。
以上只是提高了一些程序運行效率,因為像取余似的運算是很耗時的。
當然如果你再想想,上面計算abcd的方法還可以進一步優化。

你也可以試試調整一下delay時間

另外,在硬體方面的一點建議就是,由於數碼管過多,可以加鎖存器解決。
或者直接使用數碼管驅動晶元,效果更好,例如 MAX7219 等等。

另外,另外,匯編都寫出來了,你基礎不錯啊

⑹ 51單片機 1602液晶初始化為什麼要設置4次顯示設置

寫多少次不是單片機或者C語言決定的,是由液晶屏的資料決定的,液晶屏內部也有一個MCU控制,它的操作指令是出廠就定好了的,不同廠家的屏它的指令也可能會不一樣。

⑺ 哈佛結構是不是比馮諾依曼結構要好

哈佛結構和馮諾依曼結構各有好處,相對於馮諾依曼結構,哈佛結構更可靠,更加適合於那些程序固化、任務相對簡單的控制系統,哈佛結構的微處理器也相對更高效。

不過在通用計算機系統中,應用軟體的多樣性使得計算機要不斷地變化所執行的代碼的內容,並且頻繁地對數據與代碼佔有的存儲器進行重新分配,這種情況下,馮諾依曼結構佔有絕對優勢,因為統一編址可以最大限度地利用資源。

而哈佛結構的計算機若應用於這種情形下則會對存儲器資源產生理論上最大可達50%的浪費,這顯然是不合理的。

⑻ 請問如何自己焊接單片機電路板

學習單片機是需要買挺多元件的。

1、注意電解電容、發光二極體、蜂鳴器的正負極性不能接反、三者均是長的管腳接正極、短的管腳接負極,如接反輕則燒毀元氣件,重則發生輕微爆炸。

2、三極體9015的E、B、C、注意接法,板子上面有相應的圖形形狀。按照那個圖形焊接。

3、焊接元氣件的過程之中焊接時間應在2-4秒。焊接時間不宜過長,否則不僅會燒毀元氣件、而且易使焊點容易脆裂。

4、電阻焊接過程中注意相應的阻值對應,不要焊錯。否則影響相應的電流大小。

5、排阻焊接過程之中、RP1、RP2、RP3、有公共端應該接VCC、其餘管腳為相應的獨立端、排阻焊接過程之中用萬用表測量各排阻的阻值、對照說明書焊接相應的排阻。

(8)單片機隱約擴展閱讀:

器件的封裝引腳與內核電路引線的連接處處理,電路的半導體材質特性以及器件的封裝材質都會影響其高溫焊接時的耐受度,具體講來一篇論文都說不完。

從經驗上說,如果使用的是非高溫的鉛錫合金焊錫,熔化溫度在300度以下,那麼焊接時當觀察到焊錫在焊點充分熔化後,應該在5秒內完成焊接動作。

器件是不會因為這幾秒的高溫而損壞的。 如果一定要挑選烙鐵的功率,寧可選擇功率大的烙鐵,因為烙鐵頭升溫更快,那樣反而不容易因為長時間加熱焊點而造成器件損壞。

⑼ 為什麼按這個電路連線,剛想連上電機,隱約聽到直流電機一聲,然後單片機就燒了。程序都下不進了。

電機的驅動應該是12V的,但是你的泄放迴路卻接到了5V上面。電機一轉,停下的瞬間反沖電壓就可能把單片機搞死。還有你的二極體怎麼接的,沒有連接點啊。

閱讀全文

與單片機隱約相關的資料

熱點內容
如來佛祖命令雷神去下界 瀏覽:854
新電腦管家下載好怎麼解壓 瀏覽:528
php獲取介面數據 瀏覽:763
最後的命令 瀏覽:921
如何添加手機app桌面快捷圖標 瀏覽:427
ui設計師與程序員 瀏覽:417
壽司pdf 瀏覽:828
pythonbg是什麼 瀏覽:248
c數值演算法程序大全 瀏覽:785
android整點報時 瀏覽:221
稀土pdf 瀏覽:536
單片機電子鎖 瀏覽:596
通達信機智資金流指標公式源碼 瀏覽:216
php安裝xsl擴展 瀏覽:842
python如何使用help 瀏覽:367
上汽榮威app在哪裡查詢 瀏覽:903
冰櫃壓縮機溫度108 瀏覽:720
阿里雲郵smtp伺服器地址 瀏覽:252
解壓館認知理解 瀏覽:240
為什麼使用非官方伺服器會封號 瀏覽:9