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

基于STM32的八位数码管显示Proteus仿真设计

基于STM32的八位数码管显示Proteus仿真设计

  • 1.主要功能
  • 2.仿真设计
  • 3. 程序设计
  • 4. 设计报告
  • 5. 资料清单&下载链接

基于STM32的八位数码管显示Proteus仿真设计(仿真+程序+设计报告+讲解视频)

仿真图proteus 8.9

程序编译器:keil 5

编程语言:C语言

设计编号:C0093

1.主要功能

以STM32单片机为核心,设计八位数码管显示仿真实验。

1.使用Proteus仿真软件和STM32F103系列芯片设计数码管显示电路

2.开始仿真后数码管显示87654321.显示数字可以修改为其他内容

3.使用STM32CubeMx图像化工具新建工程。

4.数码管使用74HC245和74HC138作为驱动电路

主要硬件设备:STM32F103C6+数码管+74HC245+74HC138

资料下载链接(可点击):

通过百度网盘分享的文件:KEY_C0093

链接:https://pan.baidu.com/s/1AR-5aXgClKMVHf-Q-84QcA?pwd=ksjd

提取码:ksjd

以下为本设计资料展示:

2.仿真设计

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。

仿真显示87654321

img

3. 程序设计

程序是用keil5 mdk版本打开的,如果打开有问题,核实下keil的版本。程序是HAL版本编写的,有stm32cubemx配置文件。有注释可以结合讲解视频理解。

img

img
数码管显示驱动代码

#include "smg.h"
#include "system.h"
#include "gpio.h"//共阴极数码管显示0~F的段码数据
uint8_t gsmg_code[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//数码管端口8位数据同时操作,不影响高位
//写入数据到8位端口,数据低位对应端口低引脚
//GPIO_Pin:8位端口低位引脚
//data:写入数据
void SMG_Write_Data(u8 data)
{
#if 1uint16_t Set_Pins = 0, Rst_Pins = 0;//DataDir('O');if(data & 0x01) Set_Pins |= LED0_Pin;else Rst_Pins |= LED0_Pin;if(data & 0x02) Set_Pins |= LED1_Pin;else Rst_Pins |=  LED1_Pin;if(data & 0x04) Set_Pins |=  LED2_Pin;else Rst_Pins |=  LED2_Pin;if(data & 0x08) Set_Pins |=  LED3_Pin;else Rst_Pins |=  LED3_Pin;if(data & 0x10) Set_Pins |=  LED4_Pin;else Rst_Pins |=  LED4_Pin;if(data & 0x20) Set_Pins |=  LED5_Pin;else Rst_Pins |=  LED5_Pin;if(data & 0x40) Set_Pins |=  LED6_Pin;else Rst_Pins |=  LED6_Pin;if(data & 0x80) Set_Pins |=  LED7_Pin;else Rst_Pins |=  LED7_Pin;HAL_GPIO_WritePin(GPIOA, Set_Pins, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOA, Rst_Pins, GPIO_PIN_RESET);
#elseGPIOA->ODR = gsmg_code[data];  
#endif
}//数码管显示
void SMG_Display(uint8_t dat[],uint8_t pos)
{u8 i=0;u8 pos_temp=pos-1;//从0开始for(i=pos_temp;i<8;i++){switch(i)//位选{case 0: LSC=1;LSB=1;LSA=1;break;case 1: LSC=1;LSB=1;LSA=0;break;case 2: LSC=1;LSB=0;LSA=1;break;case 3: LSC=1;LSB=0;LSA=0;break;case 4: LSC=0;LSB=1;LSA=1;break;case 5: LSC=0;LSB=1;LSA=0;break;case 6: LSC=0;LSB=0;LSA=1;break;case 7: LSC=0;LSB=0;LSA=0;break;}SMG_Write_Data(dat[i]);//传送段选数据HAL_Delay(2);//延时一段时间,等待显示稳定SMG_Write_Data(0x00);//消隐}
}

4. 设计报告

5644字设计报告,内容包括硬件设计、软件设计、结论等。

img

数码管显示字程序流程框图

img

5. 资料清单&下载链接

img

0、常见使用问题及解决方法–必读!!!!

1、程序代码

2、Proteus仿真

3、功能要求

4、设计报告

5、讲解视频

6、框图

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url


http://www.mrgr.cn/news/67109.html

相关文章:

  • string模拟实现find
  • 2024-11-05 问AI: [AI面试题] 人工智能开发和部署的道德考虑是什么?
  • 【若依框架】代码生成详细教程,15分钟搭建Springboot+Vue3前后端分离项目,基于Mysql8数据库和Redis5,管理后台前端基于Vue3和Element Plus,开发小程序数据后台
  • 基于Spring Boot 框架的试卷自动生成系统的设计与实现
  • 【Eclipse系列】Eclipse版本与jdk对应版本
  • NPOI 操作详解(操作Excel)
  • ubuntu中安装matplotcpp绘图
  • web端div带地图导出png图片功能
  • [LitCTF 2023]ez_XOR
  • 第十九课 Vue组件中的方法
  • 驱动-----dht11温湿度传感器
  • 《XGBoost算法的原理推导》12-7损失函数经验损失项二阶泰勒展开式 公式解析
  • Python数据可视化seaborn
  • pyspark基础准备
  • 鸿蒙Next如何接入微信支付
  • 扩散模型的数学原理(基于分数)
  • 开源的flash浏览器 CelfFlashBrowser
  • 一招教你查看最真实的Facebook广告转化
  • 【你也能从零基础学会网站开发】 SQL Server结构化查询语言数据操作应用--DML篇 浅谈SQL JOIN多表查询之FULL JOIN 全连接查询
  • VBA06-组件
  • ThreadLocal从入门到精通
  • RPM Fusion 软件仓库简介
  • Java第十一天(实训学习整理资料(十)Java IO流)
  • Bridge(桥接)
  • 【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十七章 交叉编译QT工程
  • 架构评估的方法