在51hei-5这个型号的单片机学习开发系统上,我想让LED其中的三个依次亮,搞了很久还没有搞定,谁能帮我指出下面的 程序问题在哪里,不胜感激。
include <reg52.h> #define uint unsigned int #define uchar unsigned char uchar num; uchar temp[]={0xfe,0xfd,0xfc};/*LED显示*/ sbit a=P2^6;/*74H573锁存使能控制位,0时锁存*/ sbit b=P1^4;/*LED允许位,低电平有效*/ void delaytime(); void main() {a=1; P0=0xff; a=0; b=0; while(1) { for(num=0;num<3;num++) { a=1; P0=temp[num]; a=0; delaytime(); } } } void delaytime() {int x,y; for(x=0;x<200;x++) for(y=0;y<200;y++); }
P0口作为输入输出口使用时需要外加上拉电阻。
不知道你的3个led是不是分别对应P0.0~P0.2
如果是的话你应该将uchar temp[]={0xfe,0xfd,0xfc};/*LED显示*/
修改为uchar temp[]={0xfe,0xfd,0xfb};/*LED显示*/
不知道我的回答对你是否有些帮助?
谢谢,你的帮助 ,这是我的 QQ348440333,多交流,加我时,注上:"51单片机"
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |