用定时器在数码管上依次扫描出1,2,3,4

来源:互联网 发布:java源代码分享 编辑:程序博客网 时间:2024/05/16 19:01
#include<reg52.h>//#include<intrins.h>#define uchar unsigned char#define uint unsigned int sbit dula=P2^6;sbit wela=P2^7;uchar code tabdu[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar code tabwe[]={0xfe,0xfd,0xfb,0xf7};uchar tt,numdu,numwe;void init();void main(){init();   //居然加上了VOID 结果我白白调试了将近一个小时气死人了while(1){    } }void init(){numdu=1;numwe=0;TMOD=0x01; EA=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;TR0=1;}void time1() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt++;if(tt==10){tt=0;wela=1;P2=tabwe[numwe];wela=0;numwe++;if(numwe==4)numwe=0;dula=1;P0=tabdu[numdu];dula=0;numdu++;if(numdu==16)numdu=1;}}
啥也不说了,细节的问题好久才看出来。越是细节越是最最简单的错误越不容易发现
0 0
原创粉丝点击