当前位置: 首页 » 技术方案 » 解决方案 » LED行业 » 正文

基于定时器的LED灯电路图制作解决方案


  来源: 21IC中国电子网 时间:2018-09-04 编辑:思扬
分享到:



因此一共经过了【(256-H-1)*256+256-L=(65536-256H-L)次计数定时器请求中断。也就是说定时器中的16位寄存器的初值C=256H+L

很明显TH0中的初值H=C/256,而TL0中的初值L=C%256,这就推导出来了。

搞定了定时器初值的问题,接下来就可以写定时器中断的代码了。

中断服务程序的写法

C51的中断函数格式如下:

void 函数名() interrupt 中断号 using 工作组

{中断服务程序具体内容}

中断函数没有返回值和参数,函数名只要符合C语言标准就可以,中断号是指单片机中的中断源序号,是编译器识别不同中断源的唯一凭证,using工作组是指这个中断服务程序使用单片机内存中4组工作寄存器的哪一组,由编译器自动分配,通常我们可以忽略不写。

#include //包含头文件

sbit led = P0^0;

unsigned char count = 0; //定时累计变量,我们需要1000ms定时,50 * 20 = 1000

//count是全局变量,通俗地说就是程序每次重新执行时值保持住最近一次的值

//后续会专门讲讲C语言的一些基础知识

void main()

{TMOD = 001; //设置定时器0工作方式116位计数

TH0 = (65536 - 45872) / 256; //晶振11.0592MHz,定时50msTH0初值

TL0 = (65536 - 45872) % 256; //晶振11.0592MHz,定时50msTL0初值

EA = 1; //开启总中断

ET0 = 1; //开启定时器0中断

TR0 = 1; //启动定时器0

while(1); //程序停止,等待定时器0中断发生}

void T0_INT() interrupt 1 //大家对照着上述格式看看

关键词:LED 定时器 电路图    浏览量:4331

声明:凡本网注明"来源:仪商网"的所有作品,版权均属于仪商网,未经本网授权不得转载、摘编使用。
经本网授权使用,并注明"来源:仪商网"。违反上述声明者,本网将追究其相关法律责任。
本网转载并注明自其它来源的作品,归原版权所有人所有。目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如有作品的内容、版权以及其它问题的,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
本网转载自其它媒体或授权刊载,如有作品内容、版权以及其它问题的,请联系我们。相关合作、投稿、转载授权等事宜,请联系本网。
QQ:2268148259、3050252122。


让制造业不缺测试测量工程师

最新发布
行业动态
技术方案
国际资讯
仪商专题
按分类浏览
Copyright © 2023- 861718.com All rights reserved 版权所有 ©广州德禄讯信息科技有限公司
本站转载或引用文章涉及版权问题请与我们联系。电话:020-34224268 传真: 020-34113782

粤公网安备 44010502000033号

粤ICP备16022018号-4