我是靠谱客的博主 彪壮小馒头,最近开发中收集的这篇文章主要介绍c语言脉冲波用for循环,汇编翻译成C语言 原题目要求:编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400us,占空比为10:1的矩形脉冲。...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

解:设fosc = 12MHz,则机器周期为1us。设P1.0初值为0。

周期为400us,可定义方式2定时,计数初值为256-40,一个周期中断10次为400us,在中断计数为1和2(或任意两次计数之间)时,对P1.0求反即可。

#include

sbit P1_0=P1^0; //输出周期引脚

unsigned char cnt=0; //中断次数计数器,初值为0

void main(){

P1_0=0;  //输出初值为0

TMOD=0x02; //T0方式2定时

TH0=256-40; //计40次,计数初值为模256减40

TL0=TH0;

IE=0x82;  //允许CPU响应中断,允许T0发中断请求

TR0=1; //启动T0

for(;;){} //无限循环等待中断

}

void timer0()interrupt 1 using 1{

cnt++;//中断次数加1

if(cnt==1||cnt==2) P1_0=!P1_0; //中断次数为1或2时对输出引脚求反

if(cnt==10)cnt=0; //中断次数达到10时复位为0

}

最后

以上就是彪壮小馒头为你收集整理的c语言脉冲波用for循环,汇编翻译成C语言 原题目要求:编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400us,占空比为10:1的矩形脉冲。...的全部内容,希望文章能够帮你解决c语言脉冲波用for循环,汇编翻译成C语言 原题目要求:编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400us,占空比为10:1的矩形脉冲。...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部