| 要注意P的大小写,还有while()循环。 其实刚开始接触单片机还是要多看参考程序代码,多积累 |
| 低电平有效呗 |
| oxff什么意思都不明白? |
| 你这个很明显程序有问题,上面已经给出了正确的程序。然后,还要检查硬件有没有错误,是否元件损坏等 |
三感 发表于 2019-5-17 22:45 你要相信 真的不报错的 |
wj_yuq 发表于 2019-5-18 13:41 谢谢 现在改完了 |
问青天磕大地 发表于 2019-5-18 10:28 没那么大的能力 |
| 首先要从原理图层面搞清楚什么样的输出有效,此处为输出低电平有效,再者,要清除了解编程软件的规范(如大小写要求);第三从最简单做起以了解细节 |
| 难道芯片给你整坏了,击穿了,造成漏电,4灯都亮 |
| main函数里面加一个P0M0=0;P0M1=0;基本的框图要打好啊,还有while()呢? |
| 不报错?我不信。 |
| 还有那个P应该用大写的 |
| p0.4这个点怎么看着那么别扭 把他改成∧试试吧 |
| 0才是开,1应该是关,你的程序是让一个灭 |
angmall 发表于 2019-5-16 18:26 这还去给写一遍 ![]() |
| P要用大写,头文件改成#include "reg51.h"这个51就行了,还有没有while()循环,而且按你图纸=1是不亮,=0是亮 |
smarttran 发表于 2019-5-17 01:43 谢谢了 辛苦 ![]() |
| 楼主你这个代码哪是让一个灯亮呀?有几个问题:1,程序没有死循环,只要程序跑到LED4=0后,就会从头开始又执行一次了,2、P0=0xff,就是把四个灯关了,LED1=1就没有意义了,接着后面3个灯会全亮,亮完后,程序又从头开始执行。修改建议:while(1){P0=0xff;led1 = 0;delay();P0=0xff;delay();led2 = 0;delay();P0=0xff;delay();led3 = 0;delay();P0=0xff;delay();led4 = 0;delay();} |
|
改成: void main() { p0=0xff; while(1){ led1=0; led2=1; led3=1; led4=1; } } |
angmall 发表于 2019-5-16 18:26 感谢 这个改成了跑马灯 挺谢谢的 |
stephanie_han 发表于 2019-5-16 18:20 谢谢 还是会亮 |
lele5211314 发表于 2019-5-16 17:26 谢谢 使用了 没有变 |
wulin 发表于 2019-5-16 17:15 这个头文件 是对的 并不是从网上抄写 也可以编译出hex文件 你写的这个我也改了没有用 还是同样的效果 |
|
定义有些问题 我给你来个程序试试
|
| 试试看p0=0x10是不是也都亮? |
| 程序运行可能出现问题,建议在led4=0;后面加个while(1);死循环 |
|
估计楼主这个程序是胡乱抄的,并不是楼主用于芯片下载的程序,一共就十一条语句,几乎没有一条是正确的,并且不可能通过编译器成功编译得到hex文件。 1.首先<stc15.h>这个头文件名就不存在,官方名称是 <STC15F2K60S2.H>,按楼主目前水平还不具备自主编辑专用头文件。 2.四条led端口定义的写法全是错误的。 3.main函数第一条P0=0xff;是多余的,因为MCU加电复位P0就是高电平。 4.楼主想要4个led中的1个发光,其余不发光,逻辑反了。 5.程序必须限制在main函数内循环,否则执行完指令后会跳出main函数。必须用while(1)限制。 楼主试试这个程序 #include <STC15F2K60S2.H> sbit led1=P0^4; sbit led2=P0^5; sbit led3=P0^6; sbit led4=P0^7; void main() { led1=1; led2=1; led3=1; led4=0; while(1); } |
| 直接写led1=0就可以了吧,其他可以不要写。 |
| 用的什么?开发板还是自制电路?发图上来,看看你led的接线方式 |
| 把原理图发来看看, |
jmkl128 发表于 2019-5-15 17:24 改了 还是不行。。。 ![]() |
| p0=0xff;把这一句改成p0=0x00; |
15775211617 发表于 2019-5-15 14:49 头文件不是stc15.h么? 现在是高低电平都会亮 不知道怎么改 |
| 头文件 ? 位申明? 低电平有效? |
ssk7793 发表于 2019-5-15 11:29 可以可以 |
ssk7793 发表于 2019-5-15 11:29 能通过 但是他全亮 ![]() |
| 你确定你的程序能编译通过? |