《电子系统设计实验指导书.doc》由会员分享,可在线阅读,更多相关《电子系统设计实验指导书.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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指示灯模拟实现步进电机环型分配器功能。
12、任务二:1.用示波器观察驱动信号,实现软件控制;2.通过软件编程实现对步进电机的多种控制功能,如启停、工作方式设定、正反转控制等。任务三: 1.能够驱动步进电动机转动,控制启停;2.能够通过按键使步进电动机正转和反转;3.通过按键控制步进电动机速度的增减;4.通过按键设置步进电机工作方式5.能够用数码管显示步进电动机的速度;6.能够通过键盘精确的设定步进电动机的速度;(转/min) 主要实验仪器与器材1、单片机实验板 1套2、电脑1台 、示波器1台、焊接工具1套、万用表1台3、L298 1个,L297 1个,通用板 1块,0.5 电阻2个,1K电阻1个,10K电阻2个,22K电阻1个,500K
13、电阻3个,6引脚连接头3个,3.3nF 电容1个,103电容2个,IN5822 4个, 电线若干 实验原理1. 步进电动机基本工作原理:当U相通电,V、W相不通电,1、3齿与U相对齐;当V相通电,U、W相不通电,2、4齿与V相对齐;当W相通电,U、V相不通电,1、3齿与W相对齐; 当通电顺序为UV WU V 时,转子便顺时针方向一步一步地转动,通电状态每换接一次,转子前进一步,一步对应的角度称为步距角。电流换接三次,磁场旋转一周,转子前进一个齿距的位置,一个齿距所对应的角度称为齿距角(此例中齿距角为90度)当改变通电顺序时,将改变转子的转向。2. 通电方式(1) 单相轮流通电方式:每次切换前后
14、只有一相绕组通电。在这种通电方式下,电动机工作的驱动能力弱,稳定性较差,容易失步。上述例子即为单向轮流通电方式,称为三相单三拍通电。(2) 双相轮流通电方式:每次有两相绕组通电,通电状态切换时,转子转动平稳,且输出力矩较大,这种通电方式定位精度高而且不易失步。以三相反应式电动机为例,双相轮流通电方式为:UV VWWU UV 称为三相双三拍通电。(3) 单双相轮流通电方式 上述两种通电方式的组合。即通电方式为:U UV V VWW WU U 称为三相六拍通电,如图所示。 三相六拍通电方式的步距角减小一倍。3. 步进电动机的举例n 采用四相步进电机,工作电压12V。n 单片机控制步进脉冲分配。A:
15、驱动输入,与P1.0相连,低电平有效;B:驱动输入,与P1.1相连,低电平有效;C:驱动输入,与P1.2相连,低电平有效;D:驱动输入,与P1.3相连,低电平有效。四相步进电动机控制模型方 式P1端口(电平有效0,无效1)十六进制通电绕组76543(D相)2(C相)1(B相)0(A相)四相单四拍111111100FEHA相111111010FDHB相111110110FBHC相111101110F7HD相四相双四拍111111000FCHAB相111110010F9HBC相111100110F3HCA相111101100F6HAD相四相八拍111111100FEHA相111111000FCHA
16、B相111111010FDHB相111110010F9HBC相111110110FBHC相111100110F3HCD相111101110F7HD相111101100F6HDA相4、步进电机驱动电路图器件清单R5 0.5 ,R4 0.5,R10 1K,c1 3.3nF,R9 5K,R3 10K,R12 10k,R7 22K,c2 103,c3 103,R6 500K,R2 500K,R1 500K,Connector CON6 J1 J2 J3步进电机驱动电路图实验小结1、上交实验报告,书写步进电机驱动器电路系统设计报告,报告主要包括引言、步进电机工作原理、系统硬件设计、软件设计(流程图)、调
17、试过程,附录为需要说明的内容,包括程序清单等。2、总结实验心得。12864蓝屏带中文字库ST7920;*;CONTROLLER:ST7920(8BIT INTERFACE);12864点阵;EDITOR:ZY;CRYSTAL:12MHz;RS=P3.0 RW=P3.1 E=P3.2 D0-D7=P1;* RS EQU P3.0 ;H=DATA,L=COM RW EQU P3.1 ;H=READ,L=WRITE E EQU P3.2 ; COM EQU 30H ;控制字暂存单元 DAT EQU 31H ;显示数据暂存单元 CODER EQU 32H ;字符代码暂存单元 ADDR EQU 33H
18、;地址暂存单元 ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV SP,#60H MOV P3,#0F8H LCALL DEL_20MS LCALL DEL_20MS LCALL INI ;进入初始化子程序 MOV ADDR,#80H MOV DPTR,#WEL_1 LCALL W_LINE MOV ADDR,#90H MOV DPTR,#WEL_2 LCALL W_LINE LCALL DEL_1500MS MOV ADDR,#80H MOV DPTR,#WEL_3 LCALL W_LINE MOV ADDR,#90H MOV DPTR,#WEL_4 LCALL
19、W_LINE LCALL DEL_1500MS MOV ADDR,#80H ; MOV DPTR,#HZ_1 ; LCALL W_LINE MOV ADDR,#90H ; MOV DPTR,#HZ_2 ; LCALL W_LINE LCALL DEL_1500MS ;延时后显示下一页 MOV ADDR,#80H ; MOV DPTR,#HZ_3 ; LCALL W_LINE MOV ADDR,#90H ; MOV DPTR,#HZ_4 ; LCALL W_LINE LCALL DEL_1500MS LJMP MAININI: MOV COM,#30H ;功能设定,基本指令 LCALL WCOM
20、 MOV COM,#30H ;基本指令,8-bit模式,基本指令 LCALL WCOM MOV COM,#0CH ;显示开,游标关,反白关 LCALL WCOM MOV COM,#01H ;清除显示 LCALL WCOM MOV COM,#06H ;进入设定点,游标7右移,画面不移动 LCALL WCOM RETW_LINE: ;写入一行8汉字子程序 MOV COM,ADDR ; LCALL WCOM ; MOV R2,#20 ;16个循环,连续写入8个汉字或是16个西文字符W_L1: MOV A,#00H MOVC A,A+DPTR MOV CODER,A LCALL WCODE INC D
21、PTR DJNZ R2,W_L1 RETWCOM: ;写指令子程序 CLR RS SETB RWWC1: MOV P1,#0FFH SETB E MOV A,P1 CLR E JB ACC.7,WC1 ;查忙 CLR RW MOV P1,COM SETB E CLR E RETWCODE: ;写代码子程序 CLR RS SETB RWWCO1: MOV P1,#0FFH SETB E MOV A,P1 CLR E JB ACC.7,WCO1 SETB RS CLR RW MOV P1,CODER SETB E CLR E RETDEL_20MS: MOV R0,#20D2: MOV R1,#2
22、00D1: NOP NOP NOP DJNZ R1,D1 DJNZ R0,D2 RETDEL_100MS: LCALL DEL_20MS LCALL DEL_20MS LCALL DEL_20MS LCALL DEL_20MS LCALL DEL_20MS RETDEL_500MS: LCALL DEL_100MS LCALL DEL_100MS LCALL DEL_100MS LCALL DEL_100MS LCALL DEL_100MS RETDEL_1500MS: LCALL DEL_500MS LCALL DEL_500MS LCALL DEL_500MS RETWEL_3: DB 128 * 64中文字库 HZ_1: DB 内藏8192个中文字 HZ_2: DB 串口并口可供选择 HZ_3: DB 适配 M6800 时序 HZ_4: DB *谢谢您的使用* END