52单片机定时器2使用C语言程序

上传人:彩*** 文档编号:73135730 上传时间:2022-04-11 格式:DOC 页数:12 大小:361KB
收藏 版权申诉 举报 下载
52单片机定时器2使用C语言程序_第1页
第1页 / 共12页
52单片机定时器2使用C语言程序_第2页
第2页 / 共12页
52单片机定时器2使用C语言程序_第3页
第3页 / 共12页
资源描述:

《52单片机定时器2使用C语言程序》由会员分享,可在线阅读,更多相关《52单片机定时器2使用C语言程序(12页珍藏版)》请在装配图网上搜索。

1、实用标准文案52 单片机定时器 2 使用 (C 语言程序 )水寒 8051 1,128 views0 Comments发表评论本文是关于 52 单片机定时器计数器2 做为普通的 16 位自动重装定时器使用,类似于定时器计数器0 和定时器计数器1 工作在方式 1 下。以下程序在 Keil2 和 Keil 3 下调时通过,下载在本校的实验板上达到预期效果。AT89C52 及其以上、 AT89S52 及其以上、 STC89C52 及其以上测试正常运行。源代码:view sourceprint?00/*100程序功能: 52 系列单片机定时器计数器2 使用200程序设计:燕山大学鲁信琼300晶振选择:

2、 24MHz,如果晶振不匹配,请修改延时函数参数;P26 口接数4 码管段选控制位 ; P27 口接数码管位选控制位 ; P17 口作为测试指示灯00本实验注意事项:5精彩文档实用标准文案001. 定时器 2 的中断使能为 IE6 位,也就是 ET2; 中断服务程序标号为5 。62. 定时器 2 工作在 16 为自动重装模式下, 不需要在中断服务程序中重新赋00初值,在程序初始化的时候我们应该给RCAP2L 和 RCAP2H 赋值, TH2 和7TL2 将会在中断产生时自动使TH2=RCAP2H ,TL2=RCAP2L 。3. 定时器 2 的中断标志位 TF2 不能够由硬件清零,所以要在中断服

3、务程序00中将其清零,为了使定时尽量准确,我们常在终端服务程序中第一步就使8TF2=0 。4. 使定时器 2 产生中断的有两个中断源, 如果 EXEN2( 定时器 2 外部使能标0 志)置 1 的话,使定时器 2 进入中断的有可能是定时器 2 计数溢出,也可能9 是捕获到 T2EX(单片机 P11 口)有负跳变,所以需要在中断服务程序中判断EXF2 是否为 1。0101 承接 51 单片机、 PIC 单片机程序、 VB/VC+ 上位机程序、电子产品软硬件1 设计开发工作01201EMail: xqlu(at)QQ: 9790335301*/精彩文档实用标准文案40151 #includ6 e0

4、1#include71 #define uchar unsigned8 char01#define uint unsigned int902#define LED_DATA P0002sbit1DULA=P26;02sbit2WELA=P27;02sbit LED=P17;302uchar timer2_ctr,num;4精彩文档实用标准文案2 uchar code table=0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,5 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x40, 0;0260

5、2/24MHz晶振延时 x 毫秒函7 数02void delay_ms(uint xms)802903uint x,y;003for(x=xms; x0; x-)103for(y=248; y0; y-);20330343 / 初始化主函数精彩文档实用标准文案503void init_main()603703DULA=0;/ 关闭数码管显示803WELA=0;904004RCAP2H=(0xFFFF-50000)/256;104RCAP2L=(0xFFFF-50000)%256;/24MHz晶振下定时 25ms ,自动重2 装04TH2=RCAP2H;304TL2=RCAP2L;/ 定时器 2

6、 赋初值404T2CON=0;/ 配置定时器 2 控制寄存器,这里其实不用配置,5T2CON 上电默认就是 0,这里赋值只是为了演示这个寄存器的配置精彩文档实用标准文案04T2MOD=0;/ 配置定时器 2 工作模式寄存器,这里其实不用配6 置, T2MOD 上电默认就是 0,这里赋值只是为了演示这个寄存器的配置04IE=0xA0;/1010 0000开总中断,开外定时器 2 中断,可按位操7作: EA=1; ET2=1;04TR2=1;/ 启动定时器 2804905005/ 数码管显示 3 位数:0-255105void display(uchar num)205305uchar gw,sw

7、,bw;405bw=num/100;505sw=num%100/10;精彩文档实用标准文案605gw=num%10;705805LED_DATA=0XFE;/1111 1110906WELA=1;006_nop_();_nop_();106WELA=0;206LED_DATA=tablebw;306DULA=1;406_nop_();_nop_();506DULA=0;6精彩文档实用标准文案06delay_ms(3);706806LED_DATA=0XFD;/1111 1101907WELA=1;007_nop_();_nop_();107WELA=0;207LED_DATA=tablesw;

8、307DULA=1;407_nop_();_nop_();507DULA=0;607delay_ms(3);精彩文档实用标准文案707807LED_DATA=0XFB;/1111 1011908WELA=1;008_nop_();_nop_();108WELA=0;208LED_DATA=tablegw;308DULA=1;408_nop_();_nop_();508DULA=0;608delay_ms(3);7精彩文档实用标准文案08808909void main()009109init_main();209while(1)309409display(num);509609709精彩文档实用标准文案809void timer2() interrupt 5910010 /! 注意 ! 定时器 2 必须由软件对溢出标志位清零,硬件不能清零,1 这里与定时器 0 和定时器 1 不同 !10210TF2=0;310timer2_ctr+;410510/ 定时 25ms 40=1000ms即 1 秒钟,这里模拟一个60 秒秒表610if(timer2_ctr=40)7108精彩文档实用标准文案10timer2_ctr=0;911LED=LED;011num+;111if(num=60)211311num=0;4115116117精彩文档

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!