找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機實驗代碼 數(shù)字電壓表

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:763828 發(fā)表于 2020-5-28 22:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>


#define uchar unsigned char
#define uint  unsigned int


unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
                                                //0-9的碼表
uint temp;                     
sbit START = P2^4;
sbit ALE = P2^7;
sbit OE = P2^6;
sbit EOC = P3^3;
sbit ADD_A = P2^2;
sbit Q1 = P3^4;
sbit Q2 = P3^5;
sbit Q3 = P3^6;
sbit Q4 = P3^7;


void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);
}       


void ADC0809_init()
{
        ALE = 0;
        START = 0;
        ADD_A = 0;
        ALE = 1;
        START = 1;
}


void display(uint num)
{
    uint qian,bai,shi,ge;


        qian = num/1000;
        bai = num%1000/100;
        shi = num%100/10;
        ge = num%10;
       
        Q4 = 1;
        Q1 = 0;
        P1 = table[qian] | 0x80;
        delay(5);


    Q1 = 1;
        Q2 = 0;                       
        P1 = table[bai];
        delay(5);


    Q2 = 1;
        Q3 = 0;                       
        P1 = table[shi];
        delay(5);


    Q3 = 1;
        Q4 = 0;                       
        P1 = table[ge];
        delay(5);


}


void main()
{
           ADC0809_init();
         EA = 1;
         EX1 = 1;
         IT1 = 1;
         while(1);
}


void ADC_int()  interrupt 2
{          
    display(temp);
        ALE = 0;
        START = 0;
        temp = P0/256.0*5*1000;
        ALE = 1;
        START = 1;
        EA = 1;       
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2020-6-1 01:26 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表