MCS-51单片机 晶振频率12MHz,求在P1.0上输出周期为200ms、占空比为1:1的方波,输出500个方波后停止输出 MCS-51单片机 晶振频率12MHz,求在P1.0上输出周...

\u7528c\u8bed\u8a00\u5b9e\u73b0\u5728p1.0\u548cp1.1 5khz\u65b9\u6ce2\u8f93\u51fa\u53ca1khz\u5360\u7a7a\u6bd4\u4e3a\u767e\u5206\u4e4b\u5341\u7684\u77e9\u5f62\u6ce2\u8f93\u51fa

/*\u7528keil3\u4e0eproteus7.4\u8054\u8c03\uff0c\u81ea\u5df1\u4e0b\u8f7d\u540e\u5f00\u542f\u8054\u8c03\u8bbe\u7f6e\uff0c\u5728proteus\u4e2d\u753b\u4e2a\u6700\u5c0f\u5355\u7247\u673a\u7cfb\u7edf\uff0c\u518d\u7528\u5355\u7247\u673a\u8fde\u63a5keil\u7684\u7f16\u8bd1\u6587\u4ef6.HEX\u5373\u53ef\u3002\u5047\u8bbe\u65f6\u949f\u9891\u738712MHz\uff0c\u6267\u884c\u4e00\u6761\u8bed\u53e5\u6240\u7528\u65f6\u95f41us\uff0c2kHz\u4e3a500us\uff0c\u5373\u5b9a\u65f6\u5668\u9891\u7387\u5b9a\u65f6500us\uff0c\u5982\u679c\u7528T0\uff0c\u5219\u521d\u503c\u4e3aTH0=0x1f\uff0cTL0=0x40\uff1b\u5360\u7a7a\u6bd47:10\uff0c\u8109\u51b2\u5bbd\u5ea6350us\uff0c\u7528T1\uff0c\u521d\u503cTH1=0x15\uff0cTL1=0xe0\u3002*/
#include
sbit OUTW=P1^0;
void init()
{
EA=1;
TMOD=0x11;
ET0=1;
ET1=1;
TR0=1;
TR1=0;

OUTFW=0;
}

void main()
{
init();
while(1);
}

void timer0 interrupt 1
{
TH0=0x1f;
TL0=0x40;

TH1=0x15;
TL1=0xe0;

OUTW=1;

TR1=1;
}

void timer1 interrupt 3
{
OUTW=0;
TR1=0;
}
//\u6ce8\u610f\uff1a\u8c03\u9891\u5c31\u662f\u5728IO\u53d8\u91cf\u5728\u4e0d\u540c\u7684\u65f6\u95f4\u7f6e1\uff0c\u8c03\u5bbd\u5c31\u662f\u5728\u4e0d\u540c\u7684\u65f6\u95f4\u7f6e0

\u79c1\u4fe1
\u4ea4\u6d41

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar cnt;
uint num;
sbit pluse=P1^0;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
cnt%=2;
if(cnt==0)
    {
    num++;
    pluse=~pluse;
    if(num>=1000)TR0=0;
    }
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}


扩展阅读:mcs51系统中若晶振频率 ... 单片机晶振频率为6mhz ... mcs-51的时钟最高频率是 ... mcs-51单片机各引脚功能 ... 51单片机晶振参数 ... 51单片机五个中断源 ... 51一个机器周期多少秒 ... 51单片机结构框架图 ... 若mcs51单片机的晶振频率为8mhz ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网