91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 473KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-01
  • 語言: 其他
  • 標簽:

資源簡介

利用單片機AT89C52與ADC0809設計一個8路數字電壓表,能夠測量0-5V之間的8路輸入電壓值,并能在四位數碼管上顯示。

資源截圖

代碼片段和文件信息

#include?
#include?????//延時函數用
#define?ad_con?P2???????//A/D控制口
#define?addata?P0?????????//A/D數據記入讀入口
#define?Disdata?P1????????//顯示數據段碼輸出口
#define?uchar?unsigned?char??
#define?uint?unsigned?int
sbit?ALE=P2^3;????????????//鎖存地址控制位
sbit?START=P2^4;?????????????//啟動一次轉換位
sbit?OE=P2^5;????????????????//0809輸出數據?控制位
sbit?EOC=P3^7;?????????????????//轉換結束標志位
sbit?DISX=Disdata^7;???????????//LED小數點
sbit?A=P2^7;
sbit?BO=P3^5;
sbit?CO=P3^6;
//
//
uchar?code?dis_7[11]={0xC00xF90xA40xB00x990x920x820xF80x800x900xff};
/*共陽7段LED段碼表0.1.2.3.4.5.6.7.8.9.不亮*/
uchar?code?scan_con[4]={0xfe0xfd0xfb0xf7};?????????????????????//4位列掃描控制字
//11111110
//11111101
//11111011
//11110111
uchar?data?ad_data[8]={0x000x000x000x000x000x000x000x00};??//定義8個數據內存單元
uint?data?dis[5]={0x000x000x000x000x00};??????????????????????//定義4個顯示數據單元和1個數據存儲單元
//
//
/**********1ms延時子函數***********/
delaylms(uint?t)????//t=1
{
uint?ij;
for(i=0;i for(j=0;j<120;j++)
;
}
//
//
/************顯示掃描子函數***************/
scan()
{
uchar?kn;
int?h;
dis[3]=0x01;???????????? ? //通道初值為1
for(n=0;n<8;n++)????????? //每次顯示8個數據
{
dis[2]=ad_data[n]/51;??//測得值轉換為3位BCD碼,最大為5.00V
dis[4]=ad_data[n]%51;??//余數暫存
dis[4]=dis[4]*10;??????//計算小數第一位
dis[1]=dis[4]/51;??????
dis[4]=dis[4]%51;
dis[4]=dis[4]*10;??????//計算小數第二位
dis[0]=dis[4]/51;?
if(dis[2]>=4&&dis[1]>6&&dis[0]>=0)
A=1;??
else?
A=0;
for(h=0;h<500;h++)??????? ?//每個通道顯示時間控制約為一秒
{
for(k=0;k<4;k++)?????????//4位LED掃描控制
{
Disdata=dis_7[dis[k]];
if(k==2)
{
DISX=0;
}
P3=scan_con[k];???//P3.O-P3.3控制四個數碼管的輸出?即控制輸出電平的高低
delaylms(1);
P3=0xff;
}???
}
dis[3]++;?????????????????//通道值加1
}
}
//
//
/*************通道選擇函數*********************/
tongdao(uint?n)
{
uint?mi;
dis[3]=n+1;
dis[2]=ad_data[n]/51;??//測得值轉換為3位BCD碼,最大為5.00V
dis[4]=ad_data[n]%51;??//余數暫存
dis[4]=dis[4]*10;??????//計算小數第一位
dis[1]=dis[4]/51;??????
dis[4]=dis[4]%51;
dis[4]=dis[4]*10;??????//計算小數第二位
dis[0]=dis[4]/51;?
if(dis[2]>=4&&dis[1]>6&&dis[0]>=0)
A=1;??
else?
A=0;
for(m=0;m<500;m++)????????//每個通道顯示時間控制約為一秒
{
for(i=0;i<4;i++)?????????//4位LED掃描控制
{
Disdata=dis_7[dis[i]];
if(i==2)
{
DISX=0;
}
P3=scan_con[i];???//P3.O-P3.3控制四個數碼管的輸出?即控制輸出電平的高低
delaylms(1);
P3=0xff;
}???
}
}
/*************0809轉換子函數*******************/
test()
{??
uchar?m;
uchar?s=0x00;
ad_con=s;
for(m=0;m<8;m++)
{
ALE=1;
_nop_();
_nop_();
ALE=0;????//轉換通道地址鎖存
START=1;
_nop_();
_nop_();
START=0;?//開始轉換命令
_nop_();
_nop_();
_nop_();
_nop_();?//延時4US
while(EOC==0);????????????????????//等待轉換結束
OE=1;
ad

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????91136??2008-12-29?09:40??8路數字電壓表\13?組???????實驗報告.doc

?????文件????1024000??2008-12-29?09:43??8路數字電壓表\Design1.Bkp

?????文件?????385024??2008-12-29?09:43??8路數字電壓表\Design1.ddb

?????文件????8452096??2008-12-29?09:42??8路數字電壓表\shuzidianbiao.Bkp

?????文件????1138688??2008-12-29?09:42??8路數字電壓表\shuzidianbiao.ddb

?????文件???????3917??2007-07-24?13:57??8路數字電壓表\test21.c

?????目錄??????????0??2008-12-29?09:43??8路數字電壓表

-----------?---------??----------?-----??----

?????????????11094861????????????????????7


評論

共有 條評論