mcs51单片机的主频为12MHz的晶振采用定时器1产生2ms的定时中断

在线等。急

又一个需要此类程序的,好吧,再给你发一份


此程序利用LED作为指示的,你可以随意修改


别且所有语句都加了注释,方便你学习研究


原来我用的是定时器 0,特为你改成了定时器 1,感觉不错记得采纳哦!


/***************************************************************************/

#include <reg51.h> //51单片机通用头文件

sbit LED=P2^0; //LED端口定义

int n; //建立一个变量,用于计数

/***************************************************************************/

void main(void)//主函数

{

     TMOD=0x10; //定时器 0 工作方式 1

     TH1=(65536-1000)/256; //定时器 高四位 初值

     TL1=(65536-1000)%256; //定时器 低四位 初值

     EA=1; //开总中断

     ET1=1; //开定时器 0 中断

     TR1=1; //启动定时器 0

     while(1); //主循环

}

/***************************************************************************/

void int1() interrupt 3 //定时器中断

{

     TH1=(65536-1000)/256; //定时器 高四位 初值

     TL1=(65536-1000)%256; //定时器 低四位 初值

     n++; //计数用变量 累加

     if(n>200) //如果达到2ms

     {

         n=0; //计数用变量 清零

         LED = ~LED; //对LED进行位取反

     }

}

/***************************************************************************/

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-16
什么时候要哦追问

现在。急

追答

那来不及了。。
帮顶吧

追问

好吧。谢谢了。

追答

别客气

...器的频率是12MHz,利用定时器1采用方式1定时2ms,写出初值的计算过程...
51单片机指令频率是晶振频率的12分频,所以单片机的指令周期为1\/1MHz=1uS,所以定时器计一个数就是1uS,要定时2mS需要计数的数量为:2mS\/1uS=2000,定时器计满溢出定时器产生中断,所以初值为:65536-2000=63536,希望对你有帮助

8051单片机的晶振频率为12MHz,试用定时器中断方式编程实现从P1.0引脚...
MOV R2,#4 CPL P1.0 T0E:RETI END

51单片机晶振频率12MHz,编程实现P1.0输出频率为2KHz,占空比为50%的方波...
51单片机晶振频率12MHz,编程实现P1.0输出频率为2KHz,占空比为50%的方波,使用定时器 51单片机晶振频率12MHz,编程实现P1.0输出频率为2KHz,占空比为50%的方波,使用定时器T1工作方式2... 51单片机晶振频率12MHz,编程实现P1.0输出频率为2KHz,占空比为50%的方波,使用定时器T1工作方式2 展开 我来答 答题抽奖 首次...

设晶振为12MHz,选用定时器0的工作方式1产生20ms定时中断,并实现驱动2...
若单片机的晶振频率为12MHz,用51单片机内部定时\/计数器T0,工作方式为1,在单片机P1.0口产生周期为20ms的方波,波形占空比为50%。试解答下列问题: 1) 计算定时器的装入初值; 2) 用中断的方式使用定时器,编写相关程序序

晶振频率为12MHz的MCS-51单片机,使用定时器1以定时方法在P2.0输出周期...
定时160us。输出一次高电平,四次低电平。即可。程序如下:ORG 0000H MOV TMOD, #20H MOV TH1, #(256 - 160)MOV TL1, TH1 SETB TR1 LP1:SETB P2.0 MOV R2, #5 LP2:JNB TF1,CLR P2.0 CLR TF1 DJNZ R2, LP2 SJMP LP1 END ...

.已知51单片机系统晶振频率为12MHz,请利用定时器1工作方式1,中断方式...
MOVIE,#10001000B;开放总中断和T1中断。SETBTR1;启动T1 MOVTH1,#(65536-50000)\/256;重新送入初始值。MOVTL1,#(65536-50000)MOD256;定时50000us@12MHz RETI;中断返回 END;完 功能特性 1,可以仿真63K程序空间,接近64K的16位地址空间;2,可以仿真64Kxdata空间,全部64K的16位地址空间;3...

设MCS-51单片机使用的晶振是12MHz,欲使用定时器\/计数器1实现50ms定时中...
一、使用方式一:晶振频率为12MHz,机器周期为1us,50ms时间需要计数50000次,故计数器初值为(65536-50000),65536是因为方式一中,定时\/计数器的最大值为65536(2^16),当然写程序时不一定非要这么计算,因为定时\/计数器是溢出产生中断,也就是从最大加1就溢出,最大加1就是等于0的,只要计数个...

单片机作业求教 一个mcs51单片机系统使用12MHz的晶体作为振荡器,程序设 ...
MCS51是标准51系列单片机的统称;标准串口常用通讯方式为:10位异步收发模式。该模式波特率计算公式:Baud=2^(SMOD)\/32×T1溢出率,其中,SMOD只是一个位,最大为1,T1溢出率就是 中断时间的倒数(1\/T1中断时间),而 T1定时器由硬件自动选择到8位自重装模式。而标准51单片机,12MHz晶振,机械周期...

假设单片机的晶体振荡器的频率是12MHz,利用定时器1采用方式1定时20ms...
定时器的初值的计算如下:在定时器模式下,计数器的计数脉冲来自于晶振脉冲的12分频信号,即对机器周期进行计数。若选择12M晶振,则定时器的计数频率为1MHZ。假设定时时间为T,机器周期为T1,即12\/晶振频率。X为定时器初值。则 X=2^n-T\/T1。方式0,n=13,方式1时,n=16,方式2和方式3,n=8 ...

设单片机的晶振频率为12MHz,使用T0定时100ms,在P1.2引脚产生周期为200m...
T0定时器,就算开启 16位定时,最大值也只有65536 个机械周期(指令周期),普通51单片机为 12T模式,即机械周期T=12\/Fosc=1us,16为定时 也只能是 65.536ms,根本定不到100ms,想要100ms,只能是 采用 50ms 分次定时。

相似回答