AT89C52单片机定时器如何设置定时器工作方式1

 上传我的文档
 上传文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
单片机课程设计--定时器
下载积分:100
内容提示:单片机课程设计--定时器
文档格式:DOC|
浏览次数:343|
上传日期: 15:51:39|
文档星级:
全文阅读已结束,如果下载本文需要使用
 100 积分
下载此文档
该用户还上传了这些文档
单片机课程设计--定时器
关注微信公众号豆丁微信公众号
君,已阅读到文档的结尾了呢~~
精品:定时器工作方式 c51定时器工作方式 555定时器工作原理 定时器的工作原理 avr 定时器查询方式 定时器工作原理 定时器查询方式 at89c52 at89c52单片机 at89c52 pdf
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
AT89C52定时器2工作方式
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口如何设置89C52单片机定时器0_百度知道
如何设置89C52单片机定时器0
EA=1;//总中断允许 ET1=1;//定时器1允许 TMOD=0x10;//选择工作方式 TH1=()/256;//定时器装初值 TL1=()%256; TR1=1;//定时器打开这是定时器1的设置方法 那么定时器0该怎么设置,以及定时器的函数
我有更好的答案
只要设定如下程序即可EA=1;
//总中断允许 ET0=1;
//定时器0允许 TMOD=0x01;
//T0工作在模式1 TH0=()/256;
//定时器装初值TL0=()%256; TR0=1;
//定时器打开89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统。
采纳率:65%
来自团队:
//总中断允许 ET0=1;
//定时器0允许 TMOD=0x01;
//T0工作在模式1 TH0=()/256;
//定时器装初值 TL0=()%256; TR0=1;
//定时器打开
本回答被网友采纳
为您推荐:
其他类似问题
您可能关注的内容
定时器的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。89c52有几个定时器_中华文本库
STC89C52定时器使用方法介绍 - 定时器/计数器0 和定时器/计数器1 都可以在方式0、方式1、方式2 工作,而方 式3 只有前者才能工作。 1. 方式 0 当 TMOD ...
AT89C52 及其以 上、AT89S52 及其以上、STC89C52 及其以上测试正常运行。 ...4. 使定时器 2 产生中断的有两个中断源,如果 EXEN2(定时器 2 外部使能标...
A.固定的,为 fosc/32 B.固定的,为 fosc/16 C.可变的,通过定时器/计数器...6.AT89S51 单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率...
指令来访 5、89C52 单片机有 6 个中断源, 其中内部中断源有 6、汇编指令中...SBUF C、SCON 7、 要使 MCS-51 能响应外部中断 1 和定时器 T0 中断, 则...
8051,STC89C52单片机特殊功能寄存器_电子/电路_工程科技_专业资料。特思威电子...定时器 0 分为两个独立的 8 位定时器/计数器 1 1 TH0 及 TL0,T1 在...
12、89C51内部设有几个定时器/计数器?它们是由哪些特殊功能寄存器组成? 答:...( ) μs A 、1.5 B 、3 C 、1 D 、2 答案:31、C , 52、当 8051 ...
AT89C52中断系统寄存器 - 中断与定时是51单片机的核心部份,需要靠个人消化,本文稿总结51单片机中断及定时寄存器的知识点方便各位入门的朋友学习与查寻。
单片机定时器及中断的使用(含原创完整精讲例程) - 以STC89C52为例讲解定时器的使用方法;
52单片机定时器2作为串行口波特率发生器使用(C语言程序)_信息与通信_工程科技_专业...AT89C52及其以上、AT89S52及其以上、STC89C52及其以上测试正常运行。 view ...
单片机原理及应用技术-基于Keil C和Proteus仿真第6章 STC89C52单片机定时计数器 - 在测控系统中,常常需要有实时时钟和计数器,以 实现定时控制以及对外界事件进行...技术小站:
& 互动赢好礼
时间:8月22日 10:00 - 11:30
& 参会赢好礼
时间:9月12日 10:00 - 11:30
& 参会赢好礼,看看小小连接器如何“翻云覆雨”
& 看看你能点亮几台仪器
张飞电子工程师速成全集
10天掌握PCB AD画板
教你高速PCB项目整体设计
如何设计STM32单片机系统?
物联网操作系统从写到用
讲师:华清远见
讲师:林超文
讲师:郑振宇
讲师:李述铜
移入鼠标可放大二维码
89C52单片机定时器1程序 - 52单片机有几个定时器?52单片机定时器1和52单片机定时器2程序对比
来源:电子发烧友网整理 作者:日 14:30
[导读] 52单片机有几个定时器?STC89C52RC其实是有三个定时器的单片机,STC89C52RC共有3个定时器,分别是T0、T1、T2。而51单片机只有T0,T1 两个定时器。下文将详细把52单片机定时器1和52单片机定时器2程序对比分析。
  STC89C52单片机定时器1实现计数器的程序
  ///////////////////////////////////////////////////////////////////////////
  实现功能: 配置定时器1的相关寄存器,使其实现定时器中断功能,然后通过在数码管显示
  实验板型号:BS-XYD-C52
  实验名称: 定时器1实现计数器
  ///////////////////////////////////////////////////////////////////////////
  #include《reg52.h》
  #define uchar unsigned char //定义unsigned char 为 uchar
  #define uint unsigned int //定义unsigned int 为 uint
  uchar cTime_10ms_ //中断次数计数单元
  uchar cTime_1s_ //判断是否为1s的变量
  uchar uDis_buff[2]; //显示缓冲区,存放要显示的2个字符的段码值
  uchar cT //秒计数单元
  #define Time_1s_Sign 100 //根据中断周期,判断是否到一秒的标志
  sbit Duan=P2^6; //定义数码管的段选使能端
  sbit Wei =P2^7; //定义数码管的位选使能端
  #define Digital_tube_Wei_Enable Wei=1; //开启控制数码管的位选使能端
  #define Digital_tube_Wei_Disable Wei=0; //关闭控制数码管的位选使能端
  #define Digital_tube_Duan_Enable Duan=1; //开启控制数码管的段选使能端
  #define Digital_tube_Duan_Disable Duan=0; //关闭控制数码管的段选使能端
  #define Digital_tube_Duan P0 //定义数码管数据端口
  uchar code Dis_table[]= //将BCD码转换成数码管扫描码的数组
  {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00};
  uchar code Dis_Position[]= //定义数码管位选的数组
  {0x3e,0x3d,0x3b,0x37,0x1f,0x2f};
  ///////////////////////////////////////////////////////////////////////////
  函数名称:毫秒延时函数
  函数功能:实现毫秒级的延时
  参数介绍:Delay_MS: 定义需要延时的毫秒的数值
  iNumber: 记录Delay_MS的数值,以for语句实现所要求的延时
  iValue: 要延时毫秒所要进行的循环数值,本数值为实际测得
  返回值: 无
  注意事项:本实验是在所用晶振为12M的前提下实现的毫秒延时,本函数是通过循环的形
  式完成,所以如果改变了晶振的频率,请做相应的改变
  ///////////////////////////////////////////////////////////////////////////
  void DelayMs(uint Delay_MS)
  uint iNumber,iV
  for(iNumber=0;iNumber《Delay_MS;iNumber++) //用for语句实现单片机的延时
  iValue=107; //107这个数值是通过测定而得
  while(iValue--);
  ///////////////////////////////////////////////////////////////////////////
  函数名称:One_DigitalTube_display
  函数功能:完成在实验板上数码管指定显示,即在特定的数码管上显示特定的数字,比
  在第一个数码管上显示0
  参数介绍:uData:要显示的数字的BCD码数组
  uNumber:选择哪个数码管显示,即让某个特定数码管显示
  返回值: 无
  注意事项:实验板上的数码管是共阴极的数码管,如果使用共阳极的数码管,请注意不
  要弄反了
  ///////////////////////////////////////////////////////////////////////////
  void One_DigitalTube_display(uchar uData,uchar uNumber)
  Digital_tube_Duan_E //使能数码管的段选
  Digital_tube_Duan=Dis_table[uData];//输入所要显示的数值
  Digital_tube_Duan_D //关闭数码管的段选
  Digital_tube_Duan=Dis_Position[uNumber]; //点亮特定的数码管
  Digital_tube_Wei_E //使能数码管的位选
  Digital_tube_Wei_D //关闭数码管的位选
  DelayMs(5); //调整时序,以实现稳定显示
  ///////////////////////////////////////////////////////////////////////////
  函数名称:Time_to_disbuffer
  函数功能:把要在数码管上显示的数值,进行取余、取整,即对数值进行分割,这样以
  便显示在分离的数码管
  参数介绍:无
  返回值: 无
  注意事项:无
  ///////////////////////////////////////////////////////////////////////////
  void Time_to_disbuffer()
  uDis_buff[1]=cT //对cTime的数值取余,即就是取cTime的个位
  uDis_buff[0]=cTime/10; //对cTime的数值取整,即就是取cTime的十位
  ///////////////////////////////////////////////////////////////////////////
  函数名称:Init_time1
  函数功能:配置定时器1,配置的模式是定时器1采用16位定时器模式,在定时器1的输入
  数值寄存器输入特定的数值,使其每次中断的周期为10ms,同时允许定时器1
  中断,并打开总中断
  参数介绍:无
  返回值: 无
  注意事项:无
  ///////////////////////////////////////////////////////////////////////////
  void Init_time1(void)
  TMOD |= 0x10;
  TH1=()/256;
  TL1=()%6; //定时器0的,写入数值寄存器的低8位
  EA=1; //总中断打开
  ET1=1; //定时器T0允许中断
  TR1=1; //定时器T0开始工作
  ///////////////////////////////////////////////////////////////////////////
  函数名称:Timer_Display
  函数功能:把显示缓冲区的数值显示在数码管上
  参数介绍:cNumber:记录for语句的循环次数
  返回值: 无
  注意事项:无
  ///////////////////////////////////////////////////////////////////////////
  void Timer_Display()
  uchar cN
  for(cNumber=0;cNumber《2;cNumber++)
  One_DigitalTube_display(uDis_buff[cNumber],cNumber);
  DelayMs(2);
  ///////////////////////////////////////////////////////////////////////////
  函数名称:main
  函数功能:利用定时器1中断,在数码管上实现以一分钟为周期的计数器
  参数介绍:无
  返回值: 无
  注意事项:无
  ///////////////////////////////////////////////////////////////////////////
  void main()
  Init_time1(); //初始化定时器1
  cTime=0;
  while(1)
  if(cTime_1s_ok)
  cTime_1s_ok=0;
  if(++cTime》=60) //每次自加一,同时判断是否到1分钟
  cTime=0;
  Time_to_disbuffer(); //新调整好的时间送入显示缓冲区
  Timer_Display(); //更新显示内容
  ///////////////////////////////////////////////////////////////////////////
  函数名称:Interrupt_handler_time1
  函数功能:重新给寄存器TH1和TL1赋值,判断是否到达一秒,如果到一秒了,把相应的
  变量赋予正值,以方便其他的程序编写
  参数介绍:无
  返回值: 无
  注意事项:无
  ///////////////////////////////////////////////////////////////////////////
  void Interrupt_handler_time1(void) interrupt 3
  TH1=()/256;//定时10毫秒
  TL1=()%6;
  cTime_10ms_counter++;
  if(cTime_10ms_counter==Time_1s_Sign) //判断是否到达一秒
  cTime_10ms_counter=0;
  cTime_1s_ok=1;
关注电子发烧友微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
声明:电子发烧友网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。
作者如不同意转载,既请通知本站予以删除或改正。转载的作品可能在标题或内容上或许有所改动。
52单片机相关文章
52单片机相关下载
定时器相关文章
定时器相关下载
论坛精华干货
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-

我要回帖

更多关于 单片机定时器工作方式 的文章

 

随机推荐