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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 700|回復: 5
打印 上一主題 下一主題
收起左側(cè)

新手求助八位搶答器

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

使用道具 舉報

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

```c
#include <reg51.h>

#define uchar unsigned char
#define uint unsigned int

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

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

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

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

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产电影一区二区 | 嫩草91在线 | 亚洲先锋影音 | 综合久久99 | 日本人做爰大片免费观看一老师 | 精产国产伦理一二三区 | 国产成人在线视频 | 91亚洲免费 | 欧美中文字幕一区二区三区亚洲 | 亚洲欧美一区二区三区视频 | 最新黄色毛片 | 国产在线观看一区二区三区 | av黄色免费 | 永久看片| 亚洲视频在线一区 | 91精品国产91久久久久久吃药 | 真人女人一级毛片免费播放 | 久久国产精品久久久久久 | 亚洲成av | av乱码 | 国产毛片毛片 | 精品国产区| 在线看日韩| 欧美精品99 | 国内精品免费久久久久软件老师 | h视频免费在线观看 | 亚洲成色777777在线观看影院 | 日本一区二区不卡 | 一区二区国产在线 | 天天操天天射天天舔 | 亚洲福利在线视频 | 日本理论片好看理论片 | 国产精品福利在线 | 色婷婷久久久亚洲一区二区三区 | 国产精品成人一区二区 | 亚洲人成人一区二区在线观看 | 色综合视频 | 国产91在线播放 | 国产精品网址 | 91亚洲国产成人久久精品网站 | 久久久在线视频 |