• 方案介绍
    • 1.主要功能
    • 2.仿真设计
    • 3. 程序设计
    • 4. 设计报告
    • 5. 资料清单&下载链接
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

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

2024/11/07
3826
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

设计资料获取联系方式.doc

共1个文件

仿真图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 1
		uint16_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);
#else
	 GPIOA->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

  • 设计资料获取联系方式.doc
    下载
意法半导体

意法半导体

意法半导体(ST)集团于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司。意法半导体是世界最大的半导体公司之一,公司销售收入在半导体工业五大高速增长市场之间分布均衡(五大市场占2007年销售收入的百分比):通信(35%),消费(17%),计算机(16%),汽车(16%),工业(16%)。 据最新的工业统计数据,意法半导体是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列.

意法半导体(ST)集团于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司。意法半导体是世界最大的半导体公司之一,公司销售收入在半导体工业五大高速增长市场之间分布均衡(五大市场占2007年销售收入的百分比):通信(35%),消费(17%),计算机(16%),汽车(16%),工业(16%)。 据最新的工业统计数据,意法半导体是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列.收起

查看更多

相关推荐

方案定制

去合作
方案开发定制化,2000+方案商即时响应!