• 方案介绍
  • 相关推荐
申请入驻 产业图谱

基于STM32的16*16点阵屏滚动显示广告牌仿proteus仿真+程序代码+设计报告+讲解

1小时前
66
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

 

基于STM32的16*16点阵屏滚动显示广告牌仿真设计

本设计包含proteus仿真+程序代码+设计报告+讲解视频

一、开发环境

仿真图:proteus 8.17

程序编译器:keil 5

编程语言:C语言

设计编号:C0142

二、主要功能

硬件构成:

STM32单片机+16*16点阵屏+74hc138驱动电路等;

主要功能:

1、本设计主要采用STM32单片机(STM32F103C8T6/STM32F103C6T6)作为主控器。

2、设计的16*16点阵显示屏主要是通过单片机直接控制行扫描,然后用74LS138来控制列扫描。

3、点阵屏实现“欢迎光临”四个字的滚动循环显示(显示内容可改)。

4、通过按键停止/开始滚动,通过按键控制滚动方向。

资料下载链接:

C0142 STM32单片机16x16点阵屏广告牌滚动显示

链接: https://pan.baidu.com/s/1CFdTRmY9eW-mj3LAoALY_A?pwd=qe6x

提取码: qe6x

以下为本设计资料展示:

三、仿真设计

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

四、程序代码

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

main.c 关键代码:

int main(void){  /* USER CODE BEGIN 1 */  /* USER CODE END 1 */  /* MCU Configuration--------------------------------------------------------*/  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */  HAL_Init();  /* USER CODE BEGIN Init */  /* USER CODE END Init */  /* Configure the system clock */  SystemClock_Config();  /* USER CODE BEGIN SysInit */  /* USER CODE END SysInit */  /* Initialize all configured peripherals */  MX_GPIO_Init();  MX_TIM2_Init();  /* USER CODE BEGIN 2 */  HAL_TIM_Base_Start_IT(&htim2);  /* USER CODE END 2 */  /* Infinite loop */  /* USER CODE BEGIN WHILE */  while (1)  {    /* USER CODE END WHILE */    /* USER CODE BEGIN 3 */    xianshi();    /* S1: 暂停/继续 (标志位由EXTI回调置位) */    if (flag_s1)    {      flag_s1 = 0;      HAL_Delay(30);      if (HAL_GPIO_ReadPin(S1_GPIO_Port, S1_Pin) == GPIO_PIN_RESET)      {        scroll_run = !scroll_run;        while (HAL_GPIO_ReadPin(S1_GPIO_Port, S1_Pin) == GPIO_PIN_RESET)          xianshi();      }    }    /* S2: 切换方向 */    if (flag_s2)    {      flag_s2 = 0;      HAL_Delay(30);      if (HAL_GPIO_ReadPin(S2_GPIO_Port, S2_Pin) == GPIO_PIN_RESET)      {        fangxiang = !fangxiang;        while (HAL_GPIO_ReadPin(S2_GPIO_Port, S2_Pin) == GPIO_PIN_RESET)          xianshi();      }    }  }  /* USER CODE END 3 */}

程序流程图:

五、设计说明书

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

摘要:

本报告详细阐述了一种基于STM32F103C8T6A微控制器的16×16 LED点阵滚动显示系统的设计与实现。该系统将传统51单片机平台上的点阵显示控制程序移植到STM32平台,实现了四个汉字"欢迎光临"的循环滚动显示功能。系统采用74HC138译码器驱动行扫描,利用GPIOB端口16位并行输出列数据,通过TIM2定时器控制滚动速度,并设计外部中断按键实现滚动启停与方向切换的交互功能。软件基于STM32CubeMX生成HAL库框架,自定义代码严格置于USER CODE区域,遵循可移植性和可维护性设计原则。经Keil MDK-ARM V5编译验证,系统运行稳定,显示效果清晰流畅。

关键词:STM32F103C8T6;16×16点阵;滚动显示;74HC138;HAL库;外部中断

六、资料清单&下载链接

资料下载链接:

链接: https://pan.baidu.com/s/1CFdTRmY9eW-mj3LAoALY_A?pwd=qe6x

提取码: qe6x

相关推荐