久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于單片機+ADC0809芯片的電壓表Proteus仿真程序 注釋很詳細
[打印本頁]
作者:
一杯酒
時間:
2021-7-8 15:56
標題:
基于單片機+ADC0809芯片的電壓表Proteus仿真程序 注釋很詳細
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif
(69.5 KB, 下載次數: 96)
下載附件
2021-7-8 17:56 上傳
單片機源程序如下:
//*********************************************************************************
//程序:AD0809LED.c
//功能:AT89C51+ADC0809電壓測量顯示程序(Keil uVision5+Proteus 7.8仿真通過)
//*********************************************************************************
#include<reg51.h> /*包含頭文件reg51.h */
#define uchar unsigned char /*宏定義后方便書寫*/
#define uint unsigned int /*宏定義后方便書寫*/
uchar code DigitSTARTable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //LED碼表
uchar DisplayBuffer[4]; //顯示碼數據緩沖區
uchar AD_Data; //AD0809原始數據
uint Temp; //處理后的數據
sbit START=P3^0; //定義P3.0引腳位名稱為START
sbit OE=P3^1; //定義P3.1引腳位名稱為OE
sbit EOC=P3^2; //定義P3.2引腳位名稱為EOC
sbit CLK=P3^3; //定義P3.3引腳位名稱為CLK
sbit ADDA=P3^4; //定義P3.4引腳位名稱為ADDA
sbit ADDB=P3^5; //定義P3.5引腳位名稱為ADDB
sbit ADDC=P3^6; //定義P3.6引腳位名稱為ADDC
sbit LED0=P2^0; //定義P2.0引腳位名稱為LED0,選擇LED的0位
sbit LED1=P2^1; //定義P2.1引腳位名稱為LED1,選擇LED的1位
sbit LED2=P2^2; //定義P2.2引腳位名稱為LED2,選擇LED的2位
sbit LED3=P2^3; //定義P2.3引腳位名稱為LED3,選擇LED的3位
sbit LED_DP=P1^7; //定義P1.7引腳位名稱為LED_DP,選擇LED的DP位
//*********************************************************************************
//函數名:Delay
//函數功能:軟件延時函數
//形式參數:uint i
//*********************************************************************************
void Delay(uint i)
{ uint j;
for(;i>0;i--)
{ for(j=0;j<50;j++)
;
}
}
//*********************************************************************************
//函數名:TimeInitial
//函數功能:定時器初始化函數 T0方式2,自動重裝初值:10,定時:10us,
//信號周期T:20us 信號頻率f:f=1/T=1000000/20=50 000HZ=50KHZ
//*********************************************************************************
void TimeInitial() //定時器初始化
{ TMOD=0x02; //定時器工作模式
TH0=246; //定時器初值高8位
TL0=246; //定時器初值低8位
EA=1; //開總中斷
ET0=1; //開定時器中斷
TR0=1; //啟動定時器
}
//*********************************************************************************
//函數名:Time0
//函數功能:定時器0中斷服務子程序函數
//*********************************************************************************
void Time0(void) interrupt 1 using 0 //定時器中斷服務子程序
{
CLK=~CLK; //產生AD0809工作脈沖:50KHZ
}
//*********************************************************************************
//函數名:Display
//函數功能:LED數碼管顯示函數
//*********************************************************************************
void Display()
{
P1=DigitSTARTable[DisplayBuffer[3]]; //取數據送P1端口顯示(十位)
LED0=0; // LED0管子開
Delay(5); // 延時顯示
LED0=1; // LED0管子關
P1=DigitSTARTable[DisplayBuffer[2]];//取數據送P1端口顯示(個位)
LED_DP=1; // 小數點顯示
LED1=0; // LED1管子開
Delay(5); // 延時顯示
LED1=1; // LED1管子關
P1=DigitSTARTable[DisplayBuffer[1]];//取數據送P1端口顯示 (小數1位)
LED2=0; // LED2管子開
Delay(5); // 延時顯示
LED2=1; // LED2管子關
P1=DigitSTARTable[DisplayBuffer[0]];//取數據送P1端口顯示(小數2位)
LED3=0; // LED3管子開
Delay(5); // 延時顯示
LED3=1; // LED3管子關
}
//*********************************************************************************
//函數名:main
//函數功能:主函數
//*********************************************************************************
void main()
{
TimeInitial(); //啟動定時器初化
while(1)
{
ADDA=0; //ADC0809通道選擇
ADDB=0;
ADDC=0;
OE=0; //輸出關閉
START=0;
START=1; //START由低到高跳變(上跳沿),寄存器清零
START=0; //START由高到低跳變(下跳沿),啟動AD轉換
while(EOC==0) ; //等待轉換結束
OE=1; //輸出允許
AD_Data=P0; //讀ADC0809原始數據
OE=0; //輸出關閉
Temp=(AD_Data*1.0/255*5)*100; //數據處理:輸出值=輸入值*5/255 參數5是基準電壓5V
DisplayBuffer[0]=Temp%10; //取處理后的數據個位,對應顯示溫度值的小數2位
DisplayBuffer[1]=Temp/10%10; //取處理后的數據十位,對應顯示溫度值的小數1位
DisplayBuffer[2]=Temp/100%10; //取處理后的數據百位,對應顯示溫度值的個位
DisplayBuffer[3]=Temp/1000; //取處理后的數據千位,對應顯示溫度值的十位
Display(); //調用顯示函數
}
}
復制代碼
所有資料51hei提供下載:
ad0809.rar
(135.06 KB, 下載次數: 129)
2021-7-8 15:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
這個是用LCD顯示的版本:
AD0809 LCD.rar
(126.38 KB, 下載次數: 91)
2021-7-8 15:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
記憶猶新
時間:
2022-4-1 15:35
樓主
ADC0809要不要編程?
作者:
heizidanpianji9
時間:
2022-5-16 11:40
記憶猶新 發表于 2022-4-1 15:35
樓主
ADC0809要不要編程?
不用啊啊
作者:
Summer·
時間:
2022-5-20 23:11
LCD壓縮包里程序和hex文件不匹配,只有單獨的hex文件能用,通過程序編譯之后生成的hex文件放進沒顯示!!!
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日日操夜夜骑
|
亚洲欧美日韩国产
|
欧美视频一区二区三区
|
嫩草在线观看
|
国产精品高清在线观看
|
欧美日本在线观看
|
黄色片视频
|
亚洲国产精品久久久久久
|
成人欧美一区二区三区黑人孕妇
|
日本香蕉视频
|
aaa黄色
|
超碰人人射
|
国产精品区二区三区日本
|
国产一级大片
|
狠狠做深爱婷婷久久综合一区
|
国产日韩在线视频
|
超碰在线人人
|
h视频免费在线观看
|
夜夜嗨av一区二区三区网页
|
久久免费精品视频
|
国产一区在线免费观看
|
91激情网
|
久久久久久中文字幕
|
亚洲欧美一区二区三区四区
|
91成年人
|
国产高潮在线观看
|
成人aaaa
|
欧美日本一区
|
久操视频在线观看
|
一级片aa
|
国产免费成人
|
天天干天天操天天射
|
免费黄色片视频
|
偷拍一区二区
|
成人免费黄色大片
|
免费在线观看www
|
久久综合99
|
日韩黄色大片
|
av片免费
|
国产精品海角社区
|
日韩av免费在线观看
|