若80C51单片机的时钟频率为12MHz,请问P1.3引脚输出频率为多少的方波;谢谢帮解答

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-09-10
如果单片机的时钟频率为12MHz,编写用单片机的定时方式产生微50Hz的等宽矩形方波从P1.7输出的程序

思路:对于89c51单片机而言,选择单片机定时方式1,即采用16位(TH1、TL1)定时方式,定时0.01s,并设置定时器初值为#0B1D0H。
程序如下:
ORG 0000H
AJMP MAIN
ORG 001B
AJMP SERVE
ORG 0030H
MAIN:MOV TMOD,#10H;设置定时器工作方式1
MOV TH1,#0B1H
MOV TL1,#0D0H;
SETB ET1;
SETB TR1;
SETB EA;开启中断
SJMP $
SERVE:CPL P1.7;
CLR TF1;
MOV TH1,#0B1H
MOV TL1,#0D0H;
RETI;

用一个定时器定时50us,也可以达到题目要求。
在我的空间里面有类似的问题和解答。
------------------------
ORG 0000H
SJMP START
ORG 001BH ;T1中断入口.
SJMP T1_INT
START:
MOV TMOD, #20H ;设置T1定时方式2
MOV TH1, #206 ;自动重新装入方式.
MOV TL1, #206 ;定时时间50us@12MHz
MOV IE, #10001000B ;开放总中断和T1中断.
SETB TR1 ;启动T1
MOV R2, #3 ;周期是3×50us
SJMP $ ;等着吧.
T1_INT:
SETB P1.0 ;输出高.
DJNZ R2, T1_END ;R2-1
CLR P1.0 ;减到0,就输出低电平.
MOV R2, #3
T1_END:
RETI ;中断返回.
END ;完.

机器周期T=12/12 us=1us
对应周期为((256-156)×1us)×2=200us
频率1/200×1000000=5k hz

(FFFF-9C9C)*1/12/1000000*12=25443微秒
周期是25443*2=50886
频率自己会算吧

  • 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,利用定时器T0定时,在P1.0端输出一方 ...
    答:include<reg51.h> sbit pluse=P1^0;main(){ TMOD=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;TR0=1;while(1){ if(TF0==1){ TF0=0;TH0=(65536-500)/256;TL0=(65536-500)%256;pluse=~pluse;} } }
  • 设80c51单片机的晶振频率为12MHz,试编程输出频率为100MHz,占空比2:10...
    答:你好:但就用12MHz的单片机时不可能输出100MHz频率的波形的,因为,单片机最快的速度也才是1us,而且加上指令,速度就好几微妙去了,就算用定时器做,抛开误差不说,最大也只能输出1MHz的波。希望我的回答能帮助到你。
  • 80C51单片机,12mhz.利用中断程序控制8个灯依次亮灭,定时时间为1秒。
    答:include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int unsigned char tab[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0xff};void delay(uint e) //延时函数,延时为0.5s { uint i,j;while(e--){ for(i=0;i<500;i++)for(j=0;j<110;...
  • 单片机试题会做的来
    答:你也不加分,帮你做几个简单的吧。1、若80C51单片机的晶振频率fosc=12MHz,则时钟周期是多少?机器周期是多少?时钟周期1/12M,机器周期12/12M=1us 2、进制转换:(116)10=(01110100)2=( 74 )16=( 164 )8 3、四组,0组:00H-07H,1组:08H-0FH,2组:10H-17H,3组:18H...
  • 单片机·汇编初学者求教高手:80c51用定时器在p1.0管脚上产生一周期为2...
    答:1、定时器工作方式0,1,2,3的TMOD=0x00,0x11,0x22,0x33 2、#include <reg51.h> sbit out=P1^0; //定义方波输出脚 void main( void) //主函数 { out=0; // P1.0输出为0 TMOD=0x01; //工作方式1,16位计数 TH0=0x03; //给定时器初值,周期为2ms,则半个...
  • 80c51单片机的时钟周期、机器周期和指令周期的关系
    答:时钟周期=晶振频率的倒数,即= 1 / fosc。机器周期= 12 * 时钟周期= 12 / fosc。指令周期根据指令的不同,其周期数不同。
  • 80c51单片机介绍
    答:80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制...
  • 80c51单片机介绍
    答:80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制...
  • 80c51单片机晶振频率分别为6MHz、11.059 2MHz、12MHz时,机器周期分别为...
    答:一、时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用...