基于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
3. 程序设计
程序是用keil5 mdk版本打开的,如果打开有问题,核实下keil的版本。程序是HAL版本编写的,有stm32cubemx配置文件。有注释可以结合讲解视频理解。
数码管显示驱动代码
#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字设计报告,内容包括硬件设计、软件设计、结论等。
数码管显示字程序流程框图
5. 资料清单&下载链接
0、常见使用问题及解决方法–必读!!!!
1、程序代码
2、Proteus仿真
3、功能要求
4、设计报告
5、讲解视频
6、框图
Altium Designer 安装破解
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url