各位大佬。问题已经解决了。程序有错误但是不大,硬件电路也没有错误。最根本的错误是我用错了软件。用KEIL 5 编写2051的程序生成的HEX文件时错误的。我在虚拟机上下载了XP系统,安装了KEIL 2 再生成新的HEX文件就是对的了。 |
主例程没有无限循环,加电时仅执行初始化,因此输出默认设置为高。 |
程序问题,第一、main函数里面没有while循环,程序上电执行一遍就跑飞了。第二、没有输出,单片机默认输出高电平 |
bhjyqjs 发表于 2020-4-28 14:20 这是一个正在使用的产品,硬件电路没有问题,可以使用。只不过,我在硬件上学的太少,不知道怎么驱动。写的程序也没有任何反映。 |
AT89C2051是老式的51单片机,拉电流只有几十uA,所以高电平输出无法完成。该芯片灌电流最大20mA,所以要更改相应的驱动电路,才能完成设计意图。 |
直接P3=0x00 |
zmc419 发表于 2020-4-28 10:44 单片机和硬件电路没有问题。就是我的程序问题,但是我看不出来 |
P3双向口,应该不用上拉。 |
直接P3=0x00,测试硬件有无问题。 |
给个方向也好![]() |
单片机默认是高电平,你的watchdog一直在往复硬件复位,所以输出一直是高电平。所以应该是你的喂狗方式有问题 |