下载链接

链接:https://pan.baidu.com/s/1sWsX1IEf8HnlWvq1zNJYmA 
提取码:004z 
复制这段内容后打开百度网盘手机App,操作更方便哦

#include <iostm8s103f3.h>#define        uint         unsigned    int
#define        uchar        unsigned    char
#define        ulong        unsigned    long#define        MASS_KEY1        0xAE
#define        MASS_KEY2        0x56
#define        EEP_BASE         0x4000void  delay_ms(uchar  ms)
{uchar  i,j;while(ms--){for(i=4;i!=0;i--)for(j=100;j!=0;j--);}
}void  adc_init(void)
{ADC_CR1_ADON = 1;      //打开adcADC_CSR_CH = 0;        //AIN0脚ADC_CSR_EOCIE = 1;     //打开ADC中断ADC_CR1_SPSEL = 2;     //4分频时钟
}/*
uint  adc_get(void)
{uint  dataH, dataL;ulong  value = 0;uint   voltage = 0;         //电压单位为(mV)ADC_CR1_ADON = 1;           //使能adcwhile(ADC_CSR_EOC==0);dataH = ADC_DRH;            //左对齐数据dataL = ADC_DRL;            //读取寄存器数据ADC_CSR_EOC = 0;value = dataH<<2|dataL;voltage = (value*5000)>>10;     //计算实际电压return  voltage;
}//中位值滤波
uint  Sort_detection(uchar  channel)
{uchar   i,j,k;uint    tmp,adc_buf[5];ADC_CSR_CH = channel;asm("nop");asm("nop");asm("nop");for(i=0;i<5;i++){adc_buf[i] = adc_get();delay_ms(1);}for(j=4;j>0;j--){for(k=0;k<j;k++){if(adc_buf[k]>adc_buf[k+1]){tmp = adc_buf[k+1];adc_buf[k+1] = adc_buf[k];adc_buf[k] = tmp;}}}return  adc_buf[2];
}
*/void  uart1_init(void)
{UART1_CR1=0x00;UART1_CR2=0x00;UART1_CR3=0x00;UART1_BRR2 = 0x01;UART1_BRR1 = 0x01;     //115200波特率
}void  Exit_Init(void)
{EXTI_CR1_PAIS = 2;    //下降沿触发
}void  WDT_Init(void)
{IWDG_KR = 0xCC;       //启动看门狗IWDG_KR = 0x55;       //解除写保护IWDG_PR = 0x06;       //256分频,最高1.02秒IWDG_RLR = 125;       //500msIWDG_KR = 0xAA;       //写保护
}void  WDT(void)
{IWDG_KR = 0xAA;       //喂狗指令WDT();
}void  EEP_Init(void)
{FLASH_CR1 = 0x00;FLASH_CR2 = 0x00;FLASH_NCR2 = 0xff;FLASH_DUKR = MASS_KEY1;FLASH_DUKR = MASS_KEY2;while(!FLASH_IAPSR_DUL);        //等待写保护解锁
}void  eep_write(uint addr,uchar dat) //不同芯片,EEPROM容量不同
{*((uchar*)(addr + EEP_BASE)) = dat;while(!FLASH_IAPSR_EOP);        //等待写完成
}uchar  eep_read(uint addr)
{return  *((uchar*)(EEP_BASE + addr));
}void  timer_Init(void)
{TIM1_PSCRH = 0;TIM1_PSCRL = 1;          //(1+1)分频为1MTIM1_ARRH = 0x3;TIM1_ARRL = 0xE8;        //每1000us中断一次TIM1_IER = 0x01;         //允许更新中断TIM1_CR1 = 0x01;         //计数器使能,开始计数//TIM2/3/4/5/6须使用与芯片对应的头文件TIM2_PSCR_PSC = 1;          //2^1 分频为1M TIM2_ARRH = 0x3;TIM2_ARRL = 0xE8;        //每1000us中断一次TIM2_IER = 0x01;         //允许更新中断TIM2_CR1 = 0x01;         //计数器使能,开始计数
}void  main(void)
{asm("sim");    //关总中断adc_init();uart1_init();Exit_Init();EEP_Init();timer_Init();WDT_Init();asm("rim");    //开总中断while(1){asm("nop");}
}#define   TLI_vector               0x02
#define   EXTI0_PA_vector          0x05
#define   EXTI1_PB_vector          0x06
#define   EXTI2_PC_vector          0x07
#define   EXTI3_PD_vector          0x08
#define   EXTI4_PE_vector          0x09#pragma   vector = EXTI0_PA_vector
__interrupt  void  EXTI0_PA(void)
{//your code here
}#pragma   vector = 0x18
__interrupt  void  ADC_EOC(void)
{//左对齐先读高位,右对齐先读低位//add  your codeADC_CSR_EOC = 0;
}#pragma   vector = TIM1_OVR_UIF_vector
__interrupt void TIM1_OVR_UIF(void)
{TIM1_SR1_UIF = 0;//add your code here
}#pragma   vector = TIM2_OVR_UIF_vector
__interrupt void TIM2_OVR_UIF(void)
{TIM2_SR1_UIF = 0;//add your code here
}

