标题:
使用51单片机设计的简易方波发生器,可以同时输出多路占空比和频率不同的矩形波
[打印本页]
作者:
醉生梦琪
时间:
2019-5-8 12:52
标题:
使用51单片机设计的简易方波发生器,可以同时输出多路占空比和频率不同的矩形波
使用51单片机设计的简易方波发生器,可以同时输出多路占空比和频率不同的矩形波
IMG20190502095353.jpg
(4.23 MB, 下载次数: 63)
下载附件
波形输出
2019-5-8 12:51 上传
单片机源程序如下:
#include<reg51.h> //包含51单片机寄存器定义的头文件
#define uchar unsigned char
#define uint unsigned int
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;
sbit p13=P1^3;
sbit p14=P1^4;
sbit p15=P1^5;
sbit p16=P1^6;
sbit p17=P1^7;
uchar cnt0,cnt1, cnt2, cnt3, cnt4, cnt5, cnt6, cnt7;
void timeint(void) ;
void main()
{
timeint();//无限循环
while(1)
{
if(cnt0==1)
{
p10=0;
}
if(cnt0==2)
{
p10=1;
cnt0=0;
}
if(cnt1==1)
{
p11=0;
}
if(cnt1==3)
{
p11=1;
cnt1=0;
}
if(cnt2==1)
{
p12=0;
}
if(cnt2==4)
{
p12=1;
cnt2=0;
}
if(cnt3==1)
{
p13=0;
}
if(cnt3==5)
{
p13=1;
cnt3=0;
}
if(cnt4==1)
{
p14=0;
}
if(cnt4==6)
{
p14=1;
cnt4=0;
}
if(cnt5==1)
{
p15=0;
}
if(cnt5==7)
{
p15=1;
cnt5=0;
}
if(cnt6==1)
{
p16=0;
}
if(cnt6==8)
{
p16=1;
cnt6=0;
}
if(cnt7==1)
{
p17=0;
}
if(cnt7==9)
{
p17=1;
cnt7=0;
}
}
}
void timeint(void)
{
TMOD=0x01; //使用模式1,16位定时器
TH0=0xdc; //给定初值,这里使用定时器计时0.01s
TL0=0x00;
EA=1; //总中断打开
ET0=1; //定时器T0中断打开
TR0=1; //定时器T0开关打开
}
void time()interrupt 1 //T0中断服务程序
{
cnt0++;
cnt1++;
cnt2++;
cnt3++;
cnt4++;
cnt5++;
cnt6++;
cnt7++;
}
复制代码
所有资料51hei提供下载:
新建文件夹.zip
(16.51 KB, 下载次数: 37)
2019-5-8 12:52 上传
点击文件名下载附件
hex文件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1