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

標(biāo)題: 求助單片機(jī)加減計(jì)數(shù)器程序 為什么是從第三位開始計(jì)數(shù)? [打印本頁]

作者: new至    時(shí)間: 2024-12-12 10:09
標(biāo)題: 求助單片機(jī)加減計(jì)數(shù)器程序 為什么是從第三位開始計(jì)數(shù)?
我的加減計(jì)數(shù)器的個(gè)位一直是0,計(jì)數(shù)是從第三位開始的;
#include <stc8h.h>
#define uchar unsigned char
#define uint unsigned int

sbit k1 = P1^0;                   // 加
sbit k2 = P1^1;                   // 減
sbit k3 = P1^2;                   // 復(fù)位

void key(void);
void display(void);

uchar code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
                        0x07,0x7f,0x6f}; // 數(shù)碼管段碼

uchar m = 0, n = 0;               // 初始化為 0000

// 延時(shí)函數(shù)
void delayms(uint xms) {
    uint i, j;
    for (i = xms; i > 0; i--)
        for (j = 110; j > 0; j--);
}

// 數(shù)碼管顯示程序
void display(void) {
    P2 = 0x08;                     // 個(gè)位
    P0 = table[m % 10];            // 顯示個(gè)位數(shù)字
    delayms(5);
    P2 = 0x04;                     // 十位
    P0 = table[m / 10];            // 顯示十位數(shù)字
    delayms(5);
    P2 = 0x02;                     // 百位
    P0 = table[n % 10];            // 顯示百位數(shù)字
    delayms(5);
    P2 = 0x01;                     // 千位
    P0 = table[n / 10];            // 顯示千位數(shù)字
    delayms(5);
}

// 按鍵處理程序
void key() {
    if (k1 == 0) {                // 檢測加按鍵是否按下
        delayms(10);              // 延時(shí)消抖
        if (k1 == 0) {            // 再次檢測
            m++;
            if (m >= 100) {
                m = 0;
                n++;
                if (n >= 100) {
                    m = 99;       // 最大顯示 9999
                    n = 99;
                }
            }
        }
        while (k1 == 0);          // 等待松開
    }

    if (k2 == 0) {                // 檢測減按鍵
        delayms(10);              // 延時(shí)消抖
        if (k2 == 0) {
            if (m == 0 && n == 0) {
                m = 0;            // 最小值 0000
                n = 0;
            } else {
                if (m == 0) {
                    m = 99;
                    n--;
                } else {
                    m--;
                }
            }
        }
        while (k2 == 0);          // 等待松開
    }

    if (k3 == 0) {                // 檢測復(fù)位按鍵
        delayms(10);
        if (k3 == 0) {
            m = 0;                // 復(fù)位顯示 0000
            n = 0;
        }
        while (k3 == 0);          // 等待松開
    }
}

// 主函數(shù)
void main() {
        // 配置端口模式
        P2M0 = 0xff;
        P2M1 = 0x00;
        P1M0 = 0xff;
        P1M1 = 0x00;
        P0M0 = 0xff;
        P0M1 = 0x00;
        P4M0 = 0xff;
        P4M1 = 0x00;
    while (1) {
        key();                    // 檢測按鍵
        display();                // 刷新顯示
    }
}


作者: lkc8210    時(shí)間: 2024-12-12 15:29
代碼要配合電路
請?zhí)峁┰韴D
作者: 眼小自然萌    時(shí)間: 2024-12-12 20:43
線接錯(cuò)了?從左邊計(jì)數(shù)?
作者: xiaobendan001    時(shí)間: 2024-12-13 19:00
在主函數(shù)WHILE前邊加上m = 12;n=34;先看看顯示順序?qū)Σ粚?br /> 話說0-9999的四位計(jì)數(shù),為啥不直接用int,還要搞這么麻煩?
作者: xjlfh    時(shí)間: 2024-12-14 12:42
可能線接錯(cuò)了,檢查一下吧。




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美二三区 | 性色av网站 | www.免费视频. | 免费午夜视频 | 亚洲一区二区三区在线 | 中文字幕在线观看免费视频 | 久艹在线观看 | 欧美一级黄色大片 | 国产h片在线观看 | 欧美一区二区三区视频 | 午夜精品在线观看 | 日韩国产在线播放 | 成人看片网 | 欧美日韩国 | 日韩一区二区三区在线 | 亚洲综合在线视频 | 69免费视频 | 激情五月综合网 | 久久精品视频一区 | 成人免费看片在线观看 | 精品国产伦一区二区三区 | 性欧美8khd高清极品 | 国产成人精品亚洲男人的天堂 | 中文字幕在线观看网址 | 久久三区 | 精品亚洲一区二区三区 | 一级片免费播放 | 涩涩的视频| 色天堂影院 | 草草视频在线 | 精品少妇一区二区三区免费观 | 亚洲激情中文字幕 | 天天射天天操天天干 | 成人玩具h视频 | 一道本在线视频 | 九九精品在线视频 | 激情丁香 | 色黄大色黄女片免费中国 | 日韩免费高清视频 | 国产精品永久久久久久久久久 | 中文在线播放 |