• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的電壓表【正負(fù)5V,8255,ADC0808,擴(kuò)展接線】(仿真)

2024/11/22
3455
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

有需要資料的可了解一下.docx

共1個文件

1、基于PROTUES仿真平臺設(shè)計一個數(shù)字電壓表,能夠測量-5V-5V間的直流電壓,通過數(shù)碼管顯示。

2、完成系統(tǒng)硬件資源選型(以51單片機(jī)ADC0808為核心),繪制軟件流程圖。

3、基于C語言編程和測試。

#include "reg51.h"
#include"absacc.h"
#define uchar unsigned char
#define uint unsigned int
#define PA XBYTE[0XFEF0]//8255
#define PB XBYTE[0XFEF1]
#define PC XBYTE[0XFEF2]
#define PD XBYTE[0XFEF3]
#define ADC XBYTE[0XFDFF]//ADC0808

//數(shù)碼管編碼
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar time=0;//定時
float volt=0;//電壓
//延時
void delay(uint i)
{
	while(i--);
}
//主函數(shù)
void main()
{
	uchar i=0;
	PD=0x80;//初始化8255	
	TMOD|=0X01;//初始化定時器
	TH0=0X3C;//50ms
	TL0=0XB0;	
	ET0=1;//打開定時器0中斷允許
	EA=1;//打開總中斷
	TR0=1;//打開定時器
	while(1)
	{
		//顯示
		if(volt>0)//正數(shù)
		{
		i=volt*10;
		/*PA=0;
		PB=0xff;
		PA=smgduan[set/100];
		PB=0xfe;
		delay(50);*/
		PA=0;
		PB=0xff;
		PA=smgduan[i/10]+0x80;//小數(shù)點(diǎn)
		PB=0xfd;
		delay(50);
		PA=0;
		PB=0xff;
		PA=smgduan[i%10];
		PB=0xfb;
		delay(50);
		}
		else//負(fù)數(shù)
		{
		i=-volt*10;
		PA=0;

  • 有需要資料的可了解一下.docx
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時響應(yīng)!