標(biāo)題:
ADC0832數(shù)字電壓表單片機(jī)例程代碼與proteus仿真
[打印本頁]
作者:
xwhdyhm
時間:
2018-1-3 15:27
標(biāo)題:
ADC0832數(shù)字電壓表單片機(jī)例程代碼與proteus仿真
ADC0832數(shù)字電壓表例程代碼,附件中自取
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(17.76 KB, 下載次數(shù): 76)
下載附件
2018-1-10 03:27 上傳
數(shù)字電壓表單片機(jī)源程序如下:
#include<reg52.h>
#include <intrins.h>
#include <delay.h>
#include <lcd1602.h>
#include <adc0832.h>
#include <led.h>
#include<stdio.h>
unsigned char code dianya[]="0123456789";
unsigned char i,Volt=0;
unsigned int V=0,bai,shi,ge,temp=0;
float vprint;
/*------------------------------------------------
串口通訊初始化
------------------------------------------------*/
void UART_Init(void)
{
SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重裝
TH1 = 0xFD; // TH1: 重裝值 9600 波特率 晶振 11.0592MHz
TR1 = 1; // TR1: timer 1 打開
//EA = 1; //打開總中斷
//ES = 1; //打開串口中斷
TI=1;
} //這一塊與上位機(jī)通信的還沒編寫好!
/*------------------------------------------------
顯示
------------------------------------------------*/
void display(void)
{ LCD_Write_Char(6,1,dianya[bai]);
LCD_Write_Char(7,1,0x2e);
LCD_Write_Char(8,1,dianya[shi]);
LCD_Write_Char(9,1,dianya[ge]);
}
main(void)
{ UART_Init();
LCD_Init();
LCD_Write_String(3,0," Volt Peak");
while(1)
{ V= Adc0832(0); //剛開始一瞬間這個值有變化
Volt=Adc0832(0);//到這里不會有變化了
if(temp<Volt)temp=Volt;
vprint=(float)(temp*5.0/255);
// Send adc results to the serial interface
printf("Volt Peak: %7.3f\n",vprint);
V=(unsigned int)((temp*100)/51);
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
proteus數(shù)字電壓表.rar
(84.99 KB, 下載次數(shù): 101)
2018-1-3 15:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1