最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

51单片机方波发生器程序100HZ和200HZ按键控制

IT圈 admin 52浏览 0评论

2024年5月18日发(作者:浦丽芳)

51单片机方波发生器程序100HZ和200HZ按键控制

//本机晶振11.0592,采用stc89c51单片机,P3.2 P3.3两个按键控制方波发生器的输出

频率.

#include ;

#define uchar unsigned char

#define uint unsigned int

sbit output=P1^7;

//输出点

sbit oneset=P3^2;

//设置100HZ

sbit twoset=P3^3;

//设置200HZ

uint number1=0; //定时器0高8位

uint number2=0; //定时器0低8位

void main()

{

TMOD=0x01;

TH0=0xee;

//任意设定初值

TL0=0x0b;

EA=1;

ET0=1;

TR0=1;

while(1)

{

if(oneset==0)

//键值判断 oneset为100HZ 实际是100.027HZ略有误差

{number1=0xee;

number2=0x0b;

}

if(twoset==0) //键值判断twoset为200HZ 实际是200.143HZ略有误差

{

number1=0xf7;

number2=0x0b;

}

}

}

void init()interrupt 1

{

TH0=number1;

TL0=number2;

output=~output;

TR0=1;

}

2024年5月18日发(作者:浦丽芳)

51单片机方波发生器程序100HZ和200HZ按键控制

//本机晶振11.0592,采用stc89c51单片机,P3.2 P3.3两个按键控制方波发生器的输出

频率.

#include ;

#define uchar unsigned char

#define uint unsigned int

sbit output=P1^7;

//输出点

sbit oneset=P3^2;

//设置100HZ

sbit twoset=P3^3;

//设置200HZ

uint number1=0; //定时器0高8位

uint number2=0; //定时器0低8位

void main()

{

TMOD=0x01;

TH0=0xee;

//任意设定初值

TL0=0x0b;

EA=1;

ET0=1;

TR0=1;

while(1)

{

if(oneset==0)

//键值判断 oneset为100HZ 实际是100.027HZ略有误差

{number1=0xee;

number2=0x0b;

}

if(twoset==0) //键值判断twoset为200HZ 实际是200.143HZ略有误差

{

number1=0xf7;

number2=0x0b;

}

}

}

void init()interrupt 1

{

TH0=number1;

TL0=number2;

output=~output;

TR0=1;

}

发布评论

评论列表 (0)

  1. 暂无评论