这个开发板好复杂,LED不在 P2口,还隔着译码器和锁存器 自己焊个LED串个电阻,用杜邦线插芯片附近玩吧 |
先用示波器测一下,LED端口的电平变化了没?没有变化再测一下你设置的端口电平是不是正常?不正常再取看看程序里设置对不对。 |
1093562897 发表于 2021-7-30 17:27 请问,端口模式在哪里设置呢 |
IO口选择错了吧 |
你先确认一下P20是不是接到你的LED灯上面,然后你是高电平点亮还是低电平点亮,最好是先跑开发板给你的例程。有时你下载时MCU是不是选对了,等等。还有建你的原理图拍清楚一点。 |
加电阻和LED焊反 |
看看板子电路是高有效还是低有效,即PIN角高还是低点亮led,别搞反了 |
是不是经过反相器芯才到 LED 试下 LED=1;原理图真看不清 |
51的板子的话是不是,没有设计延时函数呀,其他型号的板子还不确定,需要照片啥的来参考和程序 |
这板子不适合你初学,换块简单便宜的板子吧,有了一定的基础再用它 |
按照开发板给的例程,你的没有吗 |
万用表二极管档量下灯是不是好的 |
如果你用的是51单片机,你这个程序应该是有用的,应该可以点亮一个LED的,最好拿万用表量一下LED两边的电压,看看LED有没有焊反,但这个可能性不太大,或者你的LED是不是被你烧了,你可以用一根杜邦线去尝试把这个LED人为的点亮,如果可以亮就说明LED没有问题,用万用表也可以测出来的 |
用这个代码试试? #include <reg52.h> void delay(int t) { int a,b; for(a=0;a<t;a++) { for(b=0;b<110;b++); } } main() { while(1) { P0=0x00;//打开亮LED WR=0;//打开LED锁存 P2=0x07;//打开LED锁存 WR=1; delay(400); P0=0xff;//关闭 LED WR=0;//打开LED锁存 P2=0x07;//打开LED锁存 WR=1; delay(100); } } |
首先,确保LED坏了。 如果是,请更换 LED。 如果没有,请检查您的代码。 |
#include <reg52.h> void main(void) { P2 = 0x0f while(1); }P2端口有一半是高电平,一半是低电平 如果不是这样,请检查你的硬件 如果不知道什么意思,请再学习C语言 如果还是觉得太复杂了,请用汇编 MOV P2,#0FH 只要一条指令,这个和上面的C语言一样的效果,如果没有这个效果,依然是硬件问题 如果还是不行.......我也不知道要怎么办了 |
这么模糊,根本就没办法看 |
这个图。。真够清楚的了。。![]() |
jationlee2021 发表于 2021-7-24 23:03 合适的代码 在10楼 论坛有一堆可参考 http://www.51hei.com/bbs/dpj-203318-1.html |
板上不是有吗?没有原理图如何写?靠猜吗?原理图发上来,有人会帮你写的 |
名字不是重点 发表于 2021-7-24 22:59 那您能帮我写个合适的代码嘛?还有您怎么知道是经过了锁存器 |
你买的开发板没有例程吗?找商家要啊! |
你这个开发板输出到LED是经过锁存器的,你的锁存器没有相关的代码,当然不亮了。 |
你再把开发板的原理图发出来。 因为你用的是开发板,所以元器件焊错的问题可以说不存在,最大的可能就是IO配置错了 ![]() |
angmall 发表于 2021-7-24 22:49 用这个代码试试吗? |
单片机是根据硬件电路图的设计来写代码的 #include <reg52.h> void main(void) { P2 = 0XA0;//打开蜂鸣器锁存 P0 = 0X00;//输送关闭蜂鸣器命令 P2 = 0X00;//关闭蜂鸣器锁存 P2 = 0X80;//打开LED锁存 P0 = 0X7F;//打开亮LED while(1); } |
angmall 发表于 2021-7-24 22:35 我这个只用点亮第一个Led灯,您给的程序太复杂了,不懂 |
我给你来个程序试试
|
我在这论坛混了三年,吃到最多就是这道"仿真可以,实物却不行"标配菜 |
虽然只是个点灯,但是不亮的可能性太多了,首先判断共阴共阳弄对了不,sbit对应上实际引脚了没,写0XFF,0X00是什么效果。慢慢试 |
LED焊反或坏了。 |
板子照片和代码发来,坛子里的高手瞬秒 |
板子照片和代码发上来瞧瞧,坛子里的高手瞬秒. |