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

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

ID:28856214

大小:81.50 KB

页数:4页

时间:2018-12-14

52单片机定时器2使用c语言程序_第1页
52单片机定时器2使用c语言程序_第2页
52单片机定时器2使用c语言程序_第3页
52单片机定时器2使用c语言程序_第4页
资源描述:

《52单片机定时器2使用c语言程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案52单片机定时器2使用(C语言程序)水寒80511,128views0Comments发表评论  本文是关于52单片机定时器计数器2做为普通的16位自动重装定时器使用,类似于定时器计数器0和定时器计数器1工作在方式1下。以下程序在Keil2和Keil3下调时通过,下载在本校的实验板上达到预期效果。AT89C52及其以上、AT89S52及其以上、STC89C52及其以上测试正常运行。源代码:viewsourceprint?001/***********************************************************002程序功能:52

2、系列单片机定时器计数器2使用003程序设计:燕山大学鲁信琼004晶振选择:24MHz,如果晶振不匹配,请修改延时函数参数;P2^6口接数码管段选控制位;P2^7口接数码管位选控制位;P1^7口作为测试指示灯005本实验注意事项:0061.定时器2的中断使能为IE^6位,也就是ET2;中断服务程序标号为5。0072.定时器2工作在16为自动重装模式下,不需要在中断服务程序中重新赋初值,在程序初始化的时候我们应该给RCAP2L和RCAP2H赋值,TH2和TL2将会在中断产生时自动使TH2=RCAP2H,TL2=RCAP2L。0083.定时器2的中断标志位TF2不能够由硬件清零,所

3、以要在中断服务程序中将其清零,为了使定时尽量准确,我们常在终端服务程序中第一步就使TF2=0。0094.使定时器2产生中断的有两个中断源,如果EXEN2(定时器2外部使能标志)置1的话,使定时器2进入中断的有可能是定时器2计数溢出,也可能是捕获到T2EX(单片机P1^1口)有负跳变,所以需要在中断服务程序中判断EXF2是否为1。010  011承接51单片机、PIC单片机程序、VB/VC++上位机程序、电子产品软硬件设计开发工作012  013EMail:xqlu(at)ysu.net.cn  QQ:9790335014****************************

4、*******************************/015  016#include017#include018#defineucharunsignedchar019#defineuintunsignedint020#defineLED_DATAP0精彩文档实用标准文案021sbitDULA=P2^6;022sbitWELA=P2^7;023sbitLED=P1^7;024uchartimer2_ctr,num;025ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0

5、x7c,0x39,0x5e,0x79,0x71,0x40,0};026  027//24MHz晶振延时x毫秒函数028voiddelay_ms(uintxms)029{030    uintx,y;031    for(x=xms;x>0;x--)032        for(y=248;y>0;y--);033}034  035//初始化主函数036voidinit_main()037{038    DULA=0;            //关闭数码管显示039    WELA=0;040  041    RCAP2H=(0xFFFF-50000)/256;042    R

6、CAP2L=(0xFFFF-50000)%256; //24MHz晶振下定时25ms,自动重装043    TH2=RCAP2H;044    TL2=RCAP2L;        //定时器2赋初值045    T2CON=0;           //配置定时器2控制寄存器,这里其实不用配置,T2CON上电默认就是0,这里赋值只是为了演示这个寄存器的配置046    T2MOD=0;           //配置定时器2工作模式寄存器,这里其实不用配置,T2MOD上电默认就是0,这里赋值只是为了演示这个寄存器的配置047    IE=0xA0;           //1

7、0100000开总中断,开外定时器2中断,可按位操作:EA=1;ET2=1;048    TR2=1;             //启动定时器2049}050  051//数码管显示3位数:0-255052voiddisplay(ucharnum)053{054    uchargw,sw,bw;精彩文档实用标准文案055    bw=num/100;056    sw=num%100/10;057    gw=num%10;058  059    LED_DATA=0XFE;     //111111

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。