欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3794|回復: 25
收起左側

剛開始用stc8g1k08,這個程序寫的對不對啊,為啥單片機沒反應

  [復制鏈接]
ID:1026082 發表于 2022-5-12 21:57 來自觸屏版 | 顯示全部樓層 |閱讀模式
如題,這個D2燈照樣亮,是我程序的問題嗎
5a9743f6b34ee85d.jpg
-21cfc5bec82a8ef6.jpg
回復

使用道具 舉報

ID:1026082 發表于 2022-5-12 22:17 來自觸屏版 | 顯示全部樓層
吐槽一下,這個芯片要是能在protues上仿真就好了,要不學習編程確實比較費勁
回復

使用道具 舉報

ID:213173 發表于 2022-5-13 05:32 | 顯示全部樓層
zzsxjzscx 發表于 2022-5-12 22:17
吐槽一下,這個芯片要是能在protues上仿真就好了,要不學習編程確實比較費勁

void main()
{
        port_mode();
        LED=0;
        beep=0;
        while(1);
}
回復

使用道具 舉報

ID:584814 發表于 2022-5-13 08:23 | 顯示全部樓層
程序寫的只要編譯能通過就對,但能不能實現你想要的功能兩說;
單片機有沒有反應不是肉眼凡胎直接可以看全的;
能仿真通過的未必實物也一樣;
先學好基礎再深入。
回復

使用道具 舉報

ID:339654 發表于 2022-5-13 08:33 | 顯示全部樓層
你這三極管給低電平才導通的,給1肯定是沒反應的
回復

使用道具 舉報

ID:1026082 發表于 2022-5-13 08:49 來自觸屏版 | 顯示全部樓層
weijoyer 發表于 2022-5-13 08:33
你這三極管給低電平才導通的,給1肯定是沒反應的

很奇怪,這個LED只要上電就亮,我想讓他滅,看看程序管不管用
回復

使用道具 舉報

ID:136485 發表于 2022-5-13 09:30 | 顯示全部樓層
PNP的三極管要給低電平才行,STC的芯片要配置成推挽輸出,P1M0=0x03;P1M0=0x00;多看書,不要一點小問題就來問,高手是沒空理你的
回復

使用道具 舉報

ID:1026082 發表于 2022-5-13 09:40 來自觸屏版 | 顯示全部樓層
kxcuser 發表于 2022-5-13 09:30
PNP的三極管要給低電平才行,STC的芯片要配置成推挽輸出,P1M0=0x03;P1M0=0x00;多看書,不要一點小問題就來 ...

感謝高手大哥的回復,但是問題是這樣的,我的小燈上電就亮,我想讓他關掉,所以這樣寫。推挽模式可能能幫助小燈滅吧
回復

使用道具 舉報

ID:170318 發表于 2022-5-13 09:51 | 顯示全部樓層
zzsxjzscx 發表于 2022-5-13 08:49
很奇怪,這個LED只要上電就亮,我想讓他滅,看看程序管不管用

上電滅的話,端口要設置成雙向或推挽,且端口輸出為高電平,另電路圖中R3、4改成1k,R5取值計算一下,51估計小了
回復

使用道具 舉報

ID:170318 發表于 2022-5-13 09:57 | 顯示全部樓層
zzsxjzscx 發表于 2022-5-13 09:40
感謝高手大哥的回復,但是問題是這樣的,我的小燈上電就亮,我想讓他關掉,所以這樣寫。推挽模式可能能幫 ...

R3、4改成1k的電阻,2k肯定不行。主程序:
void  main()
{
port_mode();
LED=1;
beep=1;
while(1)
{
...
}
}
回復

使用道具 舉報

