51单片机学习:定时器0实验

发布者:czc天天最新更新时间:2023-07-19 来源: zhihu关键字:51单片机  定时器0  下载程序 手机看文章 扫描二维码
随时随地手机看文章

实验名称:定时器0实验
接线说明:
实验现象:下载程序后,D1指示灯间隔1s闪烁
注意事项:
***************************************************************************************/
#include "reg52.h"

typedef unsigned int u16; //对系统默认数据类型进行重定义
typedef unsigned char u8;

//定义LED1管脚
sbit LED1=P2^0;

/*******************************************************************************
* 函 数 名 : delay_10us
* 函数功能 : 延时函数,ten_us=1时,大约延时10us
* 输 入 : ten_us
* 输 出 : 无
*******************************************************************************/
void delay_10us(u16 ten_us)
{
while(ten_us--);
}

/*******************************************************************************
* 函 数 名 : time0_init
* 函数功能 : 定时器0中断配置函数,通过设置TH和TL即可确定定时时间
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void time0_init(void)
{
TMOD|=0X01;//选择为定时器0模式,工作方式1
TH0=0XFC; //给定时器赋初值,定时1ms
TL0=0X18;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
}

/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
time0_init();//定时器0中断配置

while(1)
{

}
}

void time0() interrupt 1 //定时器0中断函数
{
static u16 i;//定义静态变量i
TH0=0XFC; //给定时器赋初值,定时1ms
TL0=0X18;
i++;
if(i==1000)
{
i=0;
LED1=!LED1;
}
}



关键字:51单片机  定时器0  下载程序 引用地址:51单片机学习:定时器0实验

上一篇:51单片机学习:定时器1实验
下一篇:51单片机学习:外部中断1实验

推荐阅读最新更新时间:2024-11-10 11:15

51单片机 外部中断0控制LED亮灭
使用51单片机外部中断0控制LED亮灭 #include reg52.h. typedef unsigned char u8; typedef unsigned int u16; sbit key1=P3^2; sbit LED=P2^0; void delay(u16 i) { while(i--); } void int0init() { IT0=1; EA=1; EX0=1; } void main() { int0init(); { while(1) { } } } void ini0() interrupt 0 { if(key1==0
[单片机]
51单片机按键控制数码管0~9_51单片机外部中断
前面为大家介绍的点亮LED灯、数码管、按键只用到了51单片机的IO资源,我们要是仅仅用单片机点灯、操作数码管,那可真是大才小用了。这些都只是51单片机资源的冰山一角,51单片机还有好多的功能,我后面将为大家一一介绍。今天为大家介绍单片机一个重要的外设——中断。 中断 没接触过单片机的朋友听到这个词肯定很陌生,大家对打断这个词应该不陌生吧,中断字面意思可以理解为中途被打断。大家可以思考一下,什么的中途被什么给打断了呢?想明白了这个问题就说明理解中断了。下面看看百度的解释: 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情 况的程序,处理完毕后又返回原被暂停的程
[单片机]
<font color='red'>51单片机</font>按键控制数码管<font color='red'>0</font>~9_<font color='red'>51单片机</font>外部中断
51单片机入门 - 模拟PWM调制控制实验
PWM(脉冲宽度调制) 对模拟信号电平进行数字编码的方法 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 设计要求: 由于AT89系列单片机没有PWM控制器,所以通过定时器产生PWM 通过按钮控制P2.0输出高低电平的时间,占空比可调范围:0~100%,每次按下按钮以10%步进,通过示波器看到对应波形。 - - - - - - - - - - - - - - - - - -
[单片机]
<font color='red'>51单片机</font>入门 - 模拟PWM调制控制实验
基于51单片机+SYN6288语音播报
资料 我用的是绿深电子技术的模块,资料也挺齐全的。也有相关例程。 SYN6288模块原理图 语音合成命令 接线 如何接线 接线其实很简单。 实现原理 51单片机 串口接收数据,根据不同的数据 通过串口的形式发送给 SYN6288,从而控制SYN6288语音播报。 程序代码 我用的是STC89C52 main.c #include reg52.h #include syn6288.h #include delay.h #include uart.h /**************芯片设置命令*********************/ unsigned char SYN_StopCom = {0xF
[单片机]
基于<font color='red'>51单片机</font>+SYN6288语音播报
51单片机制作红外遥控器
你的生活中是否也有这样的场景,要打开电视,满屋子找遥控器,翻了一大堆遥控器却愣是没找到哪个是电视机的?我们走访了不少家庭,得到了一个惊人的数据,至少一个三口之家的家庭会有6个遥控板,更多的甚至达到了10多个。越来越多的电器为了让操作更简便,更方便人们使用而采用了遥控的技术,以一般的家庭为例,一台电视就有一个遥控器、机顶盒一个遥控器,空调也是一个房间一个,也有三个遥控器、DVD也有一个遥控器。如果再加上客厅的电灯、风扇、音响等等那就更多了。常用的就由5,6个。许多的市民都面临着遥控器太多的烦恼。 迫切需要有一个能代替家里遥控器的装置。用单片机模拟遥控器发射红外线。 一、红外发射管电路 二、红外发射
[单片机]
89C51单片机内部结构深度解析一
9C51单片机内部结构深度解析一:单片机内部资源ROM/RAM/CLOCK/RST 8位CPU:和32位处理器的意思一样,计算机中的位数指的是CPU一次能处理的最大位数。32位计算机的CPU一次最多能处理32位数据,同理,8位的CPU意味着89C51单片机只能够处理8位的数据。 4K ROM:4K字节闪烁可编程可擦除只读存储器(FPEROM Flash Programmable and Erasable Read Only Memory),主要用来存放程序和表格常数,地址是0000H~0FFFH,总线地址的宽度为16位,因此片内ROM最大为2^16次方=64K,片外的ROM最大也是64K,片内片外的ROM采用统一编址的方
[单片机]
51单片机~动态数码管的显示,消影,消抖,静态扫描,动态扫描
动态数码管的显示,由浅入深,原理 (一)视觉暂留: code存储在程序存储器里,表示只读,不加code的数组存在内存里可读可写。 #include reg52.h typedef signed char int8; typedef signed int int16; typedef signed long int32; typedef unsigned char uint8; //字符型 typedef unsigned int uint16; typedef unsigned long uint32; sbit duanxuan=P2^5; //段选控制数字显示 sbit weixuan=P2^6;
[单片机]
<font color='red'>51单片机</font>~动态数码管的显示,消影,消抖,静态扫描,动态扫描
51单片机学习精髓之单片机学习板制作过程
有很多新人问怎么焊接单片机学习板,应下面我亲自焊接个最小系统,下面是所需元器件及焊接过程,说得可能比较细,比较繁琐,只盼不要起到反面作用,就很高兴了。 1、10*10万用板一块(下左) 2、DIP40单片机锁紧座一个(下中) 3、复位电路:有一个按键、1K和10K电阻各一个、10uF电容一个(下右) 4、晶振电路:一个12M晶振、两个30PF的瓷片电容(如下左) 5、稳压电路:一个DC插座、一个自锁按键、一个1N4007、两个104的瓷片电容、两个220uF的电解电容、一片L7805稳压芯片(下中) 6、由于单片机P0内部电路没有上拉电阻,呈高阻状态,所以不能正常输出高低电平,因此该组I/O使用时咱们要给P0口加一排上
[模拟电子]
<font color='red'>51单片机</font>学习精髓之单片机学习板制作过程

推荐帖子

光板R-LOS
光板R-LOS知识......光板R-LOS
123w 嵌入式系统
好书一本
真是不可多得的好书啊,快来下载吧好书一本好东西啊,谢谢楼主分享了,顶顶……看看啊!这在网上也能找到资料就不下了。定定好书一本赚点积分,看能赚得到不?谢谢诶!路过顶一下顶一下
xupeilinhong 测试/测量
STR710仿真器调试问题
大家好:我用IAR调试STR710的一个例子程序时,项目文件当Options-Debugger设置为软件仿真Simulator时编译和调试都没什么问题。当用第三方仿真器(Third-PartyDriver为万利的STLINK仿真器),并进行相应的设置时出现了如下的错误:IDerrorEitherthedebuggerinitializationfailed,orelsethefileC:programFilesIARsystemsEmbededWorkben
luliku stm32/stm8
winAMS
覆盖率专家winAMS获得机能安全标准ISO26262/IEC61508工具认证,是日本工业制造领域普遍使用的针对C/C++的单元/集成测试工具.winAMS是将通过交叉编译生成的原始代码作为评价代码,具有使用芯片仿真器进行仿真功能的测试工具.不仅可以对C语言编写的程序进行逻辑水平的测试,还可以对嵌入式软件特有的依存于芯片的问题点进行确认.是一款值得信赖的单元测试工具.winAMS谢谢分享这个工具用着试试
fzm5298 ARM技术
用LTC2380做数据采集卡,数据跳动大
设计任务:前端信号是正负20mA范围的电流信号输入。应用场所:因为不限制芯片的采购价格,所以AD用了最贵的LTC2380-24,运放选了opa189,运放的基准选择了ltc6655-5.0.所以大体的设计思路是1电流信号进来,经过电阻采样,转化为电压信号2接一级电压跟随(opa189)3进入ltc6362(单端信号转差分信号,同时抬高电压2.5v,因为adc不接受负压)4进入ltc2380-24(基准选用ltc6655-5
shanglaiye DIY/开源硬件专区
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved