电子系统设计实验指导书.doc
《电子系统设计实验指导书.doc》由会员分享,可在线阅读,更多相关《电子系统设计实验指导书.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子系统设计实验指导书电子信息实验教学中心2010年3月目 录实验一、 数字温度计设计-2实验二、 步进电机控制系统-11实验一 数字温度计设计实验目的和要求1、熟悉温度传感器的使用;2、掌握系统综合整体调试步骤; 3、理解系统设计的基本思想。实验内容1、熟悉数字温度传感器DS18B20的使用,掌握用单片机口线进行1-wire串行通信的方法;2、根据DS18B20工作时序要求进行程序设计,能够通过软件调试正确得到采集的温度值;3、将单片机采集温度程序和显示程序结合起来,通过系统软硬件整体调试正确得到采集的温度值并进行显示。主要实验仪器与器材1、单片机实验板 1套2、电脑1台 、示波器1台、焊接
2、工具1套、万用表1台3、DS18B20 1个,通用板 1块,4.7k电阻1个,电线若干实验原理1、DS18B20资料DS18B20用12位存贮温值度,最高位为符号位,下图为18B20的温度存储方式,负温度S=1,正温度S=0。 低位先输出。DS18B20参考程序:DS18B20温度采集程序:#include #include sbit DQ = P10; unsigned int idata tem; extern void display_tem(unsigned int a100,unsigned int a10,unsigned int a1);/*延时程序,单位us,大于10us*/v
3、oid delay_us(unsigned int time) /time=time-10;/ time=time/6;while(time!=0)time-;/*DS18B20初始化*/unsigned char resetDS18B20(void)bit online=0xff;DQ=1; DQ=0; delay_us(50);DQ=1;delay_us(6);online=DQ;delay_us(50);DQ=1; return(online);/*读DS18B20一个字节*/unsigned int readByteDS18B20(void)bit mid;unsigned char
4、i;unsigned char retval=0; retval=0;DQ=1;for(i=8;i0;i-)retval=retval1;DQ=0;/delay_us(1);DQ=1;/delay_us(1); _nop_();_nop_();mid=DQ;if(mid)retval|=0x80;delay_us(5); DQ=1; return(retval); /*写DS18B20一个字节*/void writeByteDS18B20(unsigned char wb)unsigned char i;unsigned char mid; DQ=1;for(i=8;i0;i-)mid=wb&
5、0x01;DQ=0; /delay_us(1);if(mid) DQ=1;elseDQ=0;delay_us(2);DQ=1; delay_us(5);wb=1;/*读DS18B20温度*/unsigned int readTempDS18B20(void)unsigned int tempL,tempH;unsigned int x;resetDS18B20();writeByteDS18B20(0xcc); writeByteDS18B20(0x44);delay_us(60000);delay();delay();delay();resetDS18B20();writeByteDS18B
6、20(0xcc);writeByteDS18B20(0xbe);tempL=readByteDS18B20();tempH=readByteDS18B20();DQ=1;x=(tempH8)|tempL;return(x); 2、单片机电路板资料显示电路显示参考程序:#include#includedef.h#include#includeuchar code SegTabl=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,; void delay164(uint k)while (
7、-k1);void Display164(ulong dispv)uchar i,j,num;uchar led6;uchar tmp;uchar val1,val2,val3;if(dispv/10=0)num=1;else if (dispv/100=0)num=2;else if (dispv/1000=0)num=3;else if (dispv/10000=0)num=4;else if (dispv/=0)num=5;else if (dispv/=0)num=6;for(i=0;i0&i%2=0)ledi|=0x80;for(i=0;i6;i+)tmp=ledi;for(j=0;
8、j8;j+)if(inum) DATA=(tmp&0x80)?1:0; else DATA=0;CLK=0;delay164(5);CLK=1;delay164(5);tmp=tmp1;void BitDisplay164(uchar val ,uchar dig) uchar seg;uchar i,j;seg=SegTablval;for(i=0;idig;i+)for(j=0;j8;j+)CLK=0;delay164(5);if(i=0)DATA=(seg&0x80)?1:0;else DATA=0;delay164(5);CLK=1; delay164(5);seg=seg1;键盘参考
9、程序:#include#includedef.huchar KeyScan();void KeyOpr(uchar key);extern void BitDisplay164(uchar val ,uchar dig);uchar KeyScan()uchar RowKey,ColKey,BackKey;P2=0x30;ColKey=P2&0xf0;P2=0x0f;RowKey=P2&0x0f;BackKey=RowKey|ColKey;BackKey=BackKey;return(BackKey);void KeyOpr(uchar key)key&=0x3f;switch(key)cas
10、e 0x11: BitDisplay164(1,1);break;case 0x12: BitDisplay164(2,2);break;case 0x14: BitDisplay164(3,3);break;case 0x18: BitDisplay164(4,4);break;case 0x21: BitDisplay164(5,5);break;case 0x22: BitDisplay164(6,6);break;case 0x24: BitDisplay164(10,6);break;case 0x28: BitDisplay164(11,6);break;default:break
11、;最小系统板原理图实验小结1、上交实验报告,分析测量温度误差产生原因,适当进行理论推导。2、总结实验心得。实验二 步进电机控制系统实验目的和要求1、掌握步进电机工作原理,设计步进电机驱动电路;2、了解步进电动机环型分配器和驱动电路功能;3、掌握硬件电路调试的基本方法、步骤;4、培养发现问题、分析问题和解决问题的能力。5、培养学生对电子系统的软硬件协同设计能力;6、掌握系统电路设计报告的一般书写格式和方法。 实验内容任务一:1.根据步进电机工作原理设计硬件驱动电路;2.设计出原理图并进行焊接调试;3.用单片机最小系统进行步进电机控制程序的初步设计,通过LED指示灯模拟实现步进电机环型分配器功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 系统 设计 实验 指导书
限制150内