ID:1026082 發表于 2022-5-13 10:02 來自觸屏版 | 顯示全部樓層
jhczy 發表于 2022-5-13 09:57
R3、4改成1k的電阻,2k肯定不行。主程序:
void  main()
{

十分感謝解答。小燈的電阻應該不是問題,之前也是用的一樣的電路,只不過用的是C52RC控制,能實現功能。我把while加上試試吧。
回復

使用道具 舉報

ID:401564 發表于 2022-5-13 10:44 | 顯示全部樓層
如果你有電腦又有學習板或者其它的硬件電路板,別用protues,那玩意沒有用,只會浪費時間
1,D2是由P1.1控制的,低電平亮
2,P1.1輸出要設定成強推挽模式,而不是傳統的8051模式
3,如果還亮的話,啟用內置的上拉電阻看一下
正常來說,一般是不用這種驅動電路的,不知道你VCC是不是單片機的電源,如果VCC是5V的,單片機是3.3V的,你是控制不了的,而且還有可能損壞單片機
回復

使用道具 舉報

ID:136485 發表于 2022-5-13 11:13 | 顯示全部樓層
zzsxjzscx 發表于 2022-5-13 09:40
感謝高手大哥的回復,但是問題是這樣的,我的小燈上電就亮,我想讓他關掉,所以這樣寫。推挽模式可能能幫 ...

用PNP的三極管比較麻煩,如果供電電壓不一樣,是關不了的(就比如說你的單片機是5V,但是三極的VCC是12V),除非前面在用一個NPN的三極管控制PNP,當然單片機供電電壓和VCC一樣就可以
回復

使用道具 舉報

ID:1026082 發表于 2022-5-13 12:00 來自觸屏版 | 顯示全部樓層
Y_G_G 發表于 2022-5-13 10:44
如果你有電腦又有學習板或者其它的硬件電路板,別用protues,那玩意沒有用,只會浪費時間
1,D2是由P1.1控制的 ...

大哥真厲害。vcc供電是和單片機一樣的,都是3.3V。我覺得proteus好主要是因為他可以按照電路圖構建電路,仿真比較有說服力。這個硬件不是我設計的,之前準備用89C52RC的芯片,臨時換到這個STC8G,所以沒準備開發版。如果有仿真的話可以更好的分辨是硬件還是軟件的問題,方便排查。再次感謝
回復

使用道具 舉報

ID:1026082 發表于 2022-5-13 12:00 來自觸屏版 | 顯示全部樓層
kxcuser 發表于 2022-5-13 11:13
用PNP的三極管比較麻煩,如果供電電壓不一樣,是關不了的(就比如說你的單片機是5V,但是三極的VCC是12V ...

供電電壓相同,費心了。
回復

使用道具 舉報

16#
無效樓層,該帖已經被刪除
ID:138119 發表于 2022-5-14 15:39 | 顯示全部樓層
電路最好是:     +VCC------>負載(LED)------>三極管(NPN或PNP)或MOS管------> GND,具體原因這里就不說了,樓主要好好補補基礎知識!
回復

使用道具 舉報

ID:1026496 發表于 2022-5-14 16:27 | 顯示全部樓層
建議你使用pmos管,如果使用三極管的電路有問題,比如ao3401  
回復

使用道具 舉報

ID:624769 發表于 2022-5-19 11:36 來自觸屏版 | 顯示全部樓層
你既然用stc8h了,直接ice不好么?不比protuse好玩么?
回復

使用道具 舉報

ID:230742 發表于 2022-5-19 12:19 | 顯示全部樓層
建議還是別仿真了。不是說仿真不好,只是就算仿真通過了。做實物也不一定能成功。不如一步到位自己做實物。有問題了直接查,然后就學會了。
就像KEIL 一樣,編譯通過了,不表示程序沒有問題。邏輯通過了不表示單片機能跑出想要的結果。
回復

使用道具 舉報

ID:1033105 發表于 2022-6-24 15:23 | 顯示全部樓層
新手剛學51,這個程序大部分都可以理解,就是中間的一段
void port _mode()
{
P0M0=0x00;
P0M1=0x00;
P1M0=0x00;
P2M0=0x00;
P2M1=0x00;
P3M0=0x00;
P3M1=0x00;
}
這一段不知道干嘛用的,看圖中mcu沒有P0M0、P0M1啊。而且程序中也沒有用到這些東西。剛學51,有很多東西都不懂,請各位大佬別笑話。
回復

使用道具 舉報

ID:908826 發表于 2022-6-24 15:34 | 顯示全部樓層
51老鷹 發表于 2022-6-24 15:23
新手剛學51,這個程序大部分都可以理解,就是中間的一段
void port _mode()
{

對每組IO口進行配置,你可以搜一搜就行了
回復

使用道具 舉報

ID:99525 發表于 2022-6-24 17:38 | 顯示全部樓層
51老鷹 發表于 2022-6-24 15:23
新手剛學51,這個程序大部分都可以理解,就是中間的一段
void port _mode()
{

STC官網下個STC8G的手冊學學!
回復

使用道具 舉報

ID:491577 發表于 2022-6-24 20:39 | 顯示全部樓層
STC8G單片機IO口可以直接控制LED,不需要三極管。
回復

使用道具 舉報

ID:1033105 發表于 2022-6-25 09:29 | 顯示全部樓層
感謝高手,剛學單片機,有很多的常識不是很理解,請見諒。
是不是可以這么理解:給定端口輸出置1,相當于I/O端口輸出高位。
如果外部通過10K電阻拉高端口電平的話是不是就不需要在程序中申明了。另外在弱弱的問一下,P0M0和P0M1這兩個端口在stc8g1k08中是沒有的,為什么要這么申明?
回復

使用道具 舉報

ID:161164 發表于 2022-6-25 16:26 | 顯示全部樓層
51老鷹 發表于 2022-6-25 09:29
感謝高手,剛學單片機,有很多的常識不是很理解,請見諒。
是不是可以這么理解:給定端口輸出置1,相當于I ...

有啊?怎么沒有?
2022-06-25_162315.png

2022-06-25_162423.png

回復

使用道具 舉報

ID:1033105 發表于 2022-6-25 17:03 | 顯示全部樓層
lkc8210 發表于 2022-6-25 16:26
有啊?怎么沒有?

非常感謝,原來這個就是I/O口的設置,我們需要哪種情況就在程序中先設定好,雙向口、推挽輸出、高阻狀態、開漏輸出原來是這么設定的,這下子是算有點明白了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表