欢迎来到天天文库
浏览记录
ID:14122599
大小:153.50 KB
页数:14页
时间:2018-07-26
《基于80c51单片机的数据采集及显示系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、题目:数据采集及显示系统设计设计基本功能:利用TLC549做A/D转换器,外界提供模拟电压输入信号,将模拟量转化成数字量,在单片机控制下实现对外部输入信号的数据采集,并将采集数据结果在LED数码管上显示,显示结果为实际输入电压数值。要求能够实现单次触发存储显示方式,即每按动一次“单次触发”键,能对被测信号进行一次采集与显示。系统在不采集信号时,显示当前时间。硬件设计本方案分为三个模块:单片机模块、AD模块、I2C模块,其中I2C模块有时钟、键盘和LED三部分组成。1、单片机模块该模块设计实现单片机最小系统和与其他
2、模块的接口。电路图见图一。图一2、AD模块该模块是TLC549的电路连接。见图二。图二TLC5491、I2C模块本模块是由时钟芯片PCF8563和由ZLG7290连接的键盘、6位LED组成。实现时钟设置、读取,键盘识别,以及显示功能。电路连接见图三、四。图三ZLG7290图四PCF8563软件设计1、流程图见图五。按下2键按一下3键按两下3键按两下2键按下5键按下1键再次按1键第一次按下1键开始时钟、键盘初始化显示年月日扫描键盘AD采样显示结果扫描键盘显示时间扫描键盘时位闪烁按4键加1年份闪烁按4键加1月份闪烁按
3、4键加1分位闪烁按4键加1日闪烁按4键加1按三下2键图五流程图2程序#include#include#include#include"VIIC_C51.h"#include"ZLG7290.h"#definePCF85630xA2//定义器件地址#defineWRADDR0x00//定义写单元首地址#defineRDADDR0x02//定义读单元首地址#defineucharunsignedchar#defineuintunsignedint#defin
4、eulongunsignedlong#defineZLG72900x70//定义器件地址//定义TLC549串行总线操作端口sbitCLK=P1^0;sbitDAT=P1^1;sbitCS=P1^2;//定义I2C总线控制端口sbitSDA=P1^7;sbitSCL=P1^6;//显示缓冲区初始化:DP-51PROunsignedchardisp_buf[8]={0,0,0,0,0,0,0,0};//显示缓存ucharbdataADCdata;sbitADbit=ADCdata^0;sbitKEY_INT=P3^
5、2;sbitRST=P1^0;unsignedcharKEY;//保存键值/*****************************************************函数名称:TLC549ADC()**函数功能:读取上一次A/D转换的数据,启动下一次A/D转换****************************************************/ucharTLC549ADC(void){uchari;CLK=0;DAT=1;CS=0;for(i=0;i<8;i++){CLK=1;
6、_nop_();_nop_();ADCdata<<=1;ADbit=DAT;CLK=0;_nop_();}return(ADCdata);}/******************************************函数名称:delay()**函数功能:硬件延时程序**入口参数:i****************************************/unsignedcharDelayNS(unsignedcharno){unsignedchari,j;//延时参数for(;no>0;no--
7、)for(i=0;i<100;i++)for(j=0;j<100;j++);return0;}/*A/D数据转换处理和输出显示功能函数*//*********************************************函数名称:display()**函数功能:处理A/D转换后的数据并输出显示********************************************/voiddisplay(ucharadvalue){ulongad_disp;ad_disp=((ulong)advalue
8、)*500/255;disp_buf[2]=(uchar)(ad_disp/100%10)+0x80;disp_buf[1]=(uchar)(ad_disp/10%10);disp_buf[0]=(uchar)(ad_disp/1%10);disp_buf[3]=31;disp_buf[4]=31;disp_buf[5]=31;disp_buf[6]=31;disp_bu
此文档下载收益归作者所有