adc0832数字电压表程序+仿真图文档格式.docx
- 文档编号:20564387
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:8
- 大小:62.56KB
adc0832数字电压表程序+仿真图文档格式.docx
《adc0832数字电压表程序+仿真图文档格式.docx》由会员分享,可在线阅读,更多相关《adc0832数字电压表程序+仿真图文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
****************************************************************************/
unsignedcharadc0832(unsignedcharCH)
{
unsignedchari,test,adval;
adval=0x00;
test=0x00;
Clk=0;
//初始化
DATI=1;
_nop_();
CS=0;
Clk=1;
if(CH==0x00)//通道选择
{
//通道0的第一位
DATI=0;
//通道0的第二位
}
else
//通道1的第一位
//通道1的第二位
}
for(i=0;
i<
8;
i++)//读取前8位的值
adval<
<
=1;
if(DATO)
adval|=0x01;
adval|=0x00;
for(i=0;
i<
i++)//读取后8位的值
test>
>
test|=0x80;
else
test|=0x00;
if(adval==test)//比较前8位与后8位的值,如果不相同舍去。
若一直出现显示为零,请将该行去掉
dat=test;
CS=1;
//释放ADC0832
DATO=1;
returndat;
}
延时子程序
voiddelay(void)
intk;
for(k=10;
k<
500;
k++);
将0-255级换算成0.00-5.00的电压数值
i
voidconvdata(unsignedchari)
{
dis[0]=i/51;
//个位
dis[1]=(i%51)*10/51*2;
//小数点后第一位
dis[2]=((i%51)*10%51)*10/51*2;
//小数点后第二位
数码管显示子程序
voiddisplay(void)
P2=0xff;
P0=tab[dis[0]]&
0x7f;
//显示个位和小数点
delay();
P2=0xfd;
P0=tab[dis[1]];
//显示小数点后第一位
P2=0xfb;
P0=tab[dis[2]];
//显示小数点后第二位
P2=0xf7;
P0=0xff;
P2=0xfe;
主程序
voidmain(void)
//端口初始化
CH=0x00;
//在这里选择通道0x00或0x01
TMOD=0x01;
//设置中断
TH0=(65536-50000)/256;
//定时器1初值定时50ms
TL0=(65536-50000)%256;
IE=0x82;
TR0=1;
while
(1)//主循环
{dat=adc0832(CH);
convdata(dat);
//数据转换
display();
//显示数值
/****************************************************************************
定时器中断延时程序这一段的作用时隔一段时间抽样一次否侧显示的最后一位会不稳定
voidtimer0(void)interrupt1
count++;
if(count==0x01)
count=0x00;
dat=adc0832(CH);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- adc0832 数字 电压表 程序 仿真
![提示](https://static.bdocx.com/images/bang_tan.gif)