久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4213|回復: 14
收起左側

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

  [復制鏈接]
ID:64336 發表于 2021-12-7 11:03 | 顯示全部樓層 |閱讀模式
圖上畫的是P75,實際電路P0,P1,P7口都是這樣的電路,就這樣的簡單控制LED都不能正常,P7口能正常控制LED亮滅,P0和P1口部分IO口都不能控制LED滅燈,部分LED常亮,常亮的LED單個IO口測試時也是常亮,是設置出問題了嗎?
#include "reg51.h"

sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P2M1 = 0x95;
sfr P2M0 = 0x96;
sfr P3M1 = 0xb1;
sfr P3M0 = 0xb2;
sfr P4M1 = 0xb3;
sfr P4M0 = 0xb4;
sfr P5M1 = 0xC9;
sfr P5M0 = 0xCA;
sfr P6M1 = 0xCB;
sfr P6M0 = 0xCC;
sfr P7M1 = 0xE1;
sfr P7M0 = 0xE2;

sbit P00 = P0^0;
sbit P01 = P0^1;
sbit P02 = P0^2;
sbit P03 = P0^3;
sbit P04 = P0^4;
sbit P05 = P0^5;
sbit P06 = P0^6;
sbit P07 = P0^7;
sbit P10 = P1^0;
sbit P11 = P1^1;
sbit P12 = P1^2;
sbit P13 = P1^3;
sbit P14 = P1^4;
sbit P15 = P1^5;
sbit P16 = P1^6;
sbit P17 = P1^7;
sbit P20 = P2^0;
sbit P21 = P2^1;
sbit P22 = P2^2;
sbit P23 = P2^3;
sbit P24 = P2^4;
sbit P25 = P2^5;
sbit P26 = P2^6;
sbit P27 = P2^7;
sbit P30 = P3^0;
sbit P31 = P3^1;
sbit P32 = P3^2;
sbit P33 = P3^3;
sbit P34 = P3^4;
sbit P35 = P3^5;
sbit P36 = P3^6;
sbit P37 = P3^7;

sfr P4   = 0xC0;
sbit P40 = P4^0;
sbit P41 = P4^1;
sbit P42 = P4^2;
sbit P43 = P4^3;
sbit P44 = P4^4;
sbit P45 = P4^5;
sbit P46 = P4^6;
sbit P47 = P4^7;

sfr P5   = 0xC8;
sbit P50 = P5^0;
sbit P51 = P5^1;
sbit P52 = P5^2;
sbit P53 = P5^3;
sbit P54 = P5^4;
sbit P55 = P5^5;
sbit P56 = P5^6;
sbit P57 = P5^7;

sfr P6   = 0xE8;
sbit P60 = P6^0;
sbit P61 = P6^1;
sbit P62 = P6^2;
sbit P63 = P6^3;
sbit P64 = P6^4;
sbit P65 = P6^5;
sbit P66 = P6^6;
sbit P67 = P6^7;

sfr P7   = 0xF8;
sbit P70 = P7^0;
sbit P71 = P7^1;
sbit P72 = P7^2;
sbit P73 = P7^3;
sbit P74 = P7^4;
sbit P75 = P7^5;
sbit P76 = P7^6;
sbit P77 = P7^7;


void main()
{
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0xFF;
    P3M0 = 0x00;
    P3M1 = 0xFF;
    P4M0 = 0x00;
    P4M1 = 0xFF;
    P5M0 = 0x00;
    P5M1 = 0xFF;
    P6M0 = 0x00;
    P6M1 = 0xFF;
    P7M0 = 0x00;
    P7M1 = 0x00;



    while (1)
    {

      P00 = 1;
      P01 = 0;
      P02 = 1;  
    }
}


51hei圖片20211207105515.png
回復

使用道具 舉報

ID:106977 發表于 2021-12-7 12:27 | 顯示全部樓層
D4芯片開始必須對各個IO口設置,見D4說明書。
回復

使用道具 舉報

ID:376613 發表于 2021-12-7 13:03 | 顯示全部樓層
對每個IO單獨設置
回復

使用道具 舉報

ID:955673 發表于 2021-12-7 14:53 | 顯示全部樓層
用到哪個設置哪個
回復

使用道具 舉報

ID:213173 發表于 2021-12-7 16:01 | 顯示全部樓層
可以用STC8頭文件,端口初始化全部準雙向。硬件按圖改一下。
無標題.jpg

無標題.png

