本帖最后由 跋扈洋 于 2021-1-10 17:21 编辑

开箱
首先非常感谢面包板社区让我申请到这CMS8S6990血氧仪开发板,虽说名字是血氧仪开发板,其实本质上是一个8位的51单片机。其中的开发也都是依据51单片机方式开发的。









搭建环境

首先我们需要下载个KEIL 5,之后进行安装。然后进入我们开发板的官网,进行下载相关芯片包。别忘了进行debug配置,否则不能下载。
20210110165044.png 20210110165053.png



软件程序

本设计主要利用定时器,实现LED灯的定时亮灭。



主函数
  1. uint32_t Systemclock = 24000000;
  2. int main(void)
  3. {               
  4.         TMR1_Config();
  5.        
  6.         GPIO_SET_MUX_MODE(P05CFG, GPIO_MUX_GPIO);
  7.         GPIO_ENABLE_OUTPUT(P0TRIS, GPIO_PIN_5);
  8.         P05 =0;
  9.        
  10.         while(1)
  11.         {       
  12.                 ;
  13.         }               
  14. }
配置函数
  1. #include "demo_timer.h"
  2. void TMR1_Config(void)
  3. {
  4.         /*
  5.         (1)设置Timer的运行模式
  6.         */
  7.         TMR_ConfigRunMode(TMR1, TMR_MODE_TIMING,TMR_TIM_16BIT);       
  8.         /*
  9.         (2)设置Timer 运行时钟
  10.         */
  11.         TMR_ConfigTimerClk(TMR1, TMR_CLK_DIV_12);                                                /*Fsys = 24Mhz,Ftimer = 2Mhz,Ttmr=0.5us*/
  12.         /*
  13.         (3)设置Timer周期
  14.         */       
  15.         TMR_ConfigTimerPeriod(TMR1, (65536-200)>>8, 65536-200);                                 // 200*0.5us = 100us,递增计数
  16.                
  17.         /*
  18.         (4)开启中断
  19.         */
  20.         TMR_EnableOverflowInt(TMR1);
  21.         /*
  22.         (5)设置Timer中断优先级
  23.         */       
  24.         IRQ_SET_PRIORITY(IRQ_TMR1,IRQ_PRIORITY_LOW);
  25.         IRQ_ALL_ENABLE();       
  26.         /*
  27.         (6)开启Timer
  28.         */
  29.         TMR_Start(TMR1);
  30. }
定时器中断
void Timer1_IRQHandler(void)  interrupt TMR1_VECTOR
{
        P05 = ~P05;
        TH1 =(65536-200)>>8 ;
        TL1 = 65536-200;
}


实验结果






总结


总体上说,这块开发板还是一款非常优秀的单片机。很适合进行日常的开发与使用。

程序放在这里