我是靠谱客的博主 彪壮小馒头,最近开发中收集的这篇文章主要介绍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的矩形脉冲。...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复