您的位置 首页 基础

测验S3C2440的定时器

/********************************************文件名称:PWM.c*功能:测试s3c2440的PWM功能*作者:jianqi*版本:1.0*********

  1. /*******************************************
  2. *文件称号:PWM.c
  3. *功用:测验s3c2440的PWM功用
  4. *作者:jianqi
  5. *版别:1.0
  6. **********************************************/
  7. #include”2440addr.h”//包括2440相关寄存器的设置
  8. #include”def.h”
  9. #defineU32unsignedint
  10. //四个LED对应GPB5.6.7.8。
  11. #defineLED15
  12. #defineLED26
  13. #defineLED37
  14. #defineLED48
  15. #defineBit(x)(1<
  16. #defineOutput(x)(1<<2*x)//将对应IO置为输出
  17. /*******************************************
  18. *称号:Timer0_ISR
  19. *功用:Timer0中止服务程序
  20. *进口参数:无
  21. *出口参数:无
  22. **********************************************/
  23. void__irqTimer0_ISR(void)
  24. {
  25. staticintcount=0;
  26. count++;
  27. rSRCPND=rSRCPND|(0x1<<10);
  28. rINTPND=rINTPND|(0x1<<10);//每隔2秒LED亮
  29. if(count%4==0)
  30. {
  31. rGPBDAT=~0x1e0;//LED全亮
  32. }
  33. elseif(count%4==1)
  34. {
  35. rGPBDAT=0x1e0;//LED全灭
  36. }
  37. }
  38. /*******************************************
  39. *称号:Time0_init
  40. *功用:Timer0初始化
  41. *进口参数:无
  42. *出口参数:无
  43. **********************************************/
  44. voidTime0_init(void)
  45. {
  46. rTCFG0=249;//250分频
  47. rTCFG1=0x02;//1/8分频,25Khz
  48. rTCNTB0=12500;//守时0.5秒
  49. rTCON=(1<<1)|(1<<3);//更新TCNTB0,主动重载
  50. rTCON&=~(1<<1);//铲除手动更新位
  51. }
  52. /*******************************************
  53. *称号:IO_init
  54. *功用:B口初始化
  55. *进口参数:无
  56. *出口参数:无
  57. **********************************************/
  58. voidIO_init(void)
  59. {
  60. rGPBCON=Output(LED1)|Output(LED2)|Output(LED3)|Output(LED4);//LED的IO口置为输出
  61. rGPBDAT=0xffff;//LED悉数平息
  62. }
  63. /*******************************************
  64. *称号:INT_init
  65. *功用:中止初始化
  66. *进口参数:无
  67. *出口参数:无
  68. **********************************************/
  69. voidINT_init(void)
  70. {
  71. rSRCPND=rSRCPND|(0x1<<10);
  72. rINTPND=rINTPND|(0x1<<10);
  73. rINTMSK=~(0x1<<10);//翻开Timer0中止
  74. }
  75. /*******************************************
  76. *称号:Main
  77. *功用:测验PWM功用
  78. *进口参数:无
  79. *出口参数:无
  80. **********************************************/
  81. voidMain(void)
  82. {
  83. IO_init();//初始化IO口
  84. Time0_init();//初始化Timer0
  85. INT_init();//初始化Timer0的中止
  86. pISR_TIMER0=(U32)Timer0_ISR;//注册Timer0中止函数
  87. rTCON|=(1<<0);//开端TImer0
  88. while(1);
  89. {
  90. ;
  91. }
  92. }

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/264423.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部