加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于STM32的八位數(shù)碼管顯示Proteus仿真設(shè)計

11/07 13:44
3039
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關(guān)方案
  • 方案介紹
    • 1.主要功能
    • 2.仿真設(shè)計
    • 3. 程序設(shè)計
    • 4. 設(shè)計報告
    • 5. 資料清單&下載鏈接
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

仿真圖proteus 8.9

程序編譯器:keil 5

編程語言:C語言

設(shè)計編號:C0093

1.主要功能

以STM32單片機為核心,設(shè)計八位數(shù)碼管顯示仿真實驗。

1.使用Proteus仿真軟件STM32F103系列芯片設(shè)計數(shù)碼管顯示電路

2.開始仿真后數(shù)碼管顯示87654321.顯示數(shù)字可以修改為其他內(nèi)容

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

4.數(shù)碼管使用74HC245和74HC138作為驅(qū)動電路

主要硬件設(shè)備:STM32F103C6+數(shù)碼管+74HC245+74HC138

資料下載鏈接(可點擊):

通過百度網(wǎng)盤分享的文件:KEY_C0093

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

提取碼:ksjd

以下為本設(shè)計資料展示:

2.仿真設(shè)計

打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。

仿真顯示87654321

img

3. 程序設(shè)計

程序是用keil5 mdk版本打開的,如果打開有問題,核實下keil的版本。程序是HAL版本編寫的,有stm32cubemx配置文件。有注釋可以結(jié)合講解視頻理解。

img

img
數(shù)碼管顯示驅(qū)動代碼

#include "smg.h"
#include "system.h"
#include "gpio.h"

//共陰極數(shù)碼管顯示0~F的段碼數(shù)據(jù)
uint8_t gsmg_code[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
				0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//數(shù)碼管端口8位數(shù)據(jù)同時操作,不影響高位
//寫入數(shù)據(jù)到8位端口,數(shù)據(jù)低位對應(yīng)端口低引腳
//GPIO_Pin:8位端口低位引腳
//data:寫入數(shù)據(jù)
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
}

//數(shù)碼管顯示
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]);
		//傳送段選數(shù)據(jù)
		HAL_Delay(2);//延時一段時間,等待顯示穩(wěn)定
		SMG_Write_Data(0x00);//消隱
	}
}

4. 設(shè)計報告

5644字設(shè)計報告,內(nèi)容包括硬件設(shè)計、軟件設(shè)計、結(jié)論等。

img

數(shù)碼管顯示字程序流程框圖

img

5. 資料清單&下載鏈接

img

0、常見使用問題及解決方法–必讀?。。?!

1、程序代碼

2、Proteus仿真

3、功能要求

4、設(shè)計報告

5、講解視頻

6、框圖

Altium Designer 安裝破解

KEIL+proteus 單片機仿真設(shè)計教程

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡易使用教程

單片機學(xué)習(xí)資料

相關(guān)數(shù)據(jù)手冊

答辯技巧

設(shè)計報告常用描述

鼠標(biāo)雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設(shè)計.url

  • 設(shè)計資料獲取聯(lián)系方式.doc

相關(guān)推薦

電子產(chǎn)業(yè)圖譜