以及电阻分压  电阻并联计算

stm8 代码一键生成方便快捷相关推荐

  1. Easy Code,IntelliJ IDEA中代码一键生成

    Easy Code,IntelliJ IDEA中代码一键生成 1. 安装插件 2. 连接数据库 2.1 添加数据库 2.2 添加数据库信息 3. 生成代码 EasyCode是基于IntelliJ ID ...

  2. JavaWeb前后端代码一键生成

    JavaWeb前后端代码一键生成 生成包括controller层/Rest类.service层.实体类dao层(可不用), 实体类. 先说下,用编码配置方式: 1.Javabean生成 public ...

  3. 澳门美团跨多应用测试代码一键生成案例分享

    每家软件互联网公司的产品线基本无一例外包含:安卓 APP/iOS APP + 后台控制,比如美团就有至少4个应用: 1. 买家下单APP 2. 卖家接单APP 3. 单子后台调度Web应用 4. 骑手 ...

  4. 利用java代码一键生成数据库文档

    1 screw(螺丝钉)介绍 1.2 特点 简洁.轻量.设计良好 多数据库支持 多种格式文档 灵活扩展 支持自定义模板 1.2 文档生成支持 html word markdown 1.3 文档截图 1 ...

  5. idea package自动生成_懒人必备,IntelliJ IDEA中代码一键生成

    之前有不少小伙伴问松哥微人事项目(https://github.com/lenve/vhr)使用的 MyBatis 逆向工程在哪里?其实旧版微人事当时没有使用逆向工程,是我自己手动敲出来的,当然手动敲 ...

  6. JEECG J2EE敏捷开发框架(代码一键生成)

    JEECG是一款基于代码生成器的敏捷开发框架. [J2EE Code Generation] JAVA编程有很多重复机械代码,生成器可以帮助解决50%的重复工作,让开发更多关注业务逻辑,从而实现代码生 ...

  7. Java代码一键生成神器,支持Jpa/Mybatis/plus多种ORM框架,亲测好用

    一款支持多种ORM框架的Java代码生成器,基于模板引擎实现,具有非常高的自由度,可随意修改为适合你的代码风格 支持JPA.Mybatis.MybatisPlus等ORM框架 项目地址在文章末尾 界面 ...

  8. 懒人必备,IntelliJ IDEA中代码一键生成

    之前有不少小伙伴问松哥微人事项目(https://github.com/lenve/vhr)使用的 MyBatis 逆向工程在哪里?其实旧版微人事当时没有使用逆向工程,是我自己手动敲出来的,当然手动敲 ...

  9. 【JEECG-Mybatis版本】springmvc+mybatis+代码生成器(代码一键生成)

              Jeecg-mybatis-framework 版本 简要说明 JEECG[J2EE Code Generation]是一款基于代码生成器的J2EE智能开发框架,借助该框架可以节省 ...

最新文章

  1. yii2 Html::a
  2. GIT_Error: Agent admitted failure to sign —— Permission denied (publickey).
  3. 思维模型篇:四大战略分析工具
  4. Systrace的用法小结
  5. 东南亚本地商ERP仓储系统怎么样?
  6. 设置屏幕横屏_android设置横屏和竖屏的两种方法
  7. solr7在tomcat上的部署
  8. Android课程思维导图,Android实现思维导图
  9. php js 报错信息,JavaScript中错误异常的分析(附示例)
  10. Python 柱状图 横坐标 名字_Python爬虫实例(二)——爬取新馆疫情每日新增人数
  11. return可以返回多个值_JDK10的新特性:var泛型和多个接口实现
  12. Android5.0免Root截屏,录屏
  13. 在MAC上安装mangodb
  14. phpquery中文手册
  15. 熟练运用计算机的重要性,计算机*实习目的和意义
  16. 第九章:深度学习平台及框架
  17. IPv4子网划分与聚合
  18. 零售价9000美元!索尼发布首款专业无人机;三星推出最小尺寸高像素图像传感器 | 美通社头条...
  19. eclipse中集成jad反编译
  20. LTC流程概述与核心要点--华为LTC流程专家许浩明老师分享心得体会

热门文章

  1. kmeans简单用法以及一些常用的参数
  2. PHP基础学习笔记(一)
  3. python找不到解释器_pythram找不到python的解释器
  4. Error Prone Installation
  5. Windows10上使用Caffe的Python接口进行图像分类例程
  6. nnUNet(代码)-预处理
  7. 驱动中如何访问CPU中的寄存器?
  8. 用友备份文件怎么与服务器断开,用友软件帐套的备份方法及帐套恢复方法规整...
  9. Linux ubuntu 安装ssh服务
  10. 使用python和flask建个人博客---增加一个新功能:点击主页图片的时候能够跳转到指定的网页