用ADC0832设计的两路电压表protues仿真

2026/4/29 5:01:27

} {

P0=dat; delay(2); en=0; delay(2);

void LCD_display(uchar add,uchar s[])

uchar i;

LCD_write_cmd(0x80+add); for(i=0;i<16;i++)

LCD_write_data(s[i]); }

void LCD_init() {

LCD_write_cmd(0x38); delay(1);

LCD_write_cmd(0x0c); delay(1);

LCD_write_cmd(0x06); delay(1);

LCD_write_cmd(0x01);

delay(1); }

#endif

#ifndef _ADC0832_H_ #define _ADC0832_H_

uchar ADC_read_data(uchar ch) {

uchar i,dat0=0,dat1=0; cs=0; clk=0;

dio=1; delay_us(); clk=1; delay_us(); clk=0; dio=1; delay_us(); clk=1; delay_us();

//第二次下降沿输入dio=1

//第一次下降沿之前DIO置高,起始信号

clk=0;

dio=ch; //第三个下降沿,设DIO=0; delay_us(); clk=1; delay_us();

/*********二,三个下降沿选择通道1************************/ }

void ADC_change(uchar ch) {

dat=ADC_read_data(ch)*500.0/255;//dat变量要全局变量,重要 LCD_buffer[ch][8]=dat/100+'0'; LCD_buffer[ch][10]=dat/10+'0'; LCD_buffer[ch][11]=dat+'0';

clk=0;

dio=1; //第四个下降沿之前,设DIO=1 delay_us();

for(i=0;i<8;i++)//第4~11共8个下降沿读数据(MSB->LSB) {

clk=1; delay_us(); clk=0; delay_us(); dat0=dat0<<1|dio;

}

for(i=0;i<8;i++) //第11~18共8个下降沿读数据(LSB->MSB) {

dat1=dat1|((uchar)(dio)<

clk=0; delay_us(); } cs=1;

//判断dat0与dat1是否相等

return (dat0==dat1)?dat0:0;

}

#endif


用ADC0832设计的两路电压表protues仿真.doc 将本文的Word文档下载到电脑
搜索更多关于: 用ADC0832设计的两路电压表protues仿真 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219