亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 溫度傳感器數碼管問題求大神賜教,在線等 [打印本頁]

作者: 15976736469    時間: 2017-8-2 15:29
標題: 溫度傳感器數碼管問題求大神賜教,在線等
本人小白一個,怎么使以下程序在十位加入小數點。
程序如下。
#include        "config.h"       

//宏定義,數碼管a-g各段對應的比特,更換硬件只用改動以下8行
#define    a 0x01                  //  AAAA
#define    b 0x04                    // F    B
#define    c 0x10                    // F    B
#define    d 0x40                    //  GGGG
#define    e 0x80                    // E    C
#define    f 0x02                    // E    C
#define    g 0x08                    //  DDDD    H
#define    h 0x20

//用宏定義自動生成段碼表,很好的寫法,值得學習
//更換硬件無需重寫段碼表
unsigned char code LED_table[]={
        a+b+c+d+e+f,                   //"0"
        b+c,                           //"1"
        a+b+d+e+g,                       //"2"
        a+b+c+d+g,                       //"3"
        b+c+f+g,                       //"4"
        a+c+d+f+g,                       //"5"
        a+c+d+e+f+g,                   //"6"
        a+b+c,                           //"7"
        a+b+c+d+e+f+g,                   //"8"
        a+b+c+d+f+g,                   //"9"
        b+c+e+f+g,                       //"H"
        a+f+e+g,                       //"C"
        d+e+f,                           //"L"
        g,                               //"-"
        h,                                                                //"."
        0x00                           //black
};



extern void Dlay(uint16 t);
extern uint DisplayData2 ;
uchar Keybit1 =0;
uchar Keybit2 =0;
void Display(uint DisplayData )                        //形參
{
        //////////////////////////////////////數碼管顯示
        P0 = 0X00;//清除顯示
        P3 = 0x00;
        P0 = 0X80;//個位顯示
        P3 = LED_table[DisplayData % 10];
        Dlay(4000);

        P0 = 0X00;//清除顯示
        P3 = 0x00;
        P0 = 0X40;//十位顯示
        P3 = LED_table[DisplayData % 100 / 10];       
        Dlay(4000);

        P0 = 0X00;//清除顯示
        P3 = 0x00;
        P0 = 0X08;//百位顯示
        P3 = LED_table[DisplayData % 1000 / 100];
        Dlay(4000);

        /////////////////////////////////////////按鍵讀取
        P0 = 0X00;//清除顯示
        P3 = 0x00;
        P3CR =Bin(11100110);        //3.4 ad口 設為輸入        ,3.0-3.3開關輸入
        Dlay(100);
        if((P3 & 0x10) ==0){
                if(Keybit1 ==0){
                        DisplayData2 -- ;
                        Keybit1 =1;
                }
        }else{
                Keybit1 =0;
        }

        if((P3 & 0x08) ==0){
                if(Keybit2 ==0){
                        DisplayData2++;
                        Keybit2 =1;
                }
        }else{
                Keybit2=0;
        }
       
        P3CR =Bin(11111111);        //3.3 ad口 設為輸入        ,3.0-3.3開關輸入
               

}




作者: 1047001555    時間: 2017-8-2 16:08
P3 = LED_table[DisplayData % 100 / 10] + 0x20;   
作者: 1047001555    時間: 2017-8-2 16:09
        P0 = 0X00;//清除顯示
        P3 = 0x00;
        P0 = 0X40;//十位顯示
        P3 = LED_table[DisplayData % 100 / 10] + 0x20;        
        Dlay(4000);
作者: 15976736469    時間: 2017-8-2 18:23
1047001555 發表于 2017-8-2 16:09
P0 = 0X00;//清除顯示
        P3 = 0x00;
        P0 = 0X40;//十位顯示

嗯。謝謝解惑
作者: 王志鵬23    時間: 2017-8-2 20:02
那要看你的數碼管是幾段的 有的加不上
作者: sunstar    時間: 2017-8-6 01:05
P3 = LED_table[DisplayData % 100 / 10]|0x80就行




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1