已知89C51单片机的fosc=6MHZ,请利用T0和P1.0输出矩形波,矩形波高电平宽为50u
#include "reg51.h"
sbit OUT=P1^0;
void Timer0Init(void) //50微秒@6.000MHz
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x02; //设置定时器模式
TL0 = 0xE7; //设置定时初值
TH0 = 0x6A; //设置定时重载值300uS
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
EA =1; //开总中断
}
void main(void)
{
OUT=1;
Timer0Init()
while(1)
{
}
}
void TIMER0(void) interrupt 1 //定时器0中断函数使用默认寄存器组
{
OUT=!OUT;
if(OUT==0)
{
TH0 = 0xE7; //设置定时重载值50uS
}
else
{
TH0 = 0x6A; //设置定时重载值300uS
}
}
#include
unsigned char n;
sbit out=P1^0;
void main()
{
EA=1;
TMOD=0x02;
ET0=1;
TH0=TL0=156;
TR0=1;
while(1);
}
void t0() interrupt 1
{
out=(n==0)?1:0;
if(++n>3)n=0;
}
参考程序如下:
#include<reg51.h>
sbit WAVE = P1^0;
void main()
{
TMOD &= 0xF0;
TMOD |= 0x02; //定时器T0,工作在方式二,自动重载
TH0 = TL0 = 256-25; //6MHz的晶振,一个机器周期2us
IE |= 0x82;
TR0 = 1;
while(1);
}
void T0_INT() interrupt 1
{
static unsigned char i;
WAVE = (i<1) ? 1 : 0;
i = ++i % 7;
}
希望对你有所帮助!!!!!
已知89C51单片机的fosc=6MHZ,请利用T0和P1.0输出矩形波,矩形波高电平宽...
include "reg51.h"sbit OUT=P1^0;void Timer0Init(void) \/\/50微秒@6.000MHz { TMOD &= 0xF0; \/\/设置定时器模式 TMOD |= 0x02; \/\/设置定时器模式 TL0 = 0xE7; \/\/设置定时初值 TH0 = 0x6A; \/\/设置定时重载值300uS TF0 = 0; \/\/清除TF0标志 TR0 = 1; \/...
已知89C51单片机的fosc=6MHZ,请利用T0和P1.0输出矩形波,矩形波高电平宽...
include<reg51.h>sbit WAVE = P1^0;void main(){ TMOD &= 0xF0; TMOD |= 0x02; \/\/定时器T0,工作在方式二,自动重载 TH0 = TL0 = 256-25; \/\/6MHz的晶振,一个机器周期2us IE |= 0x82; TR0 = 1; while(1);}void T0_INT() interrupt 1{ static un...
已知89C51单片机的fosc=6MHZ,请利用T0和P1.0输出矩形波,矩形波高电平宽...
include<reg51.h> unsigned char n;sbit out=P1^0;void main(){ EA=1;TMOD=0x02;ET0=1;TH0=TL0=156;TR0=1;while(1);} void t0() interrupt 1 { out=(n==0)?1:0;if(++n>3)n=0;}
fosc=6mhz,周期2ms
手机版 我的知道 fosc=6mhz,周期2ms 已知89C51单片机的fosc=12MHz,用T1定时。试编程由P1.0和P1.1引脚分别输出周期为2ms和500μs的方波。解:采用模式0作定时初值:所以MOVR2,#04H;R2为“250μs”计数器,置入初值4CLRP1... 已知89C51单片机的fosc=12MHz,用T1定时。试编程由P1.0和P1.1引脚分别输出周期为2ms和...
89C51串行口按异步双工方式收发ASCII字符,最高位用来作奇偶检验位,采用...
解:7位ASCII码加1位奇校验共8位数据,故可采用串行口方式1。89C51单片机的奇偶校验位P是当累加器A中1的数目为奇数时,P=1。如果直接把P的值放入ASCII码的最高位,恰好成了偶校验,与要求不符。因此,要把P的值取反以后放入ASCII码最高位,才是要求的奇校验。2、串行口方式1的发送和接收 双工...
89C51系列单片机串口通信的四种方式极其特点
80C51串行通信共有4种工作方式,由串行控制寄存器SCON中SM0SM1决定.方式0是同步移位寄存器方式,帧格式8位,波特率固定:fosc\/12;方式1是8位异步通信方式,帧格式10位,波特率可变:T1溢出率\/n(n=32或16);方式2是9位异步通信方式,帧格式样11位,波特率固定:fosc\/n(n=64或32);方式3是9位异步通信方式,...
用AT89C51单片机设计声音报警器
用89C51片定时器 fosc=12MHz,从P1.0口输出500Hz org 000h sjmp do ;跳初始化程序 org 000bh ajmp t1ms ;1毫秒定时中断 do:mov tmod,#00010001b ;双定时T0,T1 setb et0 ;开中断 setb ea ;开中断 MOV TH0,#252 ;设定T0: 1ms中断一次12MHz MOV TL0,#24 setb tr0 ;开始...
89C51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序如...
时钟周期一个时钟脉冲所需要的时间。在计算机组成原理中又叫T周期或节拍脉冲。是CPU和其他单片机的基本时间单位。它可以表示为时钟晶振频率(1秒钟的时钟脉冲数)的倒数。时钟周期是单片机的基本时间单位,两个振荡周期(时钟周期)组成一个状态周期,若时钟晶振的振荡频率为fosc,则时钟周期Tosc=1\/fosc(即为...
已知8051单片机的fosc=6Mhz,请利用T0和P1.2输出矩形波.期矩形波高电频...
汇编还是C语言 我只会汇编的
51单片机的机器周期和晶振频率有何关系?当fOSC=8MHz时,机器周期是多少...
单片机的晶振为6mhz,说明1s产生6 000 000个脉冲,那么1个脉冲的时间是1\/6 000 000 s 即时钟周期为1\/6 000 000 s,12个时钟周期=1个机器周期 所以1\/6 000 000 s*12=2us即机器周期=2us