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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

精品推荐电子技术综合实验室报告Word版 可编辑16p.docx

1、精品推荐电子技术综合实验室报告Word版 可编辑16p电 子 科 技 大 学实 验 报 告一、 实验室名称: 电子技术综合实验室二、 实验项目名称:现代电子技术综合实验三、 实验学时: 40四、 实验目的与任务:1、 熟悉系统设计与实现原理2、 掌握KEIL C51的基本使用方法3、 熟悉SMART SOPC实验箱的应用4、 连接电路,编程调试,实现各部分的功能5、 完成系统软件的编写与调试五、 实验器材1、 PC机一台2、 示波器、SMART SOPC实验箱一套六、 实验原理、步骤及内容 (一)试验要求1、程序开始后:当只有第1个发光二极管亮时,同时第1个数码管显示数字1,其余显示”-”;持

2、续0.5秒之后,只有第2个发光二极管亮,同时第2个数码管显示数字2,其余显示”-” ;再过0.5秒,只有第3个发光二极管亮,同时第3个数码管显示数字3,其余显示”-” ;间隔0.5秒后,只有第8个发光二极管亮,同时第8个数码管显示数字8,其余显示”-” 。此后进入循环状态。循环过程中,按按键进入任务2。2、停止任务1中发光二极管显示,数码管的第1、2位显示学号最后二位,第4、5位显示电机转速(初始转速30)。第7、8位实现秒表功能,从5.0开始倒计时,计时到0.0后程序自动进入任务3.3、数码管的第1、2位显示电机转速,第3、4 、 5、6位显示”-”, 第7、8位显示二位电压值(0.02.4

3、V),增减调节电压值,电机转速(初始转速30)能够跟随电压增减以10倍变化量(024),进行加减速变化。按按键进入任务1。(二)实验内容1、 硬件设计PDIP40封装80C51引脚布局图 SmartSOPC相配套的基于8051单片机的Quick51核心板2、 各部分硬件原理数码管动态扫描原理: 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于

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

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

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

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

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

9、it CS = P35;sbit 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 SWT

10、V; /*函数:T1INTSVC()功能:定时器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 Spee

11、d ) PWM = 1; else PWM = 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, u

12、nsigned char c, bit dp) code unsigned char Tab = 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71 ; unsigned char t; /临时变量/防止显示位置超出范围 x &= 0x07; x = 7 - x;/分析字符c,取得对应的数码管字型数据 if ( c = - ) t = 0x40; else t = toint(c); /toint()为库函数,详见C:KeilC51HLPC51.pdf if ( t 16 ) /如果是

13、16进制字符 t = Tabt; /查表,取得数码管字型数据 else t = 0x00; /如果是其它字符则显示为空白 /检查是否显示小数点 if ( dp ) t |= 0x80; else t &= 0x7F; /送到显示缓冲区显示 DispBufx = t;/*函数:DispStr()功能:在数码管上显示字符串参数: x:显示的起始位置(07) *s:要显示的字符串(内容仅限16进制数字和减号)*/void DispStr(unsigned char x, unsigned char idata *s) unsigned char c; for (;) c = *s+; if ( c

14、= 0 ) break; DispChar(x+,c,0); /*函数:ByteToStr()功能:字节型变量c转换为十进制字符串*/void ByteToStr(unsigned char idata *s, unsigned char c) code unsigned char Tab = 10,1; unsigned char i; unsigned char t; for ( i=0; i0时,延时(t*0.01)s t=0时,延时2.56s说明: 晶振用11.0592MHz*/void Delay(unsigned int t) SWTV = t; /软件定时器赋初值 SWTR =

15、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; /返回结果(单位:转/秒;已知电机转速不会超过100)/*函数:SysInit()功能:系统初始化*/*void SysInit() TMO

16、D &= 0xF0; TMOD |= 0x01; /设置定时器T0为16位定时器 DispInit(); /数码管扫描显示初始化*/void SysInit() unsigned char i; for ( i=0; i8; i+ ) DispBufi = 0x00; /数码管初始化为全灭 Speed = 35; /设置电机初始转速 SWTR = 0; SWTF = 0; SWTV = 0; TMOD &= 0x0F; TMOD |= 0x20; /设置T1为8位定时器,自动重装 TH1 = TL1 = 0xA4; /设置T1初值,对应100s ET1 = 1; /使能T1中断 TR1 = 1

17、; /启动T1 EA = 1; /使能总中断 TMOD &= 0xF0; TMOD |= 0x05; DispInit();unsigned char ReadAdc() unsigned char d; unsigned char n; CS = 0; n = 5; while ( -n != 0 ); n = 8; do d = 1; if ( DAT ) d+; CLK = 1; CLK = 0; while ( -n != 0 ); CS = 1; return d;void main() code unsigned char w = 21; unsigned char i; unsi

18、gned char x; unsigned char k; unsigned char spd; unsigned char r3; unsigned char v; unsigned char SW; unsigned char GW; bit dp; SysInit(); dp = 0;/ TMOD &= 0xF0; / TMOD |= 0x01;for(;) for (;) temp=0x00000001; k = KeyScan(); if ( k =+ ) break; for ( i=0; i8; i+ ) P1=temp; temp=1; k = KeyScan(); if (

19、k =+ ) break; for ( x=0; x8; x+ ) DispChar(x,-,dp); k = KeyScan(); if ( k =+ ) break; DispChar(7-i,si,dp); k = KeyScan(); if ( k =+ ) break; Delay(5000); P1=(temp&0x00000000); SysInit(); for(;) for ( x=0; x=0;x-) for(i=9;i=0;i-) spd = MeasureSpeed(); SW = spd/10 ; GW = spd%10 ; DispChar(3,GW+ 0,0);

20、DispChar(4,SW+ 0,0); Delay(1000); DispChar(1,x+ 0,1); DispChar(0,i+ 0,0); if(i=0) break; DispChar(1,x+ 0,1); DispChar(0,0+ 0,0); if(x=0) break; if(x=0) break; SysInit(); for(;) spd = MeasureSpeed(); SW = spd/10 + 0; GW = spd%10 + 0; DispChar(6,GW,0); DispChar(7,SW,0); v = ReadAdc(); /读取ADC值 SW = v/100; GW = (v-100*SW)/10; DispChar(1,SW + 0,1); DispChar(0,GW + 0,0); Speed=32+v/10; k = KeyScan(); if ( k !=0 ) break;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2