C8051F120定时器实验1

  • G2_309819
    了解作者
  • 15.3KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-01 07:33
    上传日期
学习使用 C8051F1xx 单片机计数器/定时器2 查询方式的基本设置和应用。使用计数器/定时器2 查询工作方式定时控制P2 口灯闪烁的频率。采用软件查询的方式等待定时时间到达。
C8051F120timers1.rar
  • Testcase3
  • main.h
    466B
  • main.c
    3KB
  • Testcase3.plg
    199B
  • Testcase3_Opt.Bak
    1.4KB
  • Test.lnp
    87B
  • Testcase3_Uv2.Bak
    2.1KB
  • Testcase3.hex
    604B
  • Testcase3.lnp
    92B
  • Test.M51
    6.3KB
  • Test.plg
    240B
  • main.LST
    6.1KB
  • Testcase3.M51
    6.3KB
  • Testcase3.Uv2
    2.1KB
  • Test
    5.6KB
  • Test.hex
    604B
  • main.OBJ
    6.1KB
  • Testcase3.Opt
    1.4KB
内容介绍
#include <C8051F120.H> #include "main.h" ////////////////////////////////////////////////////////////////////////// //名称:WTDDisable() //功能:关闭看门狗 //入口参数:无 //出口参数:无 ////////////////////////////////////////////////////////////////////////// void WTDDisable(void){ GLOBAL_ISR_DISABLE(); //writing to 0xDE and 0xAD must be finished in 4 clock cycles WDTCN = 0xDE; WDTCN = 0xAD; GLOBAL_ISR_ENABLE(); } ////////////////////////////////////////////////////////////////////////// //名称:SystemClkInit() //功能:系统时钟初始化 //入口参数:无 //出口参数:无 ////////////////////////////////////////////////////////////////////////// void SystemClkInit(void){ WORD EXT_DATA tmp; SFRPAGE = CONFIG_PAGE; OSCXCN = 0x67; // enable ext osc 10-30MHz range for (tmp=24500; tmp!=0; tmp--) // Wait 1ms for initialization { ; } while ((OSCXCN & 0x80) == 0) { ; } OSCICN = 0x83; // Enable 24.5 MHz internal osc for (tmp=24500; tmp!=0; tmp--) // Wait 1ms for initialization { ; } while ((OSCICN & 0x40) == 0) { ; } CLKSEL = 0x00; // Select internal clock source } ////////////////////////////////////////////////////////////////////////// //名称:SfrAutoSwithDis() //功能:SFR自动页切换关闭 //入口参数:无 //出口参数:无 ////////////////////////////////////////////////////////////////////////// void SfrAutoSwitchDis(void){ SFRPAGE = CONFIG_PAGE; SFRPGCN = 0x00; } ////////////////////////////////////////////////////////////////////////// //名称:PortInit() //功能:端口初始化 //入口参数:无 //出口参数:无 ////////////////////////////////////////////////////////////////////////// void PortInit(void){ SFRPAGE = CONFIG_PAGE; XBR0 |= 0x04; P0MDOUT |= 0x01;//enable UART0 XBR1 |= 0x20;//enable T2 P2MDOUT |= 0x07;//设置P2口的P2^0~3为输出 XBR2 |= 0x40; } ////////////////////////////////////////////////////////////////////////// //名称:TestCase3() //功能:初始化定时器2,定时时间为0.5s //入口参数:无 //出口参数:无 ////////////////////////////////////////////////////////////////////////// void TestCase3(void){ BYTE i; //定时时间为0.5s,本例中时间计算方法为:t=(2^16-T0初值)*(8/16M) //本例中采用定时器2自动重装载方式:16位计数器/定时器,t=0.025s,计时20次,得到0.5s //通过计算T0初值=15536=0x3CB0 SFRPAGE = TMR2_PAGE; TMR2CF = 0x10;//外部时钟8分频 RCAP2H = 0x3C; RCAP2L = 0xB0;//初始化T2的初值 TMR2CN = 0x04;//初始化TMR2CN while(1){ //查询定时器方式等待0.5s for(i = 0; i < 20; i++){ while (TF2 == 0) { ; } TF2 = 0;//清溢出标志位 } LED = ~LED; } } void main(void){ WTDDisable(); GLOBAL_ISR_DISABLE(); SystemClkInit(); SfrAutoSwitchDis(); PortInit(); TestCase3(); }
评论
    相关推荐
    • 单片机课件
      能够帮助同学们快速的了解单片机并对于单片机的一些设计程序有一定的认知
    • 单片机课件
      单片机的课件及例题, 单片机的课件及例题, 单片机的课件及例题, 单片机的课 件及例题,
    • 爱上单片机
      一本电子爱好者都能看懂,会边看边笑的单片机入门书籍,作者杜洋曾在《无线电》上发表过“趣味单片机制作专题”、“单片机编程魔法学校”等深受读者喜爱、让无数单片机入门者热血沸腾的系列文章。本书通过生动的语言...
    • 单片机资料
      内含30个单片机应用开发的资料,包括配套单片机入门PPT。
    • 单片机课件
      单片机课的课件,对单片机的基础进行了全面的概述,也有非常精细的指导。
    • 单片机工具
      单片机工具 供单片机学习使用 免费资源 日后还会有更多资源 请联系我
    • 单片机课件
      单片机课件 ppt文件格式 介绍了单片机的结构、程序设计、定时器、中断等
    • 单片机教程
      这是一个单片机的教程,可以用于初次学习单片机的人学习。
    • 单片机入门
      很好的单片机学习资源,入门比较好适合对单片机的学习有兴趣的人,而且是名校的精彩讲解,
    • 爱上单片机
      《爱上单片机》本书是一本电子爱好者都能看懂,会边看边笑的单片机入门书籍,作者杜洋曾在《无线电》上发表过“趣味单片机制作专题”、“单片机编程魔法学校”等深受读者喜爱、让无数单片机入门者热血沸腾的系列文章...