stm8 tim4 测速显示

本文档详细介绍了使用STM8单片机通过TIM4测速并显示在LCD1602上的实现过程,包括代码实现、中断初始化、LCD初始化遇到的问题及解决方法。作者分享了在实验中遇到的电路连接错误、软件报错等问题,并展示了最终的测速结果。
摘要由CSDN通过智能技术生成

/*******************************************************************

  • 实验名称及内容:PWM测速度并显示

  • 配套书籍:《深入浅出STM8单片机入门、进阶与应用实例》《STM8实战》

  • 交流qq:994120361

  • 实验平台及编程人员:骨灰级菜鸟
    /
    #include"iostm8s208mb.h"//主控芯片的头文件
    #include “stdio.h”
    /端口/引脚定义
    /
    #define LCDRS_SET PF_ODR|=0x01 //置位PF0
    #define LCDRS_CLR PF_ODR&=0xFE //清0PF0
    #define LCDRW_SET PF_ODR|=0x08 //置位PF3
    #define LCDRW_CLR PF_ODR&=0xF7 //清0PF3
    #define LCDEN_SET PF_ODR|=0x10 //置位PF4
    #define LCDEN_CLR PF_ODR&=0xEF //清0PF4
    /常用数据类型定义
    /
    #define u8 uint8_t
    #define u16 uint16_t
    #define u32 uint32_t
    typedef unsigned char uint8_t; 定义可移植的无符号8位整数关键字
    typedef unsigned short uint16_t;定义可移植的无符号16位短整数关键字
    typedef unsigned long uint32_t;定义可移植的无符号32位长整数关键字
    unsigned long CNT;
    unsigned int SPEED;
    unsigned int VALUE;
    /用户自定义区域
    /
    char table1[16]=“VALUE:”; //LCD1602显示字符串数组1显示效果用
    u8 table2[16]=“FIGNTING!!!”; //LCD1602显示字符串数组2显示效果用
    /全局变量定义
    /
    unsigned char PWM =0; //定义全局变量用于控制占空比
    unsigned char num; //定义循环变量NUM
    /函数初始化定义
    /
    void delay(u16 Count); //延时函数
    void TIM2_PWM_Init(void); //PWM初始化函数
    void KEY_Init(void); //按键端口函数
    void KEY_Scan(void); //按键扫描函数
    void TIM4_Init(void); //TIM4初始化函数
    void Exti_Init(void); //外部中断初始化函数
    void Write_Com(unsigned char com); //向1602液晶写命令函数声明
    void Write_Inf(unsigned char inf);//向1602液晶写数据函数声明
    void LCD_Init(void); //1602液晶初始化函数声明
    /
    ******************************************************/
    int

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值