最近在学习单片机,完全小白,c基础也可以说没有。
对于单片机中的中断有点不是很理解。
怎么写中断函数的初始化。怎么配置中断函数。中断函数到底是初始化后只执行中断函数,不执行主函数,还是同时执行。 让LED灯以1000ms(即1s)产生流水灯效果,并用定时器0让数码管以500ms从0~F闪烁#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char***it d1=P2^1;uchar weixuan=0x00;//位选全开uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//段选uchar temp,count,num;void delay(uint z){ uint x,y; for(x=z;x>0;x--){for(y=0;y<113;y++){}}}void main(){count=0;num=0;P1=weixuan;P0=table[num];temp=0xfe;P2=temp;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){delay(1000);temp=_crol_(temp,1);P2=temp;/*if(count==10){count=0;num++;if(num==16){num=0;}P0=table[num]; } */}}void time0() interrupt 1{TH0=(65535-50000)/256;TL0=(65535-50000)%256;count++; if(count==10){count=0;num++;if(num==16){num=0;}P0=table[num]; } }
觉得光有爱好坚持有点难,但既然开始了,就做出点样子吧。