找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4048|回复: 1
收起左侧

[求助]开发板上蜂鸣器报警程序的疑问?

[复制链接]
ID:33880 发表于 2012-1-22 11:25 | 显示全部楼层 |阅读模式

#include <reg51.h>
#include <intrins.h>

sbit SPK = P2^2;

unsigned char frq;

void delayms(unsigned char ms);

main()
{
 TMOD = 0x01;
 frq = 0x00;
 TH0 = 0x00;
 TL0 = 0xff; 
 TR0 = 1;
 IE = 0x82;
 
 while(1)
 {
  frq++;
  delayms(1);
 }
}

void timer0() interrupt 1 using 1
{
 TH0 = 0xfe;
 TL0 = frq;
 SPK = ~SPK; 
}

void delayms(unsigned char ms) 
// 延时子程序
{      
 unsigned char i;
 while(ms--)
 {
  for(i = 0; i < 120; i++);
 }
}

请问frq++是什么作用啊?它一直加下去不久是无限了吗?还有让TLO=frq是什么意思呢?

回复

使用道具 举报

ID:27916 发表于 2012-1-29 12:13 | 显示全部楼层

FRQ++,改变FRQ的内容,当定时0到,再把FRQ的值送给TL0,这样,定时器0的中断频率就回改

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表