Ⅰ 单片机的系统晶振频率6MHz,,要求定时值为10ms,定时器T0工作在方式1时,其初值是多少TM
定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是1388H
TMOD的值是00000001B,TH0=13H;TL0=88H。
晶振频率为6M,则机器周期为2us,定时10ms,溢出值为5000,TMOD可以设置为方式0或者1,一般设置为1,初始设置如下:
TMOD=0x01
TH0=(65536-5000)/256
TL0=(65536-5000)%256
(1)单片机晶振和定时器扩展阅读:
初值定理适用于右边序列,即适用于k<M(M为整数)时f(k)=0的序列。它用于由象函数直接求得序列的初值f(M),f(M+1),…,而不必求得原序列。
初值定理使用条件是要求连续函数f(t)不含冲击函数δ(t)及其各阶导数,或者象函数F(s)为真分数。当象函数为真分式时,根据初值定理可直接由象函数得出函数的初值。
Ⅱ 设单片机系统的晶振为12MHz,要求使用定时计数器1,用C语言 编写程序实现
系统晶振为12MHz时,定时器的计数脉冲周期即为 1uS;
要求输出周期为200us,占空比为50% 的方波,即方波的高电平时间=100uS,低电平时间=100uS。
所以每定时100uS便产生一次中断,并将输出信号状态翻转一次;
sbit cp=P1^7;
void timer1 interrupt 3
{ cp=~cp; }
void main()
{
TMOD=0x20; // 定时器1采用方式2 进行定时;
TH0=256-100; //定时100uS;
TL0=TH0;
EA=1;ET1=1;TR1=1;
cp=1;
while(1){}
}