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

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









搭建环境

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



软件程序

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



主函数
  • uint32_t Systemclock = 24000000;
  • int main(void)
  • {               
  •         TMR1_Config();
  •        
  •         GPIO_SET_MUX_MODE(P05CFG, GPIO_MUX_GPIO);
  •         GPIO_ENABLE_OUTPUT(P0TRIS, GPIO_PIN_5);
  •         P05 =0;
  •        
  •         while(1)
  •         {       
  •                 ;
  •         }               
  • }
  • 复制代码
    配置函数
  • #include "demo_timer.h"
  • void TMR1_Config(void)
  • {
  •         /*
  •         (1)设置Timer的运行模式
  •         */
  •         TMR_ConfigRunMode(TMR1, TMR_MODE_TIMING,TMR_TIM_16BIT);       
  •         /*
  •         (2)设置Timer 运行时钟
  •         */
  •         TMR_ConfigTimerClk(TMR1, TMR_CLK_DIV_12);                                                /*Fsys = 24Mhz,Ftimer = 2Mhz,Ttmr=0.5us*/
  •         /*
  •         (3)设置Timer周期
  •         */       
  •         TMR_ConfigTimerPeriod(TMR1, (65536-200)>>8, 65536-200);                                 // 200*0.5us = 100us,递增计数
  •                
  •         /*
  •         (4)开启中断
  •         */
  •         TMR_EnableOverflowInt(TMR1);
  •         /*
  •         (5)设置Timer中断优先级
  •         */       
  •         IRQ_SET_PRIORITY(IRQ_TMR1,IRQ_PRIORITY_LOW);
  •         IRQ_ALL_ENABLE();       
  •         /*
  •         (6)开启Timer
  •         */
  •         TMR_Start(TMR1);
  • }
  • 复制代码
    定时器中断
    void Timer1_IRQHandler(void)  interrupt TMR1_VECTOR
    {
            P05 = ~P05;
            TH1 =(65536-200)>>8 ;
            TL1 = 65536-200;
    }


    实验结果






    总结


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