51单片机晶振频率为12MHz,利用中断在P1.1口输出50HZ的方波,C语言,哪位大侠帮帮忙,帮忙写个程序

如题所述

#include <reg51.h>

sbit port=P1^1;

void Timer0Init(void) //10毫秒@12.000MHz
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x01; //设置定时器模式
TL0 = 0xF0; //设置定时初值
TH0 = 0xD8; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
}


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

void timer0() interrupt 0
{
TL0 = 0xF0; //设置定时初值
TH0 = 0xD8; //设置定时初值
    port^=1;   
}

追问

麻烦能不能运用定时器0在P1.7引脚输出50Hz的方波,晶振频率为12MHz,C语言的,会加分给你的

追答#include <reg51.h>
 
sbit port=P1^7;
 
void Timer0Init(void)      //10毫秒@12.000MHz
{
    TMOD &= 0xF0;     //设置定时器模式
    TMOD |= 0x01;     //设置定时器模式
    TL0 = 0xF0;       //设置定时初值
    TH0 = 0xD8;       //设置定时初值
    TF0 = 0;      //清除TF0标志
    TR0 = 1;      //定时器0开始计时
}
 
 
void main()
{
    Timer0Init();
    while(1);   
}
 
void timer0() interrupt 0
{
    TL0 = 0xF0;       //设置定时初值
    TH0 = 0xD8;       //设置定时初值
    port^=1;   
}

追问

能留个企鹅吗?

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-03-14
若单片机的晶振频率为12MHz,用51单片机内部定时\\/计数器T0,工作方式为1,在单片机P1.0口产生周期为20ms的方波,波形占空比为50%。试解答下列问题: 1) 计算定时器的装入初值; 2) 用中断的方式使用定时器,编写相关程序序

各位大侠问一下:一般单片机I\/O口的吸入与扇出电流是多少
除开51系列单片机,一般单片机I\/O口的吸入与扇出电流是20mA左右.51系列单片机吸入电流为10-20mA,看是哪个I\/O口,扇出电流为200uA,也不至于只有20uA,20uA连个三极管都驱动不起来,还有什么用处 几种常用单片机I\/O口线的驱动能力 在控制系统中,经常用单片机的I/O口驱动其他电路。几种常用单片机I/O口...

电脑常见的故障有什么,哪位大侠帮帮忙,谢谢了
这种情况一般是硬盘启动信息不完整或遭到了破坏,可以利用工具软件进行恢复。如果以前制作有系统急救盘,可以利用软盘启动,然后用急救盘恢复硬盘系统信息;如果没有系统急救盘,可以检查CMOS 信息、硬盘分区表、C 盘引导扇区、DOS 系统文件、系统配置文件等对硬盘进行恢复。(参考本章5-4节内容) 3. 在重装win98系统的过程...

相似回答