东北大学微机实验3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
sbit P1_1=P1^1;
int a=0;
void main()
{
TMOD=0x10;
TH0=0x3C;
TL0=0xB0;
EA=1;
ET0=1;
TR0=1;
EX1=1;
while(1);
}
void time0_int(void) interrupt 2 {
TH0=0x3C;
TL0=0xB0;
a++;
if(a==20)//定时到1s
{
a=0;
P1_1=!P1_1;
}
}
#include
#define uint unsigned int
#define uchar unsigned char
void delay1ms(unsigned char);
uchar m=0,i=0;
void main()
{
TMOD|=0x01; //定时器0工作方式为1 TH0=(65536-50000)/256; //装初值
TL0=(65536-50000)%256;
EA=1; //开总中断
ET0=1; //开定时器中断
TR0=1; //开启定时器
EX1=1;
IT1=1;
while(1); //等待中断
}
void timer0() interrupt 1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
m++ ;
if(m==5) //12M晶振定时5*50MS=250MS
{
m=0;
P1=~(0X01<
if(++i==8)
i=0;
}
}
void int1()interrupt 2
{
uchar a;
while(1)
{
P1=0x7f;
for(a=0;a<8;a++){delay1ms(250);delay1ms(250);P1<<=1;} }
}
void delay1ms(unsigned char time)
{ uchar b;uint c;
for(b=0;b