51单片机采用12Mhz晶振,采用定时工作方式1,定时时间为:40毫秒,计算出初始值。

作者&投稿:戎侍 (若有异议请与网页底部的电邮联系)
51单片机教程采用6Mhz晶振,采用定时方式1,定时时间为:40毫秒计算出初始值~

TH=B1.TL=E0,(十六进制)

对于12MHz的时钟,51单片机的机器周期就为
1/(12000000/12)=1us
那么对于定时1ms,需要定时器计数的个数就为
1ms/1us=1000
那么,对于方式1,需要装入的时间常数就为
2^16-1000=64536——0xfc18
建议随便参考一本51单片机的教材,都会有相关介绍。

T0方式1为16位定时计数器。计满TL0和TH0需要 2^16 =65536个数,设时钟频率为 12MHz , 此时 1 个机器周期 = 12个时钟周期 = 1µs, 即计数一次为1µs,
现要计时40毫秒=40000us, 即计数40000次, 显然在TH0T和TL0中要预先装入一个数值N, 使
N + 40000 = 65536 , 计算得 N = 25536 , 换算成十六进制数为 63C0H , 这就是初始值.
用C 语言操作时,只须将高8位(就是前2位)TH0, 将后2位写入TL0 即可.

T0的初始化过程为
TMOD=0x01;
TH0=0x63;
TL0=0xc0;
EA=1;
ET0=1;
TR0=1;

按 普通 12T模式计算,12MHz 晶振 机械周期为 t=12/12MHz=1us,40ms=40000us,工作模式1(16位) 的定时器 ,高8位初值 th=(2^16-40000)/256=99=0x63;低8位初值 tl=(2^16-40000)%256=192=0xC0;


设MCS-51单片机使用的晶振是12MHz,欲使用定时器\/计数器1实现50ms定时中...
不管使用什么工作方式都是可以完成的,这个取决于你设置的定时\/计数器的初值。下面使用方式一和方式二来分别说明。一、使用方式一:晶振频率为12MHz,机器周期为1us,50ms时间需要计数50000次,故计数器初值为(65536-50000),65536是因为方式一中,定时\/计数器的最大值为65536(2^16),当然写程序时不...

