当前位置: 首页 > news >正文

(八)Proteus仿真STM32单片机GPIO驱动数码管

1,参考上篇,将LED点阵屏更换成数码管如下图

2,修改驱动函数,数组seg[14]前10个是0-9数字的编码,后四个是空格,点,横线,下划线

char seg_decode(char num)//数字解码
{const char seg[14]={0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,  0xff,0x7f,0xbf,0xf7};return seg[num];
}
void disp_set_row(unsigned char dat,char sel)//单个数码管显示
{GPIOB->ODR=0xff;GPIOA->ODR=~seg_decode(dat);switch(sel){case 0:GPIOB->ODR=0xfe;break;case 1:GPIOB->ODR=0xfd;break;case 2:GPIOB->ODR=0xfb;break;case 3:GPIOB->ODR=0xf7;break;case 4:GPIOB->ODR=0xef;break;case 5:GPIOB->ODR=0xdf;break;case 6:GPIOB->ODR=0xbf;break;case 7:GPIOB->ODR=0x7f;break;}
}
unsigned char dispbuff[8];
void disp_scan()//定时刷新函数,毫秒级调用
{static char scan=0;disp_set_row(dispbuff[scan],scan);scan++;if(scan>=8)scan=0;
}
char char_decode(char ch)//字符解码
{if((ch>='0')&&(ch<='9'))return ch-'0';else if(ch == ' ')return 10;else if(ch =='.')return 11;else if(ch =='-')return 12;else if(ch =='_')return 13;else return 10;
}
void disp_string(char *str)//字符串显示
{char len = strlen(str);char i;if(len>8)len=8;memset(dispbuff,10,8);for(i=0;i<len;i++){dispbuff[i]=char_decode(str[i]);}
}void key1_action()//更新屏幕字符
{disp_string("1.4 -2_5");
}
void key2_action()//更新屏幕字符
{disp_string("12-30-00");
}

git源码:stm32_proutes: Protues仿真STM32单片机教程源码-WWW.ARMFUN.CN

http://www.lryc.cn/news/461808.html

相关文章:

  • Python进阶知识1
  • 单片机设计|基于STM32实现具有室内定位功能的智能手环的设计
  • 计算机网络——运输层(可靠传输、超时重传、选择确认、流量控制和拥塞控制、TCP连接和释放)
  • Web安全实践
  • 【算法篇】动态规划类(2)——01背包+完全背包(笔记)
  • 基于SpringBoot的“社区医院管理服务系统”的设计与实现(源码+数据库+文档+PPT)
  • 二进制漏洞利用 | 整数溢出探究
  • 10种经典的螺栓防松设计
  • 开放式蓝牙耳机哪个品牌好用?开放式耳机排行榜测评!
  • 新能源行业必会基础知识---电力现货问答---第5问---何为电力中长期市场?与电力现货市场之间有何关系?国内试点地区如何衔接?国外有哪些经验值得借鉴?
  • 如何将数据从 AWS S3 导入到 Elastic Cloud - 第 2 部分:Elastic Agent
  • DTL698电表数据 转 profinet IO协议项目案例
  • CSS @规则(At-rules)系列详解___@font-face规则使用方法
  • 如何通过CDN优化网站服务器访问速度?
  • JAVA学习-练习试用Java实现“自定义函数之字符反转”
  • 大衍数列——考研408考试科目之数据算法——未来之窗学习通
  • JVM(HotSpot):直接内存及其使用建议
  • centos7安装mysql5.7
  • 如何在JVS逻辑引擎中巧妙运用包含查询功能?
  • Spring Boot视频网站:安全与可扩展性设计
  • 深入理解 Flutter 鸿蒙版的 Stack 布局:适配屏幕与层叠样式布局
  • JavaScript中Number相关特性
  • Redis中String类型数据扩容原理分析
  • 智能码二维码zhinengma.cn在供应链管理中有哪些优势?
  • 代理商培训新策略:利用内部知识库提升培训效果
  • Redis 哨兵模式下DB库操作审计
  • latex公式输入-矩阵
  • NSSCTF-WEB-easy_eval
  • 交通目标识别数据集YOLO 模型 ui界面✓图片数量15000,xml和txt标签都有 11类 交通道路车辆行人红黄绿数据集 红绿灯数据集 交通信号数据集
  • 买卖股票的最佳时机 题解