为您找到"
单片机红外控制程序,上电后数码管显示8个0,遥控按每反应,这是什么原因...
"相关结果约100,000,000个
数字IC输出全是高电平。可不通电用万用表检查一下数码管是否焊接正确。如显示部分没有问题。就是输出逻辑没控制对。看看数字芯片的真值表。检查一下使能端 时钟等等
这个程序我之前写过一个,解码用单片机接收NEC遥控器32编码和电视遥控器42位编码,程序里面自动识别32和42位的编码用数码管进行显示对应的数值,我还写过红外发射,模拟NEC协议发射红外编码和电视机、奥克斯空调、卫星接收机都能控制,需要的可以百度私信!
设计一个单片机输入显示系统,要求每按一下按键数码管显示数据加1(数码管初始值为0,9加1 后显示0)。 我来答 首页 用户 认证用户 视频作者 帮帮团 认证团队 合伙人 企业 媒体 政府 其他组织 商城 法律 手机答题 我的 设计一个单片机输入显示系统,要求每按一下按键数码管显示数据加1(...
uchar j=0,k;while(1){ for(k=0;k<num[j];k++) //取数组num[]的数字,也就是灯闪几下的数字 { P0=ledp[j];//向p0口送值,也就是那个灯亮 delay(200);P0=0xff; //将灯全灭 delay(200);} j++; //j加一,也就是在while循环中 ,for语句中j改变,if(j==8){j=0;} ...
那么你控制位选,可以改变数码管的显示个数。如果你想改变数码管显示的数字,就改变段选吧。其实你这个一接电源就亮着是有原因的,你接上电源时,单片机的输出端口P0,P1,P2,P3都是复位的。除了P0口外,其他都处于高电平输出。当然,你的板子上也是肯定有个反相器,使高电平变成低电平。例如你刚上电...
void main(){ unsigned char i,j; while(1) for (i=0; i<8; ++i) { P0=DIG_CODE[i]; //发段码 P2=i<<1; //发位选 for (j=0; j<100; ++j); //延时 }} 延时的位置放错了,导致当前位选择为下一次服务了。
include<reg51.h> sbit k1=P1^0;define uint16 unsigned int define uchar unsigned char uchar code shuzu[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(){ uint16 i=1000;while(i--);} void main(){ uchar n ;P2=0xfe;P1=0xff;while(1){ if...
MOV 26H,20H ;二进制数第6位送26H单元 MOV 20H,A RR A ANL 20H,#01H MOV 27H,20H ;二进制数第7位送27H单元 这26H,27H是保存第6,7位数据的,但是延时子程序又用26H,27H单元了,延时结束,这两个单元永远是0了。DELAY: MOV 26H,#4 ;延时服务子程序 DLY1:...