1、智能仪器原理及应用(20132014学年第一学期)实验报告 课程名称 智能仪器原理及应用 专业班级 姓名学号 姓名 学号 指导教师 所在学院 信息科技学院 2013年 10月 目 录实验项目一 智能仪器输入输出接口技术的设计与实现实验项目二 智能仪器人机接口技术的设计与实现实验项目三 智能仪器通讯接口技术的设计与实现实验项目四 简单智能仪器的设计与实现实验项目一 智能仪器输入输出接口技术的设计与实现1实验目的 了解ADC0808基本工作原理与使用方法; 掌握MCS-51单片机ADC程序的基本设计方法。2. 实验内容 基本部分:利用AT89C51和ADC0808设计一个简单的数字电压表,测量范围
2、0-4.99V,并将结果以二进制的方式在P1口上显示; 提高部分:将数字电压表的测量范围改为0-9.99V;将基本部分的单通道数字电压表设计成一个8通道的数字电压表。 3. 实验电路框图 4. 实验任务分析硬件电路说明软件设计说明5. 实验流程框图6. 实验过程记录实验过程 问题及解决方法7. 实验总结8. 成绩评定附录 实验源程序实验项目二 智能仪器人机接口技术的设计与实现1实验目的 了解LED数码管的基本工作原理与使用范围; 掌握LED数码管静态显示程序的基本设计方法; 掌握LED数码管动态显示程序的基本设计方法;2. 实验内容 基本部分:用LED数码管设计一个099秒的计数器,LED的显
3、示方式可以采用静态显示方式实现; 提高部分:用LED数码管设计一个099.99秒的计数器,LED的显示方式采用动态显示方式实现。 3. 实验电路框图 4. 实验任务分析硬件电路说明软件设计说明5. 实验流程框图6. 实验过程记录实验过程 问题及解决方法7. 实验总结 8. 成绩评定附录 实验源程序实验项目三 智能仪器通讯接口技术的设计与实现1实验目的 了解MCS-51单片机串口的基本工作原理与使用范围; 掌握MCS-51单片机串口通讯程序的基本设计方法。2. 实验内容 基本部分:在PROTEUS软件中采用串口虚拟终端,编写一个发送程序,将自己的学号发送到虚拟终端显示; 提高部分:在单片机甲的口
4、接个开关,再单片机乙的口接个,编写程序,将单片机甲的开关状态在单片机乙上显示出来。 3. 实验电路框图 4. 实验任务分析硬件电路说明软件设计说明5. 实验流程框图6. 实验过程记录实验过程 问题及解决方法7. 实验总结 8. 成绩评定附录 实验源程序#include #include #define uchar unsigned char#define uint unsigned intvoid TxData(uchar x) SBUF=x; while(TI=0); TI=0;void send(uchar *str,uint strlen) uint k=0; do TxData(*(s
5、tr+k); k+; while(kstrlen);void main() PCON=0x00; SCON=0x40; TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; while(1) send(201005014102,12); 实验项目四 简单智能仪器的设计与实现-基于AT89C51的简单电子万年历1实验目的 了解电子万年历的基本工作原理与使用方法; 掌握AT89C51设计电子万年历的基本方法。2. 实验内容 基本部分:利用AT89C51和7段LED数码管设计一个简单的电子万年历,能显示时间、星期、年、月、日,并能进行设置; 提高部分:将电子万年历增加一个闹钟功
6、能;当设定的闹钟时间到时,让单片机演奏一段音乐。 3. 实验电路框图 4. 实验任务分析硬件电路说明软件设计说明5. 实验流程框图6. 实验过程记录实验过程 问题及解决方法7. 实验总结8. 成绩评定附录 实验源程序#include#define uchar unsigned char #define uint unsigned intuchar Tab=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; /数码管是共yinguchar i,s=0,m=0,h=0,moshi,b=0;uint year=2013,month=10,day=22
7、,a,qian,bia,shi;sbit S1=P10; /时和年校准sbit S2=P11; /分和月校准sbit S3=P12; /模式切换sbit S4=P13; /秒和天校准sbit S5=P14; /复位void timer() /=初值 TMOD=0x01; ET0=1; EA=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1;void delay_time() / 延时函数 uchar i; for(i=0;i200;i+); void delay30ms(void) /去抖动 unsigned char x,y; fo
8、r(x=0;x200;x+) for(y=0;y=59) s=0; m+; if(m=59) m=0; h+; if(h=23) h=0; day+; /=年月日的设置 if (month=4|month=6|month=9|month=11) a=30; if (month=1|month=3|month=5|month=7|month=8|month=10|month=12) a=31; if (month=2) if (year%100&(year%4=0)|(year%100=0&year%400=0) a=29; else a=28; if (month=13) month=1;year+;day=1; if (day=a+1) month+;day=1;
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2