|
屏幕截圖 2021-04-24 120442.jpg (177.99 KB, 下載次數(shù): 55)
下載附件
2021-4-24 12:22 上傳
附件里有做好源碼和仿真
單片機程序:
//功能:晶振11.0592M,通過采集模擬信號,讓數(shù)碼管顯示當(dāng)前電壓//作者: 康曉龍
//單位: 單片機協(xié)會
//版本號:1.0
#include<reg51.h>
sbit duancun= P2^1 ; //控制鎖存器段選
sbit weicun= P2^2; //控制鎖存器位選
sbit OE = P1^0; //輸出使能,OE=0高阻,OE=1 ADC轉(zhuǎn)換結(jié)果輸出到單片機
sbit ST = P1^2; //啟動信號,上升沿復(fù)位清零ADC,下降沿啟動轉(zhuǎn)換,低電平保持轉(zhuǎn)換
sbit ALE = P1^1;
sbit OEC = P1^3;
sbit p07 = P0^7;
#define uint unsigned int
#define uchar unsigned char
void delay(uint x)
{
while(x--);
}
/**********************************
函數(shù)名:xianshi()
變量:i
功能:處理 i的數(shù)據(jù) ,讓i能夠顯示到數(shù)碼管上
***********************************/
void xianshi(uint i)
{ unsigned char code duan[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char code led[]={0x00,0x01,0x02,0x04,
0x08,0x10,0x20,0x40,0x80};
delay(50);
duancun=1;
P0=duan[i%10];
duancun=0;
weicun=1;
P0=led[8];
weicun=0;
P0=0xff;
delay(50);
duancun=1;
P0=duan[i/10%10];
duancun=0;
weicun=1;
P0=led[7];
weicun=0;
P0=0xff;
delay(50);
duancun=1;
P0=duan[i/100%10]&0x7f;
duancun=0;
weicun=1;
P0=led[6];
weicun=0;
P0=0xff;
}
void main()
{ float qq=1.962;
while(1)
{
ALE =1;
ST =1;
delay(5);
ALE = 0;
ST = 0;
delay(5);
ALE = 1;
ST = 1;/*啟動A/D轉(zhuǎn)換,上升沿復(fù)位清零ADC,下降沿啟動轉(zhuǎn)換,低電平保持轉(zhuǎn)換*/
delay(50);
OE = 0; //輸出使能,OE=1高阻,OE=0 ADC轉(zhuǎn)換結(jié)果允許輸出到單片機
xianshi((P3*qq)); //因為P3的數(shù)據(jù)最大只有255,電壓最大是5V,所以乘0.962就約等于500
OE = 1; //輸出使能,OE=0高阻
}
}
全部資料51hei下載地址(Proteus8.8版本打開):
AD轉(zhuǎn)換2.0.zip
(85.06 KB, 下載次數(shù): 32)
2021-4-24 12:33 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|