找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2799|回复: 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)
回复

使用道具 举报

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 单片机教程网

快速回复 返回顶部 返回列表