最近因为赶不上提高班的进度,老师给的教程总是断断续续的,所以我打算跟11月1号通过考试的网友们一起学习,呵呵,这也是我一教训来着,在三维里学习要坚持一步一个脚印,坚持必有奇迹,但也要跟得上大家,以后再忙也要努力实现计划了,不能再像这次一样,因为所谓的考试落下了好几堂课,不过也没有关系,能够吸取点教训总是好的。我可以先给自己点时间多学些其它的基础知识。
今天开始学单片机的计数器了,呵呵,可能是一直因为用C语言编程序我定时老是定不准的原因,当得知学会定时/计数器后可以让单片机C语言定时准确后,我感觉学它真的很有动力,虽然编一个简单的程序也花了我好长时间,但编出来的感觉却是那么的爽快,我觉得要学会定时/计数器,关键是要学会编程控制 TCOM,TMOD,及TH和TL吧。主要是TH和TL的准确运算。还有就是完时以后怎么样让其跟循环语句配合使用。
今天所编的程序是利用单片机定时器控制LED灯以1S的速度闪烁,我的晶振是12MHZ的,首先是让计时器0.02S进行一次溢出,使TF1=1,其次是利用I++循环50次,加起来为1S。程序如下:
#include
sbit LED = P1^2;
void main()
{ unsigned char i;
TMOD |= 0x10;
TMOD &= 0xdf;
TH1 = 0xb1;
TL1 = 0xdf;
TCON |= 0x40;
while(1)
{
if(TF1==1)
{
TF1 = 0;
TH1 = 0xb1;
TL1 = 0xdf;
i++;
if(i==50)
{
i=0;
LED=~LED;
}
}
}
}
关键字:C语言 定时器 LED灯
引用地址:
C语言使用定时器的方法控制LED灯以1S的速度闪亮
推荐阅读最新更新时间:2024-03-16 14:05
按键驱动--定时器消抖
驱动源码: #include linux/module.h #include linux/kernel.h #include linux/fs.h #include linux/init.h #include linux/delay.h #include linux/irq.h #include asm/uaccess.h #include asm/irq.h #include asm/io.h #include asm/arch/regs-gpio.h #include asm/hardware.h #include linux/poll.h int major = 0; static struct
[单片机]
Exynos4412裸机开发 —— 看门狗定时器
一、看门狗定时器概述 看门狗(WatchDog Timer) 定时器和PWM的定时功能目的不一样。它的特点是,需要不同的接收信号(一些外置看门狗芯片)或重新设置计数器,保持计数值不为0。一旦一些时间接收不到信号,或计数值为0,看门狗将发出复位信号复位系统或产生中断。 看门狗的作用是微处理器收到干扰进入错误状态后,使系统在一定时间间隔内复位。因此看门狗是保证系统长期、可靠和稳定运行的有效措施。目前大部分的嵌入式芯片内部都集成了看门狗定时器来提高系统运行的可靠性。 4412处理器的看门狗是当系统被故障干扰时,用于处理器的复位操作,也可以作为一个通用的16位定时器来请求中断操作。看门狗定时器产生128个PCLK周期的复位信号。主
[单片机]
51单片机系列知识9--定时器、计数器(2)
二 1. 我们在对某一脉冲用单片机进行计数时,如何确定该脉冲允许的频率上限? 设置为计数工作方式时,通过管脚T0(P3、4)或T1(P3-5)对外部脉冲信号计数。当输入脉冲信号产生负跳变(或正跳变,具体情况要根据你对寄存器的设置),定时器的值加1。每个机器周期的S5P2期间,对外部输入进行采样,如在第一个周期中采得的值为1,而在下一个周期中采得的值为0,则在紧跟着的再下一个周期的S3P1期间,即24个振荡周期,因此外部输入的计数脉冲的最高频率为振荡频率的1/24。 对外部输入信号的占空比并设有什么限制,但为了确保某一给定的电平在变化之前至少被采样一次,则这一电平至少要保持一个机器周期。(Tcy为机器周期) △ 结论
[单片机]
学什么单片机最有前途
这是单片机初学者经常问的问题。对于这个问题,我想没有人敢下定论。因为每一种单片机各有所长,都适用于其所能充分发挥作用的领域,不存在优差之分。学单片机应该先学51单片机,学会了51单片机再去学其他单片机,这是学习单片机过来人的同感,也是公认的学习方法。为什么要先学51单片机?因为51单片发展最早,应用最广泛,特别是I/O口的操作非常简单,而且相关的学习资料最多、教材最成熟,学习起来得心应手,入门很快。有了这个基础再去学习其他单片机那就是小菜一碟了,只是对着芯片数据手册设置寄存器罢了,快则一两个星期,多则一个月就能掌握另一种单片机了。如果一开始就选择非51单片机学习,那将是“路漫漫其修远兮,你将艰难而求索!” 那学51单片机用C语言
[单片机]
MSP430学习笔记(2)定时器A
3. 定时器A: 所有MSP430系列的FLASH型单片机都含有定时器A(Timer_A),由一个16位定时器和多路比较/捕获通道组成。每个比较/捕获通道都是以16位定时器的定时功能为核心进行单独的控制。 1) 定时器由以下部分组成: a) 计数器部分:输入的时钟源具有4种选择,所选定的时钟源又可以1、2、4、8分频作为计数频率。 b) 捕获/比较器:用于捕获时间发生的时间或产生时间间隔,每个捕获/比较的结构完全相同,输入输出都决定于各自所带的控制寄存器的控制字,捕获/比较器相互之间独立。 c) 输出单元:具有可选的8种输出模式,用于产生用户需要的输出信号并支持PWM。 2) Timer
[单片机]
GEC210 LED裸机开发 c语言实现 ADS方式
软件环境: ADS1.2 开发板 :GEC210 理论知识: 参考led原理介绍 因为ADS默认需要从汇编进入,所以我们的代码先调用一段短汇编,然后直接跳转到c语言 源代码如下 start.s AREA _start,code,readonly ;设置段属性,代码段,代码段取名inti,只读属性 entry ;入口,同一个工程不应该出现多个入口 import main_c bl main_c end led.c #define GPJ2CON (*(volatile unsigned long*)0xe0200280) #d
[单片机]
适用于LED灯泡和T8灯管驱动器LYTSwitch-0全方位评测
LYTSwitch-0产品系列专门为低成本LED灯泡和T8灯管应用而设计。LYTSwitch-0器件在一个单片IC上集成了一个700 V功率MOSFET、振荡器、开/关控制方案、EMI降低和多种控制功能(包括逐周期检测的电流限流及热关断电路)。 LYTSwitch-0器件的效率达到90%以上,可在典型应用中以优于+/-5%的调整精度提供恒流输出。其功率因数在115 VAC下大于0.8,在230 VAC下达到0.55,可满足ENERGYSTAR V1第3稿的北美消费类照明标准。 LYTSwitch-0 与非网小编为大家整理了网友对LYTSwitch-0的使用评测,希望对大家的学习有所帮助。 与非网led社区会员zhangjsh
[电源管理]
LED灯具出口形势不乐观 处于国际产业链末端
顺德检验检疫局最新统计显示,2010年经检验灯具出口达30268.1万美元,同比增长34.16%,创出历史新高。该局相关负责人表示,虽然顺德地区的灯具出口有较大幅度增长,但在国际产业链分工中仍处于末端,更加容易受到劳动力成本上升、原材料价格上涨、人民币升值和技术贸易壁垒等多重影响,因此2011年的出口形势仍不容乐观。 “顺德制造”渐被国际接受 据介绍,顺德地区灯具出口以一般贸易为主,出口国遍布世界各地,也呈现明显的区域特点,以欧美日、中东、东南亚为主。出口金额前十位的国家中,欧美日等发达国家占了7个,出口额14119.9万美元,占出口总额的46.6%.这说明“顺德制造”还是被发达国家所接受的。其余三个国家依
[电源管理]