东北大学微机实验3

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

}

相关文档
最新文档