【51單片機系列】使用74HC595控制數碼管顯示

使用74HC595結合數碼管顯示字符。

proteus仿真設計如下,74HC595的輸出端連接到動態數碼管的位選和靜態數碼管的段選,動態數碼管的段選連接到P0口。這兩個數碼管都是共陰極的。

74HC595結合數碼管顯示字符

靜態數碼管顯示字符0-F,軟件設計如下:

/*實現功能:74HC595芯片控制靜態數碼管顯示字符0-F[2023-12-11] zoya
*/
#include "reg52.h"
#include "intrins.h"
#include "HC595.h"// 共陰極數碼管編碼
u8 code smg[] = {0x3F, 0x06, 0x5B, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f,  // 0~9
0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00}; // a~f+不顯示// 延時函數,i=1時延時10us
void Delay(u16 i)
{while(i--);
}void main()
{u8 i;while(1){for(i=0;i<17;i++){HC595SendByte(smg[i]);  // 發送段選數據Delay(50000);}}
}

HC595SendByte函數參考前面的文章“【51單片機系列】74HC595擴展實驗之使用74HC595芯片在LED點陣中顯示數字”。

仿真結果:

74HC595控制靜態數碼管顯示0-F

動態數碼管顯示0-7,軟件代碼如下:

/*實現功能:74HC595芯片控制動態數碼管顯示0-7[2023-12-11] zoya
*/
#include "reg52.h"
#include "intrins.h"
#include "HC595.h"#define GPIO_LED P0// 共陰極數碼管編碼
u8 code smg[] = {0x3F, 0x06, 0x5B, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f,  // 0~9
0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00}; // a~f+不顯示u8 duan = 0xfe;
// 延時函數,i=1時延時10us
void Delay(u16 i)
{while(i--);
}// 數碼管顯示函數
void digDisplay()
{u8 i;for(i=0;i<8;i++){HC595SendByte(duan);GPIO_LED = smg[i];Delay(150);duan = _crol_(duan,1);GPIO_LED = 0x00;}
}void main()
{while(1){digDisplay();}
}

仿真結果:

74HC595控制動態數碼管顯示0-7

顯示動態數碼管時嘗試使用多個延時時間,均不能達到38譯碼器穩定顯示0-7的效果,這也是一個bug,希望日后了解更多可以解決。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215639.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215639.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215639.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java:SpringBoot獲取當前運行的環境activeProfile

代碼示例 /*** 啟動監聽器*/ Component public class AppListener implements ApplicationListener<ApplicationReadyEvent> {Overridepublic void onApplicationEvent(ApplicationReadyEvent event) {// 獲取當前的環境&#xff0c;如果是test&#xff0c;則直接返回Co…

redis實際應用實現合集

一、redis實現搶紅包的功能&#xff08;set 數據結構&#xff09; 分兩種情況&#xff1a; 情況一: 從10個觀眾中隨機抽2名幸運觀眾 首先需要把10個觀眾的id&#xff08;具體是什么id可以根據實際業務情況自己定義&#xff09;放到redis 的 set 集合里 然后隨機抽取2名幸運…

【hcie-cloud】【8】華為云Stack_LLD設計【部署設計、資源設計、服務設計、學習推薦、縮略語】【下】

設計概覽、整體架構設計、網絡設計 看下面-這篇文章 【hcie-cloud】【7】華為云Stack_LLD設計【設計概覽、整體架構設計、網絡設計、部署設計、資源設計、服務設計】【上】 部署設計 云平臺整體部署架構 圖中在Region下每個灰底都代表一個數據中心&#xff0c;AZ1可以跨數據…

yarn系統架構與安裝

1.1 YARN系統架構 YARN的基本思想是將資源管理和作業調度/監視功能劃分為單獨的守護進程。其思想是擁有一個全局ResourceManager (RM)&#xff0c;以及每個應用程序擁有一個ApplicationMaster (AM)。應用程序可以是單個作業&#xff0c;也可以是一組作業。 一個ResourceManage…

ai智能機器人外呼系統怎么操作?

什么是ai智能機器人外呼&#xff1f;ai智能機器人外呼怎么操作&#xff1f;當下&#xff0c;很多企業主已經認識到&#xff0c;AI外呼是一種高效的拉新引流手段。但具體到實際應用中&#xff0c;實現的效果好像并沒有那么理想。從企業外呼的結果來看&#xff0c;接通率是可以達…

【信息安全】-ISO/IEC 27001-2022(翻譯)

文章目錄 范圍規范性引用文件3 術語和定義4 組織環境&#xff08;P&#xff09;4.1 理解組織及其環境4.2 理解相關方的需求和期望組織應確定:a) 信息安全管理體系相關方;b) 這些相關方的相關要求;c) 哪些要求可以通過信息安全管理體系得到解決。注:相關方的要求可包括法律、法規…

Ceph入門到精通-ceph二次開發開源協議考慮

Ceph 是一個開源的分布式存儲系統&#xff0c;它由多個組件組成&#xff0c;包括分布式對象存儲&#xff08;RADOS&#xff09;、分布式塊存儲&#xff08;RBD&#xff09;和分布式文件系統&#xff08;CephFS&#xff09;等。Ceph 采用了 GNU Lesser General Public License&a…

kuboard如何部署nacos?

? kuboard如何部署nacos&#xff1f; 這個快速開始手冊是幫忙您快速在您的電腦上&#xff0c;下載、安裝并使用 Nacos。 項目包含一個可構建的Nacos Docker Image&#xff0c;旨在利用StatefulSets在Kubernetes上部署Nacos。 在高級使用中,Nacos在K8S擁有自動擴容縮容和數據…

“華為杯”研究生數學建模競賽2019年-【華為杯】B題:天文導航中的星圖識別

目錄 摘 要: 一、問題重述 二、模型假設 三、符號說明 四、問題分析

nginx 前端服務調用后端服務報426

nginx 前端服務調用后端服務報426 在配置文件中加上一句配置 2&#xff1a;外掛出來

三(三)ts非基礎類型(接口)

說明 在面向對象語言中&#xff0c;接口是一個很重要的概念&#xff0c;它是對行為的抽象&#xff0c;而具體如何行動需要由類去實現。 TypeScript 中的接口是一個非常靈活的概念&#xff0c;除了可用于對類的一部分行為進行抽象以外&#xff0c;也常用于對「對象的形狀&…

屏幕分辨率修改工具SwitchResX mac功能特點

SwitchResX mac是可用于修改和管理顯示器的分辨率和刷新率。 SwitchResX mac功能和特點 支持多種分辨率和刷新率&#xff1a;SwitchResX可以添加和管理多種分辨率和刷新率&#xff0c;包括自定義分辨率和刷新率。 自動切換分辨率&#xff1a;SwitchResX可以根據應用程序和窗口…

絕地求生:追尋槍王之路,為什么PUBG老玩家要進行訓練?

作為一款全球熱門的射擊游戲&#xff0c;《絕地求生&#xff1a;大逃殺》&#xff08;PUBG&#xff09;吸引了大批熱衷于挑戰極限的玩家。在這個槍戰沙盒中&#xff0c;角逐者們需要不斷提升自己的戰術、槍法和反應速度&#xff0c;才能在百人對戰中脫穎而出。那么為什么PUBG老…

1274:【例9.18】合并石子

【算法分析】 【算法分析】 首先我們要先讀懂題意&#xff0c;可能有部分同學在讀題的時候就有點難以理解。 我們首先來分析一個比較簡單的問題&#xff0c;現在一共有三堆石頭&#xff0c;每堆石子的數量分別是3&#xff0c;4&#xff0c;11。求合并成一堆石頭的最小得分。…

Hanlp自然語言處理如何再Spring Boot中使用

一、HanLP HanLP (Hankcs NLP) 是一個自然語言處理工具包&#xff0c;具有功能強大、性能高效、易于使用的特點。HanLP 主要支持中文文本處理&#xff0c;包括分詞、詞性標注、命名實體識別、依存句法分析、關鍵詞提取、文本分類、情感分析等多種功能。 HanLP 可以在 Java、Py…

【LeetCode每日一題】2270.分割數組的方案數

https://leetcode.cn/problems/number-of-ways-to-split-array/description/ 題目&#xff1a; 給定一個數組&#xff0c;從 下標為 index 的地方切開&#xff0c;左邊的數大于右邊&#xff0c;保證右邊至少有一個數。 思路一&#xff1a; 遍歷數組&#xff0c;用prefixArr …

運用企業微信構建內部外部溝通橋梁的策略

隨著互聯網技術的普及和移動設備的廣泛使用&#xff0c;企業微信作為企業內部協作和溝通的重要工具&#xff0c;發揮著越來越重要的作用。其中&#xff0c;企業微信的社群功能為信息的傳播和交流提供了新的途徑。通過建立活躍的企業微信社群&#xff0c;不僅可以加強員工之間的…

部署Nextcloud詳細步驟及優化方法

一、安裝PHP8.0以上 我這里使用PHP8.0.30 [rootlocalhost ~]# php -v PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.30, Copyright (c) Zend Technologies [rootlocalhost ~]# 安裝方法參考 二、安裝MY…

[算法基礎 ~排序] Golang 實現

文章目錄 排序什么是排序排序的分類1. 冒泡1.1 冒泡排序1.2. 快速排序 2. 選擇2.1 簡單選擇排序2.2 堆排序 3. 插入3.1 直接插入3.2 折半插入3.3 希爾排序 4. 歸并排序代碼實現 5. 基數排序 排序圖片就不貼了吧 排序 什么是排序 以下部分動圖來自CSDN ::: tip 穩定性的概念 …

linux創建新用戶

在Linux中&#xff0c;可以使用useradd命令來創建新用戶。以下是創建新用戶的基本步驟&#xff1a; 打開終端或命令行界面。輸入以下命令并按下回車鍵創建新用戶&#xff1a; sudo useradd -m -s /bin/bash username 其中&#xff0c;-m選項表示同時創建用戶主目錄&#xff…