找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1462|回复: 3
收起左侧

大家看下给单片机定时器赋初值250这样对吗?是否能产生250us的方波

[复制链接]
ID:1054536 发表于 2022-11-29 08:51 | 显示全部楼层 |阅读模式
//实例 48-1:输出正脉冲宽度为 250us 的方波
#include<reg51.h>
sbit u=P1^4;
//包含 51 单片机寄存器定义的头文件
//将 u 位定义为 P1.4
/*******************************************
函数功能:主函数
******************************************/
void main(void)
{
TMOD=0x02; //TMOD=0000 0010B,使用定时器 T0 的工作方式 2
EA=1;
ET0=1;
//开启总中断
//定时器 T0 中断允许

TH0=256-250;
TL0=256-250;
TR0=1;
while(1)
;
//定时器 T0 的高 8 位赋初值
//定时器 T0 的低 8 位赋初值
//启动定时器 T0
//无限循环,等待中断
}

回复

使用道具 举报

ID:94031 发表于 2022-11-29 10:33 | 显示全部楼层
1 程序没有对输出脚的的操作. 2 定时周期和主频有关应该说明
回复

使用道具 举报

ID:1054536 发表于 2022-11-30 16:34 | 显示全部楼层
/**************************************************************
函数功能:定时器 T0 的中断服务程序
**************************************************************/
void Time0(void) interrupt 1 using 0 //“interrupt”声明函数为中断服务函数
{
u=~u; //将 P1.4 口输出电平取反,产生方波
}
回复

使用道具 举报

ID:965189 发表于 2022-11-30 17:31 | 显示全部楼层
定时时间与主频相关。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表