STC8.H.zip (3.8 KB, 下載次數: 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:64336 發表于 2021-12-7 16:39 | 顯示全部樓層
wulin 發表于 2021-12-7 16:01
可以用STC8頭文件,端口初始化全部準雙向。硬件按圖改一下。

不知道是不是廠家設置的有問題,我P0和P1口全部設置成高阻態了,P00,P01,P02,P03,P16,P17這些IO口控制的LED還是能點亮,并且是加電初始狀態就亮,按理說高阻態不能控制外部輸出的
回復

使用道具 舉報

ID:624769 發表于 2021-12-7 17:08 來自手機 | 顯示全部樓層
北漂的二極管 發表于 2021-12-7 16:39
不知道是不是廠家設置的有問題,我P0和P1口全部設置成高阻態了,P00,P01,P02,P03,P16,P17這些IO口控制的 ...

stc8是有內置上拉電阻的,你最好了解一下,看你include的reg52,我猜你連stc的寄存器列表都沒看過吧?不然說啥都會用stc8的頭文件了。那么多寄存器全自己定義,不死人么?
回復

使用道具 舉報

ID:94031 發表于 2021-12-7 17:13 | 顯示全部樓層
你接線應按5樓給的改一下。
回復

使用道具 舉報

ID:213173 發表于 2021-12-7 17:37 | 顯示全部樓層
北漂的二極管 發表于 2021-12-7 16:39
不知道是不是廠家設置的有問題,我P0和P1口全部設置成高阻態了,P00,P01,P02,P03,P16,P17這些IO口控制的 ...

不要輕易懷疑芯片有問題,功能不正常99.9%是使用者的問題。加電燈就亮是你的硬件電路設計缺陷所致。
回復

使用道具 舉報

ID:636538 發表于 2021-12-8 10:55 | 顯示全部樓層
#include "reg51.h"建議修改成#include "STC8.h"使用該芯片的頭文件,找不到就去STC-ISP軟件添加到你的KEIL里面
回復

使用道具 舉報

ID:163817 發表于 2021-12-14 07:30 | 顯示全部樓層
D4這顆我P41我怎么設置。。只要=0一次,就回不到5V(只能回到3.多V),設置推挽模式也一樣(像樓主的P75我改為P41)
回復

使用道具 舉報

ID:57657 發表于 2021-12-14 07:59 | 顯示全部樓層
wulin 發表于 2021-12-7 16:01
可以用STC8頭文件,端口初始化全部準雙向。硬件按圖改一下。

D4 比 STC8 其他型號 新增了很多寄存器,IO口結構有改變,頭文件不一樣。
D4.png
回復

使用道具 舉報

ID:491875 發表于 2021-12-14 08:19 | 顯示全部樓層
xuyaqi 發表于 2021-12-7 17:13
你接線應按5樓給的改一下。

只是檢測LED是否點亮,光耦完全可以不用,將光耦直接用一只LED代替就可以了。從原理圖可以看出,光耦初級紅外發射管點亮次級LED發光。我們完全可以把光耦次級紅外發射管直接用LED代替。
回復

使用道具 舉報

ID:491577 發表于 2021-12-14 11:30 | 顯示全部樓層
樓主的驅動電路是體育老師教的吧?光耦需要5ma電流驅動,樓主的電流=(5V-1.8V)/2K=1.6ma,偏小,右邊LED驅動明顯有錯誤,是你的電路有問題。IO口只要不是設置成高阻模式都可以驅動LED,單片機IO默認是雙向,根本不需要設置IO口,直接用就可以,你的軟件沒有問題,LED電路有問題。
回復

使用道具 舉報

ID:992336 發表于 2021-12-14 23:46 | 顯示全部樓層
電路問題,光耦暗電路觸發了三極管,量一量IO輸出電位就清楚了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品二区亚洲w码 | 欧美一级黄 | 婷婷去俺也去 | 中文字幕免费在线 | 亚洲男人天堂网 | 男人的天堂久久 | 91成人在线视频 | 91精品国产综合久久福利软件 | 狠狠操av | 成人做爰www免费看视频网站 | 日韩乱码在线 | 日韩在线精品视频 | 中文字幕一区在线观看视频 | av黄色片| 久久精品国产久精国产 | 日韩h | 欧美综合在线视频 | 成人精品免费视频 | 欧美不卡| 中文字幕成人在线 | 91视频在线观看免费 | 麻豆av在线 | 中文字幕亚洲精品 | 日韩电影一区二区三区 | 精品久 | 亚洲视频二区 | 久久99深爱久久99精品 | 欧美美乳 | 亚洲一卡二卡 | 黄网址在线观看 | 国产一区二区三区四区三区四 | 久久精品色欧美aⅴ一区二区 | 欧美精品成人一区二区三区四区 | 伊人久久免费视频 | 亚洲欧美一区二区三区情侣bbw | 国产中文原创 | 久久久久国产精品一区二区 | 一区二区av| 久草新在线 | 亚洲一区免费 | 午夜精品一区二区三区免费视频 |