久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 670|回復: 5
打印 上一主題 下一主題
收起左側

新手求助八位搶答器

[復制鏈接]
跳轉到指定樓層
樓主
ID:1135711 發表于 2024-11-6 20:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
有沒有大佬做過八位搶答器,有什么需要注意的嗎,如果從零開始我們需要如何去做。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:404160 發表于 2024-11-7 11:15 | 只看該作者
八位搶答器帶鎖定功能。一旦有選手按下按鈕,我們將鎖定其他按鈕,直到主持人清除鎖定狀態。以下是C51代碼:

```c
#include <reg51.h>

#define uchar unsigned char
#define uint unsigned int

// 假設P1是輸入端口,連接搶答按鈕,P0是輸出端口,連接顯示
sbit Buzzer = P3^7; // 假設P3.7連接蜂鳴器
bit isLocked = 0;   // 鎖定狀態標志

uchar code LED_Code[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; // 8位LED顯示代碼

// 延時函數
void Delay(uint z) {
    uint i, j;
    for (i = z; i > 0; i--)
        for (j = 120; j > 0; j--);
}

// 檢測是否有人搶答并返回搶答的選手編號,如果沒有返回0xFF
uchar CheckAnswer() {
    uchar i;
    if (!isLocked && P1 != 0xFF) { // 檢測是否鎖定狀態,以及是否有按鍵按下
        Delay(10000); // 延時去抖
        if (P1 != 0xFF) { // 再次檢測確保按鍵確實被按下
            for (i = 0; i < 8; i++) {
                if (P1 & LED_Code[i] == 0) { // 檢測具體哪個按鍵被按下
                    isLocked = 1; // 設置鎖定狀態
                    P0 = LED_Code[i]; // 顯示對應的LED
                    Buzzer = 1; // 蜂鳴器響
                    Delay(20000); // 延時
                    Buzzer = 0; // 蜂鳴器停
                    return i; // 返回搶答的選手編號
                }
            }
        }
    }
    return 0xFF; // 沒有選手搶答或系統已鎖定
}

// 主函數
void main() {
    P0 = 0xFF; // 初始化P0端口,關閉所有LED
    isLocked = 0; // 初始化鎖定狀態為未鎖定
    while (1) {
        uchar answer = CheckAnswer(); // 檢測是否有人搶答
        if (answer != 0xFF) { // 如果有人搶答
            // 這里可以添加主持人清除鎖定狀態的邏輯
            // 例如,當P3.6被按下時,清除鎖定狀態
            if (P3^6 == 0) { // 假設P3.6連接主持人的清除按鈕
                Delay(10000); // 延時去抖
                if (P3^6 == 0) { // 再次檢測確保按鈕確實被按下
                    isLocked = 0; // 清除鎖定狀態
                    while (P3^6 == 0); // 等待按鈕釋放
                }
            }
        }
    }
}
```

在這個代碼中,全局變量`isLocked`來表示鎖定狀態。當有選手搶答成功后,`isLocked`被設置為1,這樣其他按鈕的輸入將被忽略,直到主持人通過按下P3.6按鈕來清除鎖定狀態。
回復

使用道具 舉報

板凳
ID:619259 發表于 2024-11-7 11:21 | 只看該作者
1.單片機:入門級就行,如STC89系列及以上,構建最小系統。
2.按鍵:至少9位(8位選手+1位復位)。
3.顯示:入門級建議用數碼管,1位即可。
4.程序中注意按鍵優先及約束,可以使用按鍵狀態標志變量。
回復

使用道具 舉報

地板
ID:537570 發表于 2024-11-7 15:47 | 只看該作者
從硬件(仿真)和軟件兩個方面進行考慮,先學習別人做好的,進行參考,然后學會使用,在進行優化和提升
回復

使用道具 舉報

5#
ID:314651 發表于 2024-11-7 17:38 | 只看該作者
單片機還是數字電路,其實很簡單,提前做好仿真,按照仿真來做實物就行
回復

使用道具 舉報

6#
ID:314651 發表于 2024-11-7 17:39 | 只看該作者
單片機還是數字電路,其實很簡單,提前做好仿真,按照仿真搭建實物即可
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99影视 | 国产精品a久久久久 | 久久大香| 中文字幕一区二区三区四区 | 精品九九 | 中文字幕在线观看第一页 | 亚洲成人一区二区 | 国产视频久久久久 | 亚洲精品天堂 | 亚洲高清在线视频 | 亚州成人| 精品国产乱码久久久久久老虎 | 米奇成人网 | 天堂av中文在线 | 久久久久精| 亚洲一区二区日韩 | 色免费视频 | 成年免费大片黄在线观看一级 | 精品欧美| 亚洲美女网站 | av一区二区三区 | 在线观看成人小视频 | 99在线资源 | 黄色大片在线免费观看 | 一区二区在线不卡 | 日韩综合网 | 精品一区二区三区入口 | 亚洲伊人久久综合 | 亚洲综合婷婷 | 日韩一区二区三区在线视频 | 一区网站| 精品久久久久一区 | 国产乱码精品一区二区三区五月婷 | 国产最新网址 | 欧美性a视频 | 日本一区二区三区在线观看 | 日韩亚洲视频 | 国产精品美女久久久久aⅴ国产馆 | 三级黄片毛片 | 免费在线看a| 成人三级视频在线观看 |