导航:首页 > 操作系统 > 单片机定时器实战视频

单片机定时器实战视频

发布时间:2023-06-05 03:01:42

1. 单片机控制倒计时定时器

哥们
我做的定时器 的程序
这个是正的 你该一下吧
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code []={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uchar code da[]={0x40,0x79,0x24,0x30,0x19,0x12,0x2,0x78,0x0,0x10};
display(uchar,uchar,uchar,uchar);
uchar x=0;
uchar n=0;
uchar flag=0;
uchar second=0,minute=0;
sbit K1=P3^0;
sbit K2=P3^1;
uchar temp=0;
delay(uchar x)
{
uchar a,b;
for(a=x;a>0;a--)
for(b=25;b>0;b--)
;
}
display(uchar m1,uchar m,uchar s1,uchar s)
{
P0=[m1];
P2=0xfe;
delay(10);

P0=da[m];
P2=0xfd;
delay(10);

P0=[s1];
P2=0xfb;
delay(10);

P0=[s];
P2=0xf7;
delay(10);
}
void main()
{

EA=1;
ET1=1;
TMOD=0x10;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
while(1)
{
P3=0XFF;
if(K1==0)
delay(10);
if(K1==0)
TR1=1;
if(K2==0)
delay(10);
if(K2==0)
TR1=0;
if(flag==20)
{
flag=0;
second++;
if(second==60)
{
second=0;
minute++;
if(minute==60)
{
minute=0;
}
}
}
display(minute/10,minute%10,second/10,second%10);
}

}
void tim1() interrupt 3
{
TR1=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR1=1;
flag++;
}

2. 跪求用单片机制作长延时定时器的程序

多简单的事啊,我贴一个AVR采用定时器0计时的,你参考一下吧。
#pragma interrupt_handler timer0_ovf_isr:10 //TIMER0 定时2ms中断.
void timer0_ovf_isr(void)
{
TCNT0 = 0xD9; //reload counter value
timer2ms++;
if(timer2ms >= 5)
{
timer2ms = 0;
timer10ms ++;
systimer10ms ++;
if(systimer10ms >= 22) //内部1M晶振
{
systimer10ms = 0;
timer1s ++;
}
}
也就是说。你另外起一个变量。与响应时间对照。你别说9999分钟。你就是9999年都可以做到。不理解时加我QQ问我吧。

3. 怎样使用51单片机的定时器

51单片机定时器的使用

51单片机定时器/计时器的使用
步骤:
1、 打开中断允许位:
对IE寄存器进行控制,IE寄存器各位的信息如下图所示:
EA: 为0时关所有中断;为1时开所有中断
ET2:为0时关T2中断;为1时开T2中断,只有8032、8052、8752才有此中断 ES: 为0时关串口中断;为1时开串口中断 ET1:为0时关T1中断;为1时开T1中断 EX1:为0时关1时开 ET0:为0时关T0中断;为1时开T0中断 EX0:为0时关1时开
2、 选择定时器/计时器的工作方式:
定时器TMOD格式

CPU在每个机器周期内对T0/T1检测一次,但只有在前一次检测为

1和后一次检测为0时才会使计数器加1。因此,计数器不是由外部时钟负边沿触发,而是在两次检测到负跳变存在时才进行计数的。由于两次检测需要24个时钟脉冲,故T0/T1线上输入的0或1的持续时间不能少于一个机器周期。通常,T0或T1输入线上的计数脉冲频率总小于100kHz。
方式0:定时器/计时器按13位加1计数,这13位由TH中的高8位和TL中的低5位组成,其中TL中的高3位弃之不用(与MCS-48兼容)。

13位计数器按加1计数器计数,计满为0时能自动向CPU发出溢出中断请求,但要它再次计数,CPU必须在其中断服务程序中为它重装初值。
方式1:16位加1计数器,由TH和TL组成,在方式1的工作情况和方式0的相同,只是计数器值是方式0的8倍。

1
1/3
方式2:计数器被拆成一个8位寄存器TH和一个8位计数器TL,CPU对它们初始化时必须送相同的定时初值。当计数器启动后,TL按8位加1计数,当它计满回零时,一方面向CPU发送溢出中断请求,另一方面从TH中重新获得初值并启动计数。

方式3:T0和T1工作方式不同,TH0和TL0按两个独立的8位计数器工作,T1只能按不需要中断的方式2工作。 在方式3下的TH0和TL0是有区别的:TL0可以设定为定时器/计时器或计数器模式工作,仍由TR0控制,并采用TF0作为溢出中断标志;TH0只能按定时器/计时器模式工作,它借用TR1和TF1来控制并存放溢出中断标志。因此,T1就没有控制位可以用了,故TL1在计满回零时不会产生溢出中断请求的。 显然,T0和T1设定为方式3实际上就相当于设定了3个8位计数器同时工作,其中TH0和TL0为两个由软件重装的8位计数器,TH1和TL1为自动重装的8位计数器,但无溢出中断请求产生。由于TL1工作于无中断请求状态,故用它来作为串口可变波特

3、 为计数器赋值
计数器初值计算
TC=M−C
TC:计数器初值,M:计数器模值(2k),C:把计数器计满的计数值 定时器初值计算
T=(M−TC)T计数


TC=M−T/𝑇计数
M:模值,T计数:单片机时钟周期TCLK(ΦCLK的倒数)的12倍;TC为定时器的定时初值,T为欲定时的时间。
TC=M−T×𝛷𝐶𝐿𝐾/12
M:模值,ΦCLK:单片机时钟周期ΦCLK;TC为定时器的定时初值,T为欲定时的时间。 例如:单片机主脉冲频率ΦCLK为12MHz,最大定时时间为: 方式0时 TMAX = 213×1us = 8.192ms 方式1时 TMAX = 216×1us = 65.536ms 方式2和方式3 TMAX = 28×1us = 0.256ms
4TR0:为0时,停T0计数;为1时,启T0计数

2
2/3

TF0:为0时,无T0中断(硬件复位);为1时,有T0溢出中断 TR1:为0时,停T1计数;为1时,启T1计数 TF1:为0时,无T1中断(硬件复位);为1时,有T1溢出中断 IE1:为0时,硬件复位;为1时 IT1:为0时,INT1电平触发(软件复位);为1时,INT1负边沿触发 IE0:为0时,硬件复位;为1时 IT0:为0时,INT0电平触发(软件复位);INT0负边沿触发
5

在C51的C语言中使用interrupt x来指定中断入口地址,x为中断号,例T0中断: void Time0_Int() interrupt 1 //定时器T0的中断入口程序

4. 51单片机长定时怎么做

当晶振频率为12MHZ时,51单片机定时器一次最长定时时间是65.536ms,要想实现长定时,可以多次定时累加,例如,要让实现10S定时,可以让定时器定时50ms,并声明一个变量,专门累计中断次数,定时器每中断一次,该变量加1,当变量值为200时,总定时时间就是10S。

5. 51单片机的定时器是怎么设置的

单片机定时器的设置步骤为:
1、设置定时器的工作模式,共4种工作方式,两种模式(计数器/定时器)。比如:
MOV TMOD,#01;设置定时器0位定时器模式,工作方式1
2、根据定时时间赋初值。比如定时10毫秒,那么如果12M晶振的话是10000个机器周期。定时器是溢出申请中断,所以用溢出值减去定时周期为初值。
MOV TH0,#HIGH(65536-10000)
MOV TL0,#LOW(65536-10000)
3、开启中断、定时器。
SETB ET0
SETB EA
SETB TR0

6. 郭天祥单片机视频教程疑问,有定时器为什么要delay

定时器是控制数码管每次变换的时间,delay函数是控制数码管亮的时间。也就是说定时器控制1,2,3,4.。。。的变换,delay测试控制1,2,3,4.。。。。的显示时间。这样才能出现一个动态效果

7. 那位兄弟有 郭天祥(51单片机的书籍,好像有本是新概念)

ISBN:978-7-121-07893-4
书名:《新概念51单片机C语言教程——入门、提高、开发、拓展全攻略》
作者:郭天祥
定价:69元(含光盘1张)

作者背景
作者郭天祥是哈尔滨工程大学的硕士生,但是一名电子设计迷,这本书是他学习和实践单片机设计的经验总结,本书出版前他发布于网上的他给本科生上课的视频教程非常受欢迎,受众主要是高校电子信息类的学生。
请关注后面的附件:本书作者在本书文前“致读者”的内容,相信会对大学生有非常好的人生启迪,同时也是本书的一个非常好的卖点。
本书“图书教材+随书视频光盘+可选实验板”可以完全实现学生的自主学习。

封底文字
本书组织
全书分为5篇,入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇
特别按照初学者所遇到的问题和需求路径安排全书内容
以应用需求为主线,搭建了单片机技术上下游的知识体系
从实际工程应用入手,通过实验过程和现象讲解单片机原理,可读性好
内容源于大量科研和教学实践,许多C语言代码可直接应用到工程项目中,实用性强
配套学习光盘,并可提供学习用实验板,可以边学边练
学习资源
本书含DVD光盘一张,13讲教学视频+课件例程代码+全书例程代码
技术支持,天祥电子网站http://www.txmcu.com
读者对象
高校电子信息类和机电类专业本/专科师生
高校大学生创新基地师生
51单片机C语言编程初学者
计算机、自动控制、智能仪器仪表、电力电子、机电一体化技术人员
读者层次
入门初学者
中级开发者

本书文前内容
内 容 简 介
本书从实际应用入手,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。本书内容丰富,实用性强,书中大部分内容均来自科研工作及教学实践,许多C语言代码可以直接应用到工程项目中。本书配套光盘提供13讲近30学时的教学视频和本书实例代码,可使读者更快更好地掌握单片机知识和应用技能。本书作者还可提供与本书配套的单片机实验板。
本书可作为大学本、专科单片机课程教材,适合于51单片机的初学者和使用51单片机从事项目开发的技术人员,也可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。

前 言
本书从实际工程应用入手,以实验过程和实验现象为主导,由浅入深、循序渐进地讲述使用C语言为51单片机编程的方法、51单片机的硬件结构和各种功能应用。
本书不同于传统的讲述单片机的书籍,本书中的所有例程均以实际硬件实验板现象为根据,由C语言程序来分析单片机工作原理,使读者知其然,又能知其所以然,从而帮助读者从实际应用中彻底理解和掌握单片机。另外,本书中大部分内容均来自作者科研及教学工作实践,内容涵盖作者多年来项目经验总结的精华,并且贯穿一些学习方法的建议。
本书内容丰富,实用性强,许多C语言代码可以直接应用到工程项目中。本书配套附一张光盘,提供近30小时的单片机教学视频。同时,作者还开发了与本书配套的TX-1C单片机实验板,可帮助读者边学边练,达到学以致用的目的。读者在学习过程中可以将视频和书互为参考,配合学习,并用单片机实验板进行实践,这样可以更快更好地掌握单片机应用知识和技能。
本书适合作为大学电子信息类和机电类各专业本、专科单片机课程教材,或高校大学生创新基地培训教材,也适合51单片机的初学者和使用51单片机从事项目开发的技术人员,还可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。
本书内容组织
本书内容共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。
第1,2篇与本书配套光盘内容基本对应,内容组织上循序渐进、由浅入深;在知识介绍上,从原理到实践,再从实验现象进一步分析原理,对51单片机的主要功能及硬件结构做了详细介绍。
第3篇在前两篇的基础上通过实验进一步扩展讲解了51单片机的其他功能应用,而且还特别将STC单片机与传统51单片机相比扩展了的功能逐一讲解。
第4篇是作者教学和实际项目中精选出的具有代表性的真实项目,其知识涉及面广,内容丰富,是作者开发经验的精华总结。
第5篇为拓展部分,详细讲解了使用Protell软件绘制原理图、PCB图、元件库和元件封装的过程;详细介绍了常用的ISD400X系列语音芯片;分别讲解了直流电机、步进电机和舵机的原理及驱动方法;介绍了设计电路常用的元件;详细介绍了如何设计直流稳压电源及开关电源;最后介绍运放的应用知识。
本书实例程序
作者在编写本书时,使用的操作系统是英文版Windows XP SP2,开发工具是Keil V6.12,抓图工具是红蜻蜓抓图精灵V1.24,单片机下载软件是STC-ISP V3.9,使用的硬件实验设备是天祥电子的TX-1C单片机实验板,本书中单片机部分的所有实例程序都在该环境中调试通过,并且在TX-1C实验板上得以验证。
本书学习建议
配套光盘提供的视频与本书前两篇基本对应,建议读者在学习本书之前,最好有一块与本书中相同的实验板。学习时先看视频,对单片机有一个初步的印象,视频中互动部分读者可亲自做实验,在学习过程读者要多动脑,多动手,单片机是实实在在的硬件,只有在不断实践中才能领悟它的工作原理。读者在对实验原理理解的前提下,要尝试独立编写出书中每章的例子程序,当有困惑时再查看书中代码,反思自己的失误在哪里,进而积累更多的经验。
本书配套光盘说明
本书配套光盘提供两部分内容:本书所有实例代码和13讲视频教程。
视频教程内容列表
讲 次 内 容 细 节
第1讲 学习单片机预备知识
如何点亮一个发光管 单片机能做什么,基本电子知识,如何用TX-1C单片机学习板学习单片机,C51知识简介,如何申请免费芯片样品。点亮一个发光管
第2讲 流水灯设计
蜂鸣器发声
继电器控制 简单延时程序、子程序调用、带参数子程序设计、流水灯同时蜂鸣器响、如何驱动蜂鸣器,及如何驱动继电器,集电极开路的概念及应用
第3讲 数码管显示的原理
数码管的静态显示 共阳、共阴数码管显示原理、定时器工作方式介绍、重点讲述工作方式2、中断概念及中断函数写法、外部中断试验、定时器中断应用
第4讲 数码管的动态显示原理及应用实现 动态扫描概念、定时器、中断加深
用单片机的定时器及中断设计一个60秒定时器
第5讲 独立键盘、矩阵键盘的检测原理及实现 键盘用来做什么、如何检测键盘、消抖、键盘编码、带返回值函数写法及应用
第6讲 A/D、D/A的工作原理及实现、运放电路 模拟电压与数字电压的关系、为什么要使用A/D及D/A、ADC0804的操作方法、DAC0832的操作方法
第7讲 串口通信原理及操作流程 串口通信工作方式、10位数据通信、波特率概念、如何根据波特率计算定时器初值
第8讲 1602液晶显示原理及实现 最简单液晶工作原理、如何开始对一个没有任何概念的芯片开始单片机的操作
第8讲 I2C总线AT24C02芯片工作原理 I2C总线工作原理、目前非常通用的一种通信机制
第10讲 利用51单片机的定时器设计一个时钟 综合运用51单片机知识设计一个可以随意调节时间、带整点闹铃的时钟(其中用到定时器、中断、按键、蜂鸣器、数码管或串口通信)
第11讲 用DS12C887时钟芯片设计一个高精度时钟 DS12C887内部带有锂电池,系统掉电情况下可自行精确走10年,并带有闹钟功能、年、月、日、时、分、秒等(本节由学生自己设计电路)
第12讲 使用Protell 99绘制电路图全过程 Protell 99软件使用、元件库、封装库设计、绘制原理图、错误检查、生成PCB、手动、自动布线、送去加工
第13讲 Altium designer 6.5绘制电路图全过程 最顶级电路板设计软件Altium Designer使用、元件库、封装库设计、绘制原理图、错误检查、生成PCB、手动、自动布线、送去加工

在这里对配套视频中讲解三极管和场效应管部分的一点错误给予更正:
作者在讲课时说:三极管是压控流型器件,场效应管是压控压型器件。
正确结论应该是:三极管是流控流型器件,场效应管是压控流型器件。

作者在编写本书的过程中,得到了哈尔滨工程大学国家电工电子教学基地和信息与通信工程学学院郭黎利教授、刁鸣教授、赵旦峰教授、付永庆教授和王松武教授、刘文智老师和李海波老师的大力支持。本书的部分章节由我的同学叶大鹏、李健编写,另外我的同学张勇、宋宝森、钟双、于振南、郭天宇、李名祺也十分关心本书的编写进度,为提高书稿的质量提出了许多宝贵的建议和修改意见。在此,对他们一并表示衷心的感谢。
由于作者的水平有限,错误和疏漏之处在所难免,欢迎广大技术专家和读者指正。作者的联系方式是[email protected],读者也可以登录天祥电子网站发表意见,或联系购买单片机实验板,网址是http://www.txmcu.com。

郭天祥
于哈尔滨工程大学
2008年11月

阅读全文

与单片机定时器实战视频相关的资料

热点内容
时间算法与现在有什么区别 浏览:160
7zip解压后没文件夹 浏览:900
为什么安卓送玫瑰ios收不到 浏览:6
美篇文章加密是什么意思 浏览:80
ilasm编译dll 浏览:36
呼吸灯单片机程序 浏览:950
linux域socket 浏览:246
qq分身怎么样才能加密 浏览:453
windows打开linux 浏览:995
新建文件夹为什么不能发送微信 浏览:600
交警app怎么绑定本人几辆车 浏览:985
彩虹六号如何人工服务器 浏览:632
mc服务器地址怎么登入 浏览:556
苹果app怎么扫描二维码下载 浏览:961
css文件在线解压 浏览:156
36岁程序员近况 浏览:285
哪里可以下载不加密的歌 浏览:936
隐藏文件夹是什么梗 浏览:920
插件注册命令 浏览:498
梁一端加密一端不加密规范 浏览:84