利用定时器T0方式0产生1ms的定时,在P1.0引脚上输出周期为2ms的方波。设单片机晶振频率fosc=12MHz。

利用定时器T0方式0产生1ms的定时,在P1.0引脚上输出周期为2ms的方波。设单片机晶振频率fosc=12MHz。
MOV TMOD__,
MOV TL0__,
MOV ____ , #0E0H
_____ TR0
LOOP:JBC TF0,NEXT
SJMP LOOP
NEXT:MOV TL0____,
MOV TH0________,
____ ______
SJMP LOOP

请各位帮个忙了

第1个回答  推荐于2018-03-01
#include<reg52.h> //52单片机头文件
#include <intrins.h> //包含有左右循环移位子函数的库
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
sbit P1_0=P1^0;
uchar tt;
void main() //主函数
{
TMOD=0x01;//设置定时器0为工作方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
while(1);//等待中断产生

}

void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
if(tt==20)
{
tt=0;
P1_0=~P1_0;
}
}本回答被网友采纳
第2个回答  2012-04-27
不用汇编,参考下,发现MOV ____ , #0E0H这里好像不太对。
#0X01
#0X18
TH0
SETB
#0X18
#0XFC
CPL P1.0本回答被网友采纳