ADC数据采集显示实验.docVIP

  • 36
  • 0
  • 约1.81千字
  • 约 6页
  • 2016-02-24 发布于江苏
  • 举报
ADC数据采集显示实验.doc

预习报告 实验目的: 掌握ADC的工作原理和操作过程 掌握ADC的接口方法 了解数据处理的实现方法 主要实验仪器: 硬件: 个人电脑 一台 软件: ICCAVR软件、 protuse仿真软件 实验原理及主要工作: 1、实验原理 将连续变化的模拟信号转换为数字信号,显示在1602液晶显示上。 2、主要工作 使用ICCAVR软件编写C程序并编译 使用protuse仿真,找到相应的软件符号并连接线路 仿真结果 实验报告 请按以下几个部分完成实验报告。 一、实验步骤 二、实验原理图(proteus) 三、程序流程图 四、C程序代码全部 五、调试结果截图 六、实验总结及心得体会 七、附件(原理图及程序压缩包) 二、实验原理图 三、实验流程图 四、C程序代码 #include iom16v.h #include macros.h #include math.h #define uchar unsigned char #define uint unsigned int #define RS_CLR PORTB=~BIT(2) #define RS_SET PORTB|=BIT(2) #define RW_CLR PORTB=~BIT(1) #define RW_SET PORTB|=BIT(1) #define E_CLR PORTB=~BIT(0) #define E_SET PORTB|=BIT(0) const uchar disp[]={ADC TXT }; uint value=0; void delay_ms (t) {uchar x,y; for(;t0;t--) {for(x=0;x114;x++) for(y=0;y1;y++); } } void WR_DAT(uchar dat) { E_CLR; RS_SET; RW_CLR; PORTC=dat; E_SET; delay_ms(5); E_CLR; } void WR_COM(uchar dat) { E_CLR; RS_CLR; RW_CLR; PORTC=dat; E_SET; delay_ms(5); E_CLR; } void init_1602(void) { DDRB=0XFF; DDRC=0XFF; delay_ms(20); WR_COM(0X38); delay_ms(5); WR_COM(0X38); delay_ms(5); WR_COM(0X38); delay_ms(5); WR_COM(0X08); WR_COM(0X0C); WR_COM(0X01); delay_ms(10); WR_COM(0X06); WR_COM(0X85); } void ADC_init(void) { DDRA=0X00;PORTA=0X00; ADMUX=0X00; ADCSRA=0XE7; SFIOR=0X00; } void main(void) { uchar i,ADC_L,ADC_H; DDRA=0X00;DDRB=0XFF;DDRC=0XFF; ADC_init(); init_1602(); WR_COM(0X80); for(i=0;i15;i++) { WR_DAT(disp[i]); } while(1) { ADC_L=ADCL; ADC_H=ADCH; WR_COM(0Xc0); value=(ADC_H*256+ADC_L)*5/10.24; ADC_init(); WR_DAT(0+value/100); WR_DAT(.); WR_DAT(0+value%100/10); WR_DAT(0+value%100%10); WR_DAT(v); } } 五、实验结果

文档评论(0)

1亿VIP精品文档

相关文档