资源描述:
《基于C51单片机的智能仪器综合设计实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于单片机的智能仪器综合设计实验一、实验目的在实验一~实验三的基础上,完成综合设计实验,学会信号采集、数据处理、键盘控制、LCD或LED显示等功能的智能仪器设计。二、复习与参考实验一~实验三三、设计指标利用K分度号热电偶进行温度检测,测温范围为500-1200ºC,室温为20ºC,用LCD或LED显示室温和测量温度。具有4路温度信号循环检测功能,通道切换时间可调;具有任意指定通道显示功能。四、实验要求1.选择传感器,设计硬件电路,包括检测电路、信号调理电路、AD转换电路、单片机最小系统、LED显示(单号)、LCD显示(双号)、独立式按键
2、,画出电路原理图。2.画出软件流程图。3.用KeilC51编写程序。3.实验结果在LCD或LED上显示出来。4.实验前完成第1、2项备查。五、实验仪器设备和材料清单PC机;单片机实验板、连接导线、ST7920图形液晶模块Keilc51软件六、实验成绩评定方法实验成绩包括预习、实验完成质量、实验报告质量3部分组成,各部分所占比例分别为30%、40%、30%。八、实验报告要求实验报告格式:l实验名称l实验目的l实验内容l硬件设计l软件设计l调试过程l参考文献l附1:电路原理图l附2:程序清单附录:实验程序源代码如下:(陈寅)#include
3、"reg51.h"#defineTHC00xee//5ms时间常数设置#defineTLC00x00sbitADWR=P3^6;/***WR*****/sbitADRD=P3^7;/***RD*****/sbitADCS=P2^7;/***CS*****/sbitEOC=P3^3;/***EOC****/sbitADA=P1^3;//通道选择引脚sbitADB=P1^4;sbitADC=P1^5;sbitCS=P1^0;/****************/sbitSID=P1^1;/**液晶引脚定义**/sbitSCLK=P1^2;/*
4、***************/sbitMODE=P2^0;/*************************/sbitUP=P2^1;/*四个按键接口,0表示按下*/sbitDOWN=P2^2;/*************************/sbitLED1=P2^3;/**4个LED灯引脚定义**/sbitLED2=P2^4;/********************/sbitLED3=P2^5;/********************/sbitLED4=P2^6;/********************//******
5、*********500~1200°C范围的K分度表,间隔10*******************/unsignedintcodeK_TABLE[71]={20644,21066,21493,21919,22346,22772,23198,23624,24050,24476,24902,25327,25751,26176,26599,27022,27445,27867,28288,28709,29128,29547,29965,30383,30799,31214,31629,32042,32455,32866,33277,33686,
6、34095,34502,34909,35314,35718,36121,36524,36925,37325,37725,38122,38519,38915,39310,39703,40096,40488,40897,41296,41657,42045,42432,42817,43202,43585,43968,44349,44729,45108,45486,45863,46238,46612,46985,47356,47726,48095,48462,48828};unsignedcharGetAdData[10]={0};//存放获得
7、AD值的数组变量unsignedcharViewTemperature[4]={"0000"};//显示温度缓冲数组变量unsignedMODESelect=1;intChangeTime=2;//通道切换时间,单位SintTongDao=1;voiddelay(unsignedintj){unsignedchari;do{for(i=0;i<100;i++);}while(j--);}voidsend_command(unsignedcharcommand_data)//发送命令{unsignedchari;unsignedchari
8、_data;i_data=0xf8;//操作命令,可以查看资料delay(10);CS=1;SCLK=0;for(i=0;i<8;i++){SID=(bit)(i_data&0x80);SCLK=0;SCL