找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

有沒有用STC8A8K64D4這個單片機的,P0口和P1口狀態(tài)怎么設置?

查看數(shù): 4230 | 評論數(shù): 15 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2021-12-7 11:03

正文摘要:

圖上畫的是P75,實際電路P0,P1,P7口都是這樣的電路,就這樣的簡單控制LED都不能正常,P7口能正?刂芁ED亮滅,P0和P1口部分IO口都不能控制LED滅燈,部分LED常亮,常亮的LED單個IO口測試時也是常亮,是設置出問題了嗎 ...

回復

ID:992336 發(fā)表于 2021-12-14 23:46
電路問題,光耦暗電路觸發(fā)了三極管,量一量IO輸出電位就清楚了
ID:491577 發(fā)表于 2021-12-14 11:30
樓主的驅動電路是體育老師教的吧?光耦需要5ma電流驅動,樓主的電流=(5V-1.8V)/2K=1.6ma,偏小,右邊LED驅動明顯有錯誤,是你的電路有問題。IO口只要不是設置成高阻模式都可以驅動LED,單片機IO默認是雙向,根本不需要設置IO口,直接用就可以,你的軟件沒有問題,LED電路有問題。
ID:491875 發(fā)表于 2021-12-14 08:19
xuyaqi 發(fā)表于 2021-12-7 17:13
你接線應按5樓給的改一下。

只是檢測LED是否點亮,光耦完全可以不用,將光耦直接用一只LED代替就可以了。從原理圖可以看出,光耦初級紅外發(fā)射管點亮次級LED發(fā)光。我們完全可以把光耦次級紅外發(fā)射管直接用LED代替。
ID:57657 發(fā)表于 2021-12-14 07:59
wulin 發(fā)表于 2021-12-7 16:01
可以用STC8頭文件,端口初始化全部準雙向。硬件按圖改一下。

D4 比 STC8 其他型號 新增了很多寄存器,IO口結構有改變,頭文件不一樣。
ID:163817 發(fā)表于 2021-12-14 07:30
D4這顆我P41我怎么設置。。只要=0一次,就回不到5V(只能回到3.多V),設置推挽模式也一樣(像樓主的P75我改為P41)
ID:636538 發(fā)表于 2021-12-8 10:55
#include "reg51.h"建議修改成#include "STC8.h"使用該芯片的頭文件,找不到就去STC-ISP軟件添加到你的KEIL里面
ID:213173 發(fā)表于 2021-12-7 17:37
北漂的二極管 發(fā)表于 2021-12-7 16:39
不知道是不是廠家設置的有問題,我P0和P1口全部設置成高阻態(tài)了,P00,P01,P02,P03,P16,P17這些IO口控制的 ...

不要輕易懷疑芯片有問題,功能不正常99.9%是使用者的問題。加電燈就亮是你的硬件電路設計缺陷所致。
ID:94031 發(fā)表于 2021-12-7 17:13
你接線應按5樓給的改一下。
ID:624769 發(fā)表于 2021-12-7 17:08
北漂的二極管 發(fā)表于 2021-12-7 16:39
不知道是不是廠家設置的有問題,我P0和P1口全部設置成高阻態(tài)了,P00,P01,P02,P03,P16,P17這些IO口控制的 ...

stc8是有內置上拉電阻的,你最好了解一下,看你include的reg52,我猜你連stc的寄存器列表都沒看過吧?不然說啥都會用stc8的頭文件了。那么多寄存器全自己定義,不死人么?
ID:64336 發(fā)表于 2021-12-7 16:39
wulin 發(fā)表于 2021-12-7 16:01
可以用STC8頭文件,端口初始化全部準雙向。硬件按圖改一下。

不知道是不是廠家設置的有問題,我P0和P1口全部設置成高阻態(tài)了,P00,P01,P02,P03,P16,P17這些IO口控制的LED還是能點亮,并且是加電初始狀態(tài)就亮,按理說高阻態(tài)不能控制外部輸出的
ID:213173 發(fā)表于 2021-12-7 16:01
可以用STC8頭文件,端口初始化全部準雙向。硬件按圖改一下。




STC8.H.zip (3.8 KB, 下載次數(shù): 8)

  1. #include <STC8.H>

  2. void main()
  3. {
  4.     P0M0 = 0x00;
  5.     P0M1 = 0x00;
  6.     P1M0 = 0x00;
  7.     P1M1 = 0x00;
  8.     P2M0 = 0x00;
  9.     P2M1 = 0x00;
  10.     P3M0 = 0x00;
  11.     P3M1 = 0x00;
  12.     P4M0 = 0x00;
  13.     P4M1 = 0x00;
  14.     P5M0 = 0x00;
  15.     P5M1 = 0x00;
  16.     P6M0 = 0x00;
  17.     P6M1 = 0x00;
  18.     P7M0 = 0x00;
  19.     P7M1 = 0x00;

  20.     P0 = 0xFD;
  21.     while (1);
  22. }
復制代碼



ID:955673 發(fā)表于 2021-12-7 14:53
用到哪個設置哪個
ID:376613 發(fā)表于 2021-12-7 13:03
對每個IO單獨設置
ID:106977 發(fā)表于 2021-12-7 12:27
D4芯片開始必須對各個IO口設置,見D4說明書。

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

Powered by 單片機教程網(wǎng)

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