伊人94I在线观看亚洲专区Iwww.色天使.comI福利视频精品I91在线视频中文字幕I91在线免费观看网站I一区二区三区人妻I99久久精品电影I免费完整91国语版Iwww.日日日I香蕉视频精品亚洲一区二区三区在线播I日韩极品视频在线观看IAV免费片I91急促丨高潮丨对白丨合集I少妇99I粉嫩绯色Av一区二区在线观看I91精品国产一区二区I91爱操

首頁 新聞 > 科技 > 正文

51單片機教程ADC0809模數轉換

//MCU:AT89S51

//晶振:12M

//采用查詢方式讀AD轉換后的值

#include

#include "math.h"

#include "intrins.h"

unsigned charcode numcode[]={ 0xc0,0xf9,0xa4,0xb0,0x99,

0x92,0x82,0xf8,0x80,0x90,

0xC1,0XB7,0xFF

};//數字0~9及"U="”“共陽數碼管代碼

unsigned charcode dot_numcode[]={0X40,0X79,0X24,0X30,0X19,

0X12,0X02,0X78,0X00,0X10

};//帶數點的0~9共陽數碼管代碼

unsigned charcode bitcode[]={0xfe,0xfd,0xfb,0xf7,

0xef,0xdf,0xbf,0x7f};//數碼管位選代碼

unsigned chardispbuff[8]={0,0,0,11,10,12,12,12};

unsigned chardisp_count;

unsigned charflag=1;

unsigned charflag_count;

unsigned long intgetdata;

sbit START=P3^0;

sbit EOC=P3^2;

sbit OE=P3^1;

sbit AD_ALE=P3^3;

voidmain(void)

{

TMOD=0x01;//選擇定時器T0,方式為1(16位定時器)

TH0=(65536-3000)/256;//定時3MS初值

TL0=(65536-3000)%6;

TR0=1;

ET0=1;

EA=1;

AD_ALE=0;

START=0;

OE=0;

while(1)

{

if(flag==1)//每隔40ms啟動一次AD采樣

{

flag=0;

AD_ALE=1;//鎖存輸入通道

START=0;//驅動AD轉換

START=1;

AD_ALE=0;

START=0;//保持低電平

while(EOC==0);//等待AD轉換結束

TR0=0;//AD轉換結束時先停止T0

P0=0XFF;//關閉數碼管顯示,呵呵,其實人眼是感覺不到數碼管熄滅的

P1=0XFF;// 這個很重要

OE=1;//轉換結束,允許AD值輸出

getdata=P1;//讀出AD值,如果硬件連接上改成P2口來讀AD值,這句就改成"getdata=P2;"

OE=0;//禁止輸出

getdata=(unsigned long int)((unsigned long int)(getdata*500)/255);//轉換成電壓

dispbuff[2]=getdata/100;

dispbuff[1]=(getdata0)/10;

dispbuff[0]=getdata;

TR0=1;//重新啟動T0

}

}

}

voidt0(void) interrupt1

{

TH0=(65536-3000)/256;

TL0=(65536-3000)%6;

if(disp_count==2)

P0=dot_numcode[dispbuff[disp_count]];

else

P0=numcode[dispbuff[disp_count]];

P1=bitcode[disp_count];

disp_count++;

flag_count++;

if(disp_count==8)

{

disp_count=0;

}

if(flag_count==100)

{

flag=1;

flag_count=0;

}

}

關鍵詞: 51單片機ADC0809模數轉

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2018 創投網 - www.mslower.cn All rights reserved
聯系我們:33 92 950@qq.com
豫ICP備2020035879號-12

 

主站蜘蛛池模板: 墨脱县| 连平县| 丽水市| 禹州市| 惠安县| 股票| 自贡市| 抚宁县| 乡宁县| 永康市| 罗源县| 陇南市| 滁州市| 珲春市| 元氏县| 兴国县| 乌拉特中旗| 庄河市| 富源县| 浠水县| 镇沅| 唐海县| 博湖县| 泰安市| 平谷区| 延津县| 银川市| 巴青县| 大关县| 三门峡市| 威宁| 襄樊市| 丰都县| 温州市| 元谋县| 灵武市| 香格里拉县| 龙门县| 色达县| 三亚市| 甘肃省|