设单片机晶振频率为12MHz,请编写一个程序段,使用定时器1以方式1产生周 ...
主程序里这样设置 TMOD=0x10;\/\/定时器1作为定时器用 TH1=(65536-50000)\/256;TL1==(65536-50000)%256;EA=1;\/\/开总中断 ET1=1;\/\/允许定时器1中断 TR1=1;\/\/启动定时器1 中断程序如下:void timer1()interrupt 3\/\/注意:定时器1的中断序号为3 { TH1=(65536-50000)\/256;TL1==(65536-...

设单片机晶振频率12mhz,使用定时器1以工作方式1产生周期为100ms的等宽...
假设用P1.1输出,程序如下:include<reg52.h> \/\/主程序 void main(){ TMOD=0x10;\/\/ 定时器1工作方式一 ET1=1;EA=1;TH1=(65536-50000)\/256;TL1=(65536-50000)%256;TR1=1;while(1);} \/\/中断子程序 void Timer1() interrupt 3 { TH1=(65536-50000)\/256;TL1=(65536-50000)%256;P1...

编程题 设MCS-51单片机系统中晶振频率为12MHz,欲使用定时器\/计数器1...
采用12Mhz晶振的51单片机,软件如下(调试通过)include <reg52.h> define PERIODH (65536l-50000l)\/0X100 \/\/设50ms中断1次TH1初值 define PERIODL (65536l-50000l)%0X100 \/\/设50ms中断1次TL1初值 \/\/如果需要极精确的延时,应根据实际编译后的产生的汇编指令,扣除掉中断响应中重装所占用的...

单片机晶振为12mhz,要求定时器t1工作方式1,分别实现5ms10ms100ms1s的...
TMOD = 0x10;\/\/定时器1方式1 TH1 = (65536 - 50000)\/256;\/\/定时5ms 高八位 TL1 = (65536 - 50000)%256;\/\/定时5ms 低八位 5ms溢出进入中断一次,如果需要10ms或更长的定时时间,可以定义一个变量,溢出一次变量自增一次。

若8031单片机的时钟频率为12MHZ,定时器T1选用工作方式1,则最长的定 ...
65535US。方式1为16位计数器,12分频后是1MHZ,16位计数器最大是65535,所以(65535\/1M)*10的6次方=65535us

已知单片机的晶振频率为12MHz,要求用T1工作方式1完成60ms定时,同时让T0...
void Timer1Init(void)\/\/60毫秒@12.000MHz { AUXR &= 0xBF;\/\/定时器时钟12T模式 TMOD &= 0x0F;\/\/设置定时器模式 TMOD |= 0x10;\/\/设置定时器模式 TL1 = 0xA0;\/\/设置定时初值 TH1 = 0x15;\/\/设置定时初值 TF1 = 0;\/\/清除TF1标志 TR1 = 1;\/\/定时器1开始计时 } ...

89S51单片机的串行口工作方式1,晶振频率为12MHz,定时器T0工作工作方式2...
第一个问题:晶振频率为12MHz,计算出来的波特率是不精确的,通信时会出乱码的,要用11.0592MHz的晶振。第二个问题:定时器T0不论工作方式几都不能作为波特率发生器的,必须用T1。这样的话,时间常数的计算是:X=F4H。

已知单片机系统晶振频率为12MHz,若要求定时值为10ms时,定时器T0工作在...
已知单片机系统晶振频率为12MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值TH0=( (65536-10000)\/256 ),T L0=( (65536-10000)%256 ),TMOD的值是( 0x01 ) 。

单片机编程 设单片机的晶振频率为12MHZ,请编出利用定时\/计数器T0,使...
include"reg52.h"define uchar unsigned char sbit Wave=P1^0;void Timer0() interrupt 1 { static uchar t50ms;TL0=0xb0;TH0=0x3c;t50ms=++t50ms%20;if(!t50ms) Wave=~Wave;} void TimerInit(){ TMOD=0x01;TH0=0x3c;TL0=0xb0;TR0=1;EA=1;ET0=1;} void main(){ TimerInit...

上海市15041912821: 51单片机采用12MHZ的晶振时一般用30PF的电容,这个30是怎么来的? ... -
臾秦多索: 不是谐振电容,是耦合电容.根据通过的频率,大致的.

上海市15041912821: 51单片机选用了12MHZ的晶振,但是用示波器观察输出波形周期约为0.8ms,不是0.8us吗?不是请高手指教! -
臾秦多索: 晶振上的频率应该是12MHZ的,你把示波器的时间刻度调小,调到20ns/格就可以看到了 或者按一下自动设置 出现这种现象的原因是示波器的采样率决定的,当采样率太低时会出现频率成倍降低的假象

上海市15041912821: 51单片机用多大频率的晶振好呢,11.0592m和12m有什么区别?立创商城的晶振怎么样? -
臾秦多索: 晶振的振荡频率,要根据单片机的具体应用场合来决定,并不是越高越好. 11.0592MHz和12MHz的振荡频率相差不大,但如果你的单片机需要用异步串行通信功能的话,建议你选用11.0592MHz的振荡频率.因为你在进行波特率发生器的编程中,采用这个振荡频率的话,波特率计数器的计数初值可以是整数;而采用12MHz振荡频率,则计数初值只能是一个大约值(接近于某个小数的整数),长时间通信会产生误差积累而导致通信失败.

上海市15041912821: 单片机作业求教 一个mcs51单片机系统使用12MHz的晶体作为振荡器,程序设计中需要使用一个 -
臾秦多索: MCS51是标准51系列单片机的统称;标准串口常用通讯方式为:10位异步收发模式.该模式波特率计算公式:Baud=2^(SMOD)/32 *T1溢出率,其中,SMOD只是一个位,最大为1,T1溢出率就是 中断时间的倒数(1/T1中断时间),而 T1定时器...

上海市15041912821: 为啥单片机的晶振都选用11.0592M ? -
臾秦多索: 一般单片机与其他设备通信时,基本上选用的晶振都是11.0592M,因为它理论上产生的波特率误差为0,只是晶振频率受外界影响会有点误差.

上海市15041912821: 单片机为什么要分频??比如说12MHz的晶振为什么要再进行12分频? -
臾秦多索: 如果你是指传统51单片机的指令周期,那是由于初期设计的原因,那时候硬件技术还没现在这么发达,执行指令时需要子时钟,就把12个振荡周期规定为1个机器周期,第几个振荡周期取指,第几个振荡周期译码等等都排好了,都是有用的.现在技术进步了,好多单片机改进了,有6T甚至1T机器周期,速度当然快多了.希望对你有帮助.

上海市15041912821: 若AT89S51单片机采用12MHz的晶振,它的机器周期为多少?ALE引脚输出正脉冲频率为? ... -
臾秦多索: 机器周期为1微秒,ALE正脉冲频率为1/36 微秒,即0.0277微秒

上海市15041912821: 某MCS - 51单片机晶振频率为12MHz,使用定时/计数器T0以方式2,编写程序. -
臾秦多索: #include sbit Pwm=P1^0; void InitTimer0(void) { TMOD = 0x02; TH0 = 0x00; TL0 = 0x9C; EA = 1; ET0 = 1; TR0 = 1; } void main(void) { InitTimer0(); } void Timer0Interrupt(void) interrupt 1 { TH0 = 0x00; TL0 = 0x9C; Pwm=!Pwm; }

上海市15041912821: 利用51单片机的定时器1(t1)产生一个500hz的方波,由p1.1口输出,晶振12mhz采用 -
臾秦多索: t=1/f t=2ms 周期为2ms 利用定时器每1ms进入一次中断,中断中将p1,1输出状态改变 就可以输出500hz的方波

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网