80C51单片机,振荡频率是12MHZ,用定时/计数器T1实现从P1.1产生周期是2s的方

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-15
89S52单片机,振荡频率是12MHZ,用定时/计数器T1实现从P1.1产生周期是2s的方

void main(){ EA = 1; ET1 = 1; TMOD |= 0x10; TH1 = 0x3C; TL1 = 0xB0; TR1 = 1; while(1) { }}void timer1() interrupt 3{ static unsigned char t = 0; TH1 = 0x3C; TL1 = 0xB0; t++; if(t == 20) { t = 0; P1^1 = ~P1^1; }}

易算出10ms需要10000个机器周期,即2710H,20ms需要20000个机器周期,即4E20H
#include
void
T1ISR()
interrupt
3
{
static
bit
out;
out=!out;
if(out){
P1_1=1;
TH1=(0x10000-0x2710)/0x100;
TL1=(0x10000-0x2710)%0x100;
}else{
TH1=(0x10000-0x4e20)/0x100;
TL1=(0x10000-0x4e20)%0x100;
}
}
void
main()
{
TMOD=0x10;
TH1=(0x10000-0x2710)/0x100;
TL1=(0x10000-0x2710)%0x100;
EA=ET1=TR1=1;
while(1);
}

主程序里设置:uchar a=0;TMOD=0x10;
ET1=1;EA=1;
TH1=(65536-50000)/256;//定时50ms 20次是1STL1=(65536-50000)%256;
TR1=1;
中断程序:void timer1( ) interrupt 3{ TH1=(65536-50000)/256;//定时50ms
TL1=(65536-50000)%256; a++; if(a==20} { a=0; P1.1=~P1.1; }}

编程,语言?

  • 80C51的单片机时钟周期和机械周期是多少?
    答:当80C51单片机晶振频率为12MHz时,时钟周期为(1/12)微秒,机械周期为1微秒。时钟周期:一个时钟脉冲所需要的时间。在计算机组成原理中又叫T周期或节拍脉冲。是CPU和其他单片机的基本时间单位。它可以表示为时钟晶振频率(1秒钟的时钟脉冲数)的倒数(也就是1s/时钟脉冲数,比如1/12MHz),对CPU来说,...
  • 80c51单片机介绍
    答:并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。
  • 当80C51单片机晶振频率为12MHz时,时钟周期.机器周期各是多少?
    答:1.时钟周期即晶振的单位时间发出的脉冲数,12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒.2.一个机器周期等于12个时钟周期,所以是1微秒.
  • 设80C51单片机晶振频率为12MHZ,定时器作计数器使用时,其最高的输入计数...
    答:或者按照时间计算,晶振频率12M的2个机器周期即2us,那么频率就是1/2*10^6=500khz,结果相同。
  • 80c51概述
    答:80C51内置时钟电路,但需要外部的石英晶体和微调电容配合,如本系统中使用的12MHz晶振频率。由于80C51在系统性能上能满足数据采集和时间精度要求,且由于其产品供应广泛、应用成熟,使得它成为了理想的控制核心选择。它的功能强大和稳定性使得其在众多应用场合中表现出色,是许多项目中不可或缺的组件。
  • 80C51单片机,振荡频率是12MHZ,用定时/计数器T1实现从P1.1产生周期是2s...
    答:主程序里设置:uchar a=0;TMOD=0x10;ET1=1;EA=1;TH1=(65536-50000)/256;//定时50ms 20次是1STL1=(65536-50000)%256;TR1=1;中断程序:void timer1( ) interrupt 3{ TH1=(65536-50000)/256;//定时50ms TL1=(65536-50000)%256; a++; if(a==20} { a=0; P1.1=~P1.1;...
  • 设80C51单片机的晶振频率为12MHz,试用内部定时方式产生频率10kHz的方 ...
    答:12M内部12分频后1M,也就是计数频率1us,50us中断一次并对IO口进行取反即可
  • 80C51单片机,12mhz.利用中断程序控制8个灯依次亮灭,定时时间为1秒。
    答:TMOD|=0x01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。TH0=0xfe;//给定时器赋初值,定时1ms TL0=0xfc;ET0=1;//打开定时器0中断允许 EA=1;//打开总中断 TR0=1;//打开定时器 } void main(){ Timer0Init();while(1);} void timer0() interrupt 1 { uchar i;for(i=0;...
  • 设80c51单片机的晶振频率为12MHz,试编程输出频率为100Hz,占空比2:10...
    答:给个例子,也许可以满足你的要求:include "reg51.h"#define FOSC 12000000L#define T1XXH (65536-FOSC/12* 2/1000) +2 // 2ms timer calculation method in 12T mode#define T1XXL (65536-FOSC/12* 8/1000) // 8ms timer calculation method in 12T mode/* define SFR */sbit T...
  • 若80C51单片机的时钟频率为12MHz,请问P1.3引脚输出频率为多少的方波...
    答:机器周期T=12/12 us=1us 对应周期为((256-156)×1us)×2=200us 频率1/200×1000000=5k hz