ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:19.97KB ,
资源ID:16505838      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16505838.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子技术综合实验室报告Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子技术综合实验室报告Word文件下载.docx

1、 原理图(一)蜂鸣器工作原理: 蜂鸣器是一种一体化结构的电子讯响器,本文介绍如何用单片机驱动蜂鸣器,他广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kH

2、Z的音频信号,阻抗匹配器推动压电蜂鸣片发声。 原理图(二)I2C工作原理: 在I2C总线上每传输一位数据,都有一个时钟脉冲相对应,其逻辑“0”和“1”的信号电平取决于该点的正端电源VDD的电压。I2C总线数据传输时,在时钟线高电平期间数据线上必须保持有稳定的逻辑电平状态,高电平为数据1,低电平为数据0。只有在时钟线为低电平时,才允许数据线上的电平变化。 I2C总线数据传送时有两种时序状态被分别定义为起始信号和终止信号。起始信号:在时钟线保持高电平期间,数据线在由高电平到低电平变化时启动I2C总线,为I2C总线的起始信号。 终止信号:在时钟线保持高电平期间,数据线在由低电平到高电平变化时将停止I

3、2C总线的数据传送,为I2C总线的终止信号。 起始信号和终止信号都是由主控制器产生。总线上带有I2C总线接口的器件很容易检测到这些信号。但是对于不具备这些硬件接口的单片机来说,为了能准确地检测到这些信号,必须保证在总线的一个时钟周期内对数据线至少进行两次采样。 原理图(三)LM75特征及应用: LM75温度传感器包含一个模数转换器和一个数字过热检测器。主机可通过器件的I2C接口读取温度数据。当超出设置的温度门限时漏极开路的过热输出吸收电流。OS输出具体2种模式,比较器或中断模式。主机控制报警触触发门限和带回温度,低于带回温度报警条件无效。主机可读写LM75的TOS和THYST寄存器,器件上电时

4、进入比较器模式,默认条件下TOS=+80且THYST=75。 原理图(四)电机驱动原理: 步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。 原理图(五)3、 软件设计(完成程序框图)(三)思考题设定温度的按键改用外部中断模式,电路如何修改(画示意图)?程序如何修改,写出中断服务程序。七、 总结及心得体会

5、 通过一个星期的学习和实践,我从只能点亮一个LED灯到可以按照实验要求完成流水灯。在每一个小小的实现项目的完成,感觉自己都在一步一步的成长,虽然有的时候非常烦躁,实验结果老是出不来,而且找不到原因,并且被老师骂的一塌糊涂。但是,我还是坚持下来了。坚持着完成一个个小项目,这样自己的信心也一步一步增加。使得我很快就完成了实验。在此,需要谢谢老师的谆谆教导。 八、 对本实验过程及方法、手段的改进建议 无九、 附录综合实验程序:#include absacc.hctype.hsbit KEY1 = P20;sbit KEY2 = P21;sbit PWM = P26;sbit CS = P35;sbi

6、t DAT = P36;sbit CLK = P37;unsigned char KeyScan() unsigned char k = 0; if ( KEY1 = 0 ) k = + if ( KEY2 = 0 ) k = - return k;/定义显示缓冲区(由定时中断程序自动扫描)unsigned char DispBuf8;unsigned char temp;unsigned char Speed; /预设的电机转速值,范围20250bit SWTR; /软件定时器运行标志bit SWTF; /软件定时器溢出标志unsigned int SWTV;/*函数:T1INTSVC()功

7、能:定时器T1的中断服务函数*/void T1INTSVC() interrupt 3 code unsigned char com = 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80; static unsigned char n = 0; static unsigned char t = 0;/扫描数码管 P0 = 0xFF; /暂停显示 XBYTE0xE800 = DispBufn; /更新扫描数据 P0 = comn; /重新显示 n+; n &= 0x07;/产生PWM方波,驱动电机 t+; if ( t Speed ) PWM = 1; else P

8、WM = 0;/模拟一个软件定时器 if ( SWTR ) if ( -SWTV = 0 ) SWTF = 1;DispClear()清除数码管的所有显示void DispClear() unsigned char i; for ( i=0; i8; i+ ) DispBufi = 0x00;DispChar()在数码管上显示字符参数: x:数码管的坐标位置(07) c:要显示的字符(仅限16进制数字和减号) dp:是否显示小数点,0不显示,1显示void DispChar(unsigned char x, unsigned char c, bit dp) code unsigned char

9、 Tab = /定义0123456789AbCdEF的数码管字型数据 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71 ; unsigned char t; /临时变量/防止显示位置超出范围 x & x = 7 - x;/分析字符c,取得对应的数码管字型数据 if ( c = ) t = 0x40; t = toint(c); /toint()为库函数,详见C:KeilC51HLPC51.pdf if ( t 0时,延时(t*0.01)s t=0时,延时2.56s说明: 晶振用11.

10、0592MHzvoid Delay(unsigned int t) SWTV = t; /软件定时器赋初值 SWTR = 1; /启动软件定时器 while ( !SWTF ); /等待溢出 SWTR = 0; /停止软件定时器 SWTF = 0; /清除溢出标志unsigned char MeasureSpeed() TH0 = TL0 = 0; /清除计数器T0 TR0 = 1; /启动计数器T0 Delay(2500); /延时250ms(因为直流电机转盘上正好有4个槽) TR0 = 0; /停止计数 TF0 = 0; /清除(可能的)溢出标志 return TL0; /返回结果(单位:

11、转/秒;已知电机转速不会超过100)SysInit()系统初始化void SysInit()= 0xF0; TMOD |= 0x01; /设置定时器T0为16位定时器 DispInit(); /数码管扫描显示初始化 /数码管初始化为全灭 Speed = 35; /设置电机初始转速 SWTV = 0; TMOD |= 0x20; /设置T1为8位定时器,自动重装 TH1 = TL1 = 0xA4; /设置T1初值,对应100s /使能T1中断 /启动T1 /使能总中断 TMOD |= 0x05;unsigned char ReadAdc() unsigned char d; unsigned c

12、har n; CS = 0; n = 5; while ( -n != 0 ); n = 8; do d = 1; if ( DAT ) d+; CLK = 1; CLK = 0; while ( -n ! CS = 1; return d;void main() code unsigned char s = 12345678 code unsigned char w = 21 unsigned char x; unsigned char k; unsigned char spd; unsigned char r3; unsigned char v; unsigned char SW; uns

13、igned char GW; bit dp; SysInit(); dp = 0;/ TMOD & / TMOD |= 0x01;for(; temp=0x00000001; k = KeyScan(); if ( k = ) break; for ( i=0; P1=temp; temp=1; k = KeyScan(); for ( x=0; x=0;x-) for(i=9;ii-) spd = MeasureSpeed(); SW = spd/10 ; GW = spd%10 ; DispChar(3,GW+ DispChar(4,SW+ Delay(1000); DispChar(1,x+ DispChar(0,i+ if(i=0) break; if(x=0) break; if(x=0) break; SysInit(); spd = MeasureSpeed(); SW = spd/10 + GW = spd%10 + DispChar(6,GW,0); DispChar(7,SW,0); v = ReadAdc(); /读取ADC值 SW = v/100; GW = (v-100*SW)/10; DispChar(1,SW + DispChar(0,GW + Speed=32+v/10; k = KeyScan(); if ( k !=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1