【51單片機】【protues仿真】基于51單片機八路搶答器數碼管系統

目錄

一、主要功能

二、使用步驟

三、硬件資源

四、軟件設計

五、實驗現象

一、主要功能

1、數碼管顯示
2、主持人按下開始,8位選手開始搶答
3、第一次使用要設置搶答時間,支持掉電存儲
4、選手搶答成功,數碼管會顯示其號碼
5、按下主持人按鍵進入新一輪

二、使用步驟

基于51單片機的八路搶答器數碼管系統設計主要包含硬件電路搭建和軟件編程兩部分,核心功能是通過數碼管顯示搶答選手編號及倒計時信息。

三、硬件資源

1、51單片機核心模塊
2、按鍵模塊
3、數碼管顯示模塊
4、蜂鳴器模塊
5、指示燈模塊
?

四、軟件設計

#include<reg52.h>?? ??? ? ? //頭文件
#include<SMG.h>
#include<EEPROM.h>
#include<INTERRUPT.h>

#define uchar unsigned char//宏定義
#define uint unsigned int

/**********************引腳定義************************/
sbit key_zhu=P2^2;?? ? ? //主持人鍵
sbit key_jia=P2^1;?? ? ? //加鍵
sbit key_jian=P2^0;?? ? ? //減鍵

sbit key_1=P1^1;?? ? ? //八位選手按鍵定義
sbit key_2=P1^3;
sbit key_3=P1^5;
sbit key_4=P1^7;
sbit key_5=P3^1;
sbit key_6=P3^3;
sbit key_7=P3^5;
sbit key_8=P3^7;

sbit led_1=P1^0;?? ? ? //八位LED燈按鍵定義
sbit led_2=P1^2;
sbit led_3=P1^4;
sbit led_4=P1^6;
sbit led_5=P3^0;
sbit led_6=P3^2;
sbit led_7=P3^4;
sbit led_8=P3^6;
/**********************變量定義************************/
uchar zhu_f=0;?? ??? ? ? //比賽進行階段標記位,=0表示沒有按。=1表示在設置倒計時的時間。=2表示開始搶答
uchar qiang_f=0;?? ? ? //搶答犯規標記,=0沒有犯規。=1表示有人犯規
uchar wan_f=0;?? ??? ? ? //搶答完成標記,=0搶答沒完成后還沒有開始。=1表示搶答完成
uchar time=30;?? ??? ? ? //倒計時時間
uchar T0_num;?? ??? ? ? //定時器0計數
uchar number;?? ??? ? ? //搶答成功選手的編號,或犯規選手的編號。=0的時候表示沒有

/********************************************************
函數名稱:void delayms(uint ms)
函數作用:毫秒延時函數
參數說明:
********************************************************/?
void delayms(uint ms)
{
?? ?unsigned char i=100,j;
?? ?for(;ms;ms--)
?? ?{
?? ??? ?while(--i)
?? ??? ?{
?? ??? ??? ?j=10;
?? ??? ??? ?while(--j);
?? ??? ?}
?? ?}
}
/********************************************************
函數名稱:void bajing()
函數作用:搶答犯規報警提示
參數說明:
********************************************************/?
void bajing()
{
?? ?buzz=0;?? ??? ? ? //開蜂鳴器
?? ?delayms(10);
?? ?buzz=1;?? ??? ? ? //關蜂鳴器
?? ?delayms(10);
}
/********************************************************
函數名稱:uchar qianda()
函數作用:搶答按鍵檢測,返回搶答編號
參數說明:
********************************************************/
uchar qianda()
{
?? ?uchar temp=0;
?? ?if(key_1==0)?? ??? ??? ??? ? ?//一號犯規,下同
?? ??? ?temp=1;?? ??? ??? ? ?//記錄1號
?? ?else
?? ??? ?if(key_2==0)
?? ??? ??? ?temp=2;
?? ??? ?else
?? ??? ??? ?if(key_3==0)
?? ??? ??? ??? ?temp=3;
?? ??? ??? ?else
?? ??? ??? ??? ?if(key_4==0)
?? ??? ??? ??? ??? ?temp=4;
?? ??? ??? ??? ?else
?? ??? ??? ??? ??? ?if(key_5==0)
?? ??? ??? ??? ??? ??? ?temp=5;
?? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ??? ?if(key_6==0)
?? ??? ??? ??? ??? ??? ??? ?temp=6;
?? ??? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ??? ??? ?if(key_7==0)
?? ??? ??? ??? ??? ??? ??? ??? ?temp=7;
?? ??? ??? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ??? ??? ??? ?if(key_8==0)
?? ??? ??? ??? ??? ??? ??? ??? ??? ?temp=8;?? ?
?? ?return temp;?? ?
}

五、實驗現象

演示視頻:

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

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

相關文章

深度學習:CUDA、PyTorch下載安裝

目錄 一、安裝準備 二、安裝CUDA 2.1 查看本機支持的 CUDA 版本及相關信息 2.2 卸載CUDA(可選) 2.3 下載cuda安裝包 2.4 安裝 2.5 配置環境變量 三、安裝PyTorch 3.1 版本選擇 3.2 下載安裝 方法一&#xff1a;直接安裝&#xff08;不建議&#xff0c;網差的話會死機…

MyBatis-Plus 快速入門 -常用注解

目錄 1. 常用注解 TableName TableId TableField 2. IdType 枚舉 3. 使用 TableField 的常見場景 4. 完整示例 5. 總結 在使用 MyBatis-Plus 的過程中&#xff0c;我們經常會用到一些注解來完成實體類與數據庫表字段之間的映射關系。本文將帶你快速入門&#xff0c;了解…

2025-08-23Excel 條件高亮工具,秒高亮顯示符合篩選條件的行數據

Excel 條件高亮工具&#xff0c;秒高亮顯示符合篩選條件的行數據 先看圖【加班終結者】Excel 條件高亮工具&#xff08;試用版&#xff09; ——讓錯誤數據一秒現形&#xff0c;免費先爽 30 次&#xff01; 你是不是也這樣&#xff1f; ? 財務對賬&#xff0c;1000 行工資表里…

vue 一鍵打包上傳

npm run build之后&#xff0c;將dist文件夾自動壓縮&#xff0c;通過ssh自動連接服務器&#xff0c;把壓縮包放到指定目錄下&#xff0c;然后自動解壓根目錄創建gulpfile.js文件const gulp require(gulp); const GulpSSH require(gulp-ssh); const archiver require(archiv…

【Qt調試】無法查看QString內容

環境Qt版本&#xff1a;6.9.1問題Qt creator進入斷點&#xff0c;Expressions不能查看變量&#xff08;類型&#xff1a;QString&#xff09;的內容。解決方法選擇變量右鍵&#xff0c;勾選【Use Debugging Helpers】

防爆自動氣象監測設備:高危環境的 “安全堡壘”

防爆自動氣象監測設備&#xff1a;高危環境的 “安全堡壘” 柏峰【BF-FB】在化工園區、油氣田、礦山等高危行業領域&#xff0c;絲毫馬虎不得。而氣象條件&#xff0c;這個看似平常的因素&#xff0c;實則在安全生產中扮演著舉足輕重的角色。防爆自動氣象監測設備的出現&#x…

《C++進階:引用補充、內聯函數與nullptr 核心用法》

&#x1f618;個人主頁&#xff1a;Cx330? &#x1f440;個人簡介&#xff1a;一個正在努力奮斗逆天改命的二本覺悟生 &#x1f4d6;個人專欄&#xff1a;《C語言》《LeetCode刷題集》《數據結構-初階》《C知識分享》 &#x1f31f;人生格言&#xff1a;心向往之行必能至 前言…

通過python程序將實時監測數據寫入excel軟件進行保存是常用和非常實用的功能,本文教會大家怎么去搞定此功能

目錄 一、功能介紹 二、具體的程序示例 三、實際應用建議 一、功能介紹 本方案的核心功能是持續監聽一個數據源&#xff08;如傳感器、API接口、消息隊列、其他應用程序等&#xff09;&#xff0c;將獲取到的實時數據流以追加的方式寫入到Excel文件中。同時&#xff0c;方案…

在 Linux 中全局搜索 Word 文檔內容的完整指南

文章目錄 為什么不能直接使用 grep 搜索 Word 文檔? 解決方案:使用 Pandoc 轉換后搜索 步驟 1:安裝 Pandoc 步驟 2:創建搜索腳本 步驟 3:執行搜索(兩者選其一) 一行命令解決方案 高級用法與優化 1. 忽略大小寫搜索 2. 顯示匹配內容 3. 性能優化 注意事項 結論 在日常工作中…

基于STM32單片機智能農業大棚控制系統-插件款 DIY 設計開源(實物+程序+原理圖+其他資料)

目錄 一、項目成品展示 二、功能介紹 三、硬件組成 四、PCB展示 五、程序設計 六、資料分享 資料獲取 查看主頁介紹&#xff1a;兆龍電子單片機設計 一、項目成品展示 項目成品圖片展示&#xff1a; 嗶哩嗶哩視頻鏈接&#xff1a; STM32單片機智能農業大棚控制系統-插件…

如何實現二維CAD與3D建模工程圖關聯一體化出圖 | 中望3D 2026新亮點

本文為CAD芯智庫整理&#xff0c;未經允許請勿復制、轉載&#xff01;原文轉自&#xff1a;www.xwzsoft.com/h-nd-609.htmlwww.xwzsoft.com/h-nd-609.html許多企業在同時使用二三維CAD軟件時&#xff0c;往往因為2D和3D是不同軟件商開發&#xff0c;很容易遇到問題&#xff1a;…

深入理解 Roo Code 的自動批準功能

在軟件開發過程中&#xff0c;效率與安全往往是兩個需要不斷平衡的主題。 Roo Code 中一項能夠顯著提升效率但也需要謹慎使用的功能——自動批準&#xff08;Auto-Approval&#xff09;。如果你經常與 AI 助手協作編碼&#xff0c;這個功能可能會改變你的工作流&#xff0c;但錯…

《一次高并發場景下疑難Bug的深度排查與復盤》

常規Bug如同路上的小石子,彎腰便可清理;但有些隱藏在架構深處、僅在特定場景下爆發的疑難Bug,卻像深淵中的暗礁,不僅會讓程序驟然停擺,更可能消耗團隊數周甚至數月的精力。我曾親歷過這樣一場“戰役”—一個僅在高并發峰值時段出現、無規律觸發系統崩潰的Bug,從最初的毫無…

互聯網大廠Java面試實錄:Spring Boot與微服務架構解析

第一輪&#xff1a;基礎技術棧 面試官: 小C&#xff0c;你能否簡要介紹一下Java SE 8中的Lambda表達式&#xff1f; 小C: Lambda表達式就是Java中的匿名函數&#xff0c;可以簡化代碼&#xff0c;讓代碼更優雅。我記得它可以用來替代匿名類&#xff0c;特別是在集合操作中很有用…

滲透測試報告編寫平臺 | 簡化和自動化滲透測試報告的生成過程。

工具介紹 這是一個基于 FastAPI 和 Vue.js 的 Web 應用程序&#xff0c;旨在簡化和自動化安全測試報告的生成過程。 <AI編寫 能用就行> 主要功能 模板管理: 上傳和管理 .docx 格式的報告模板。報告生命周期管理: 創建、編輯、查看和刪除安全測試報告。漏洞知識庫: 管理和…

Vulkan 學習路線圖

按階段拆解&#xff0c;告訴你每個階段要寫哪些 Demo&#xff0c;逐步從三角形走到完整渲染器。&#x1f539; 第一階段&#xff1a;入門&#xff08;Hello Vulkan&#xff09;目標&#xff1a;跑通 Vulkan 的最小化程序&#xff0c;理解基本對象。 要做的 Demo&#xff1a;創建…

C語言指針5

文章目錄1.sizeof和strlen對比1.1sizeof1.2strlen1.3sizeof和strlen的對比2.數組和指針的筆試題2.1一維數組2.2字符數組2.3二維數組3.指針運算筆試題1.sizeof和strlen對比 1.1sizeof 在學習操作符的時候&#xff0c;我們學習了 sizeof。sizeof 用于計算變量所占內存空間的大小…

【二叉樹 - LeetCode】617. 合并二叉樹

題目&#xff1a; 617. 合并二叉樹 - 力扣&#xff08;LeetCode&#xff09; 題解&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(n…

AI + 醫療:除了影像診斷,智能技術還在改寫哪些診療環節?

一、引言在科技飛速發展的當下&#xff0c;人工智能&#xff08;AI&#xff09;已成為醫療領域變革的重要驅動力。提及 AI 在醫療中的應用&#xff0c;大眾首先想到的往往是醫學影像診斷&#xff0c;AI 的確在該領域成果斐然&#xff0c;如快速識別肺結節、精準分析影像細節&am…

立軸式小型混凝土攪拌機的設計含14張CAD

摘要 目前&#xff0c;混凝土攪拌機在國內外都有著飛速的發展&#xff0c;國際競爭力在不斷提高。 為了滿足市場需求&#xff0c;完善產品系列&#xff0c;適應小型建筑施工和實驗室工作的需求&#xff0c;設 計了此混凝土攪拌機。 本課題主要研究立軸式混凝土攪拌機的工作原理…