#include <reg51h>
#define uchar unsigned char
sbit OUT=P2^1;
void InitTimer0( )
{
TMOD = 0x01;
TH0 = (65536-1500)/256;
TL0= (65536-1500)%256; //15ms中断一次
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main( )
{
InitTimer0();
while(1);
}
void Timer1Interrupt( ) interrupt 1
{
TH1 = (65536-1500)/256;
TL1 = (65536-1500)%256;
OUT= !OUT;
}
硬件特征
(1)单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。
(2)单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。
(3) 单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。
(4)单片机对数据的处理能力和运算能力较强,可以在各种环境中应用,且有着较强的控制能力。
百度百科-单片机
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H
MOV TH0,#HIGH(65536-25000)
MOV TL0,#LOW(65536-25000)
SETB TR0
SETB ET0
SETB EA
SJMP $
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-25000)
MOV TL0,#LOW(65536-25000)
SETB TR0
CPL P10
RETI
END
#include"reg52h"
sbit PWM=P1^0;//定义输出脚
void main()
{
TMOD=0x01; //定时器0工作方式1
TH0=(65536-10000)/256; //12M晶振10MS计时常数
TL0=(65536-10000)%256;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //启动定时器0
while(1);
}
//中断函数,启动后每10MS进入一次中断
void T0_time(void) interrupt 1
{
TH0=(65536-10000)/256; //12M晶振10MS计时常数
TL0=(65536-10000)%256;
if(PWM)PWM=0; //输出脚取反
else PWM=1;
}
以上就是关于试编写程序,采用单片机定时器T0工作方式0下,从P1.0输出周期为3ms的方波信号,已知单片机的晶振为12MHZ全部的内容,包括:试编写程序,采用单片机定时器T0工作方式0下,从P1.0输出周期为3ms的方波信号,已知单片机的晶振为12MHZ、51单片机用定时器某一方式通过端子输出一个方波,方波的周期为50ms已知、求高手 用51单片机输出产生方波的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)