试编写程序,采用单片机定时器T0工作方式0下,从P1.0输出周期为3ms的方波信号,已知单片机的晶振为12MHZ

试编写程序,采用单片机定时器T0工作方式0下,从P1.0输出周期为3ms的方波信号,已知单片机的晶振为12MHZ,第1张

#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单片机输出产生方波的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10216789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存