1、实验(实训)报告 课程:_电子综合电路设计 _ 班级:_ 应 电 0902_ _ 姓名:_蔡 万 宝_ 学号:_2009080201_ 杭州科技职业技术学院信息工程学院 第 1 页 学生实验规则 1实验前必须做好实验预习,理解实验目的和要求,熟悉实 验步骤和操作要领,做到有准备地进行实验。 2进入实验室,必须保持安静,按指定位置坐好,不高声讲 话,不随便走动。 3实验开始前,应先检查实验用品是否齐全,仪器、设备规 格是否符合要求。 4实验时,要听从实验教师的指导,要按实验规定认真操作 ,仔细观察实验现象,如实地做好记录。发观实验现象和结果跟 课本上有出入时,要分析原因,提出自己的见解。 5实验
2、时要注意安全。特别是强电实验,必须严格遵守安全 程序操作,防止发生意外事故。 6爱护实验仪器设备,不准动用与本实验无关的其他仪器设 备。实验过程中如有仪器设备损坏,应进行登记和说明情况,根 据损坏原因和损坏情况,决定是否赔偿或部分赔偿。 7实验完毕,整理好实验用品,根据实验原始记录,认真做 好实验报告,经教师同意后才能离开实验室。 第 2 页 实践时间 实践地点项目名称 印制电路板的设计与制作 实践形式 实践要求: 注:(1)实践目的;(2 )实践所用仪器设备;(3 )实践所用器材、工具; (4)原理图(或示意图) ;(5)实践步骤(如:编程、装接、检测、原因 分析等) ;(6)问题与建议。
3、实 践 报 告 (1)实践目的 利用 Protel 绘制 Sch 和 PCB 图,通过热转印技术制作电路板。 (2)实践所用仪器设备 Prote DXP 软件 (3)原理图(或示意图) 第 3 页 (4)实践步骤 1、利用 Protel 绘制 Sch 和 PCB 图,通过热转印技术制作电路板。 2、运用实物器件做原理图器件库和 PCB 元件封装器件库 3、运用该软件输出图纸和镜像图纸,器件清单 Gerber 等资料。 实 践 小 结 1、熟练了对于 PROTEL DXP 软件的使用 2、学会了 PCB 图的更合理的排布 成 绩 评 定 第 4 页 实践时间 实践地点项目名称 可调光 LED 台
4、灯的设计 与制作 实践形式 实践要求: 注:(1)实践目的;(2 )实践所用仪器设备;(3 )实践所用器材、工具; (4)原理图(或示意图) ;(5)实践步骤(如:编程、装接、检测、原因 分析等) ;(6)问题与建议。 实 践 报 告 (1)实践目的 NE555 振荡电路,通过电位器调节脉冲宽度,不同的脉宽经过三极管后形成恒流 源提供给贴片式灯,制作可调光 LED 台灯 (2)实践所用仪器设备、工具 Prote DXP 软件、电烙铁、焊锡、镊子、剪刀、焊锡枪等。 (3)实验原理 220V 交流电经过电容限流、桥式整流、滤波稳压管稳压,即可在稳压管的两端获 得稳定的 12V 直流电。电解电容的耐
5、压选取 25V。C1 选用耐压 400V 以上的涤纶电容。 每串 LED 正向导通电流接近 25mA,所以总电流为 75mA 左右,因此,三极管选用 中功率 NPN 型三极管 8050 以确保安全。 NE555 振荡电路,通过电位器调节脉冲宽度,不同的脉宽经过三极管后形成恒流 源提供给贴片式灯 (4)原理图(或示意图) 第 5 页 (5)实践步骤 首先画原理图,然后 PCB 线路板, 打印在热转印纸上,通过过塑机进行热转印 放入三氯化铁进行腐蚀,15 分钟 腐蚀好的板子进行,打孔,清洗 器件焊接,调试 可调 led 台灯-正面 第 6 页 可调 led 台灯-反面 可调 led 台灯-调试 可
6、调 led 台灯-调试 第 7 页 (6)问题与建议 1.提供的双面板中,top 面为电位器调节等器件均要求放在 top 面。 2.Bottom 面则要求尽可能地布线。Led 灯要求置于 top 面 3.器件已经发给大家,封装需要根据产品的实际尺寸来设计 实 践 小 结 1、要根据元器件来绘制 PCB 图,不可随便封装。 2、通过过塑机进行热转印前记得把板清洗干净,更加利于 之后的腐蚀 3、放入三氯化铁进行腐蚀,腐蚀好的板子进行,打孔,这 些步骤都要注意安全 4、细心器件焊接,认真调试很重要 成 绩 评 定 第 8 页 实践时间 实践地点项目名称 60 秒倒计时数字电路的 设计实践 实践形式
7、实践要求: 注:(1)实践目的;(2 )实践所用仪器设备;(3 )实践所用器材、工具; (4)原理图(或示意图) ;(5)实践步骤(如:编程、装接、检测、原因 分析等) ;(6)问题与建议。 实 践 (1)实践目的 使用数字电路来实现 60 十秒倒计时 (2)实践所用仪器设备 Propeus 软件 (3)原理图(或示意图) 第 9 页 报 告 (5)实践步骤(如:编程、装接、检测、原因分析等) 对该电路的设计要求使用数字电路来实现。由于需要一系列连续的动作,因此, 周期性的振荡脉冲提供时必不可少的。60 秒的计时需要用数码管显示,那么,数码管 BCD 译码电路也是必须的。执行秒递减计时,则数字
8、递减计数器也不可缺少。当然,应 当考虑附件的一些功能,如重启,中断和计时为 0 时的提示。 1时基或秒脉冲产生(脉冲波形发生器,多谐振荡器) 本设计采用 555 构成的多谐振荡电路(即脉冲产生电路) ,其内部管脚图如下图 3. 通过计算可以确定参数的取值:R6=15K,R7=68K,C1=10uF,C2=10uF 因此产生的脉冲周期为:T=1.43/(R6+2R7)C2=1s 由晶体与 2 个 30pF 电容、1 个 4060、一个 10M 电阻组成,芯片 3 脚输出 2Hz 的方波信 号 第 10 页 图 1 秒脉冲产生电路 或 0.5 秒脉冲信号产生 2时间 60 秒预置,自动递减执行(十
9、进制同步加减计数器,双时钟) 设计中选用的芯片要求有: 内部有级联电 同步操作 每个触发器有单独的预置端 完全独的清输入端 考虑到应用数码管显示,因此这里采用典型的位移寄存器芯片作为设计参考。 74LS192 是双时钟方式的十进制可逆计数器,CP U为加计数时钟输入端,CP D为减计数时 钟输入端,LD 为预置输入控制端,异步预置,CR 为复位输入端,高电平有效,异步清 除,CO 为进位输出:1001 状态后负脉冲输出,BO 为借位输出:0000 状态后负脉冲输 出。 第 11 页 控制执行电路(包括清 0 和计时工作,连续或暂停模式) 第 12 页 控制电路可以考虑选用 74HC51D 或
10、74LS00 等芯片 3数码驱动及显示 该模块由两片 74LS48 译码器和共阴极七段数码管 LED 显示器组成,通过计数器的输出 加到译码器的输入,从而实现共阴极七段 LED 显示器从 60s 递减到零的计数功能。七 段数码管译码器驱动器选用 74LS48 或考虑 CD4511 第 13 页 4报警或提示 实 践 小 结 1、掌握数字系统设计的整体思路 2仔细焊接与装配会使你事半功倍 3. 学会调试与维修 成 绩 评 定 第 14 页 实践时间 实践地点项目名称 5v 电源的描述(由实物电 路板绘制出 PCB 图) 实践形式 实践要求: 注:(1)实践目的;(2 )实践所用仪器设备;(3 )
11、实践所用器材、工具; (4)原理图(或示意图) ;(5)实践步骤(如:编程、装接、检测、原因 分析等) ;(6)问题与建议。 实 践 报 告 (1)实践目的 5v 电源的描述(由实物电路板绘制出 PCB 图) (2)实践所用仪器设备 Prote DXP 软件 (3)原理图(或示意图) 第 15 页 (5)实践步骤 1、仔细观察实物电路板,利用 Prote DXP 软件绘制出 5V 电源的原理图 2、由原理图转换至 PCB 图,并仔细布图 实 践 小 结 1初步了解开关电源的特性,根据教师提供的开关电源实 物进行剖析 2绘制草图 3绘制电路图,了解其工作原理 成 绩 评 定 第 16 页 实践时
12、间 实践地点项目名称 时钟芯片(DS1302)实验与单片 机温度检测系统电路 实践形式 实践要求: 注:(1)实践目的;(2 )实践所用仪器设备;(3 )实践所用器材、工具; (4)原理图(或示意图) ;(5)实践步骤(如:编程、装接、检测、原因分 析等) ;(6)问题与建议。 实 践 报 告 时钟芯片(DS1302)实验 一、实验原理 DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字 节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日 期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采 用2
13、4 或12 小时格式DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需 用到三个口线1 RES 复位2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个 字节或多达31 个字节的字符组方式通信DS1302 工作时功耗很低保持数据和时钟信息 时功率小于1mWDS1302 是由DS1202 改进而来增加了以下的特性双电源管脚用于主电源 和备份电源供应Vcc1 为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传 真便携式仪器以及电池供电的仪器仪表等 1.DS1302 的基本组成和工作原理 DS1302 的管脚排列及描述如下图及表所示 2.管脚描述 2. DS13
14、02 内部寄存器 CH: 时钟停止位寄存器2 的第7 位12/24 小时标志 CH=0 振荡器工作允许bit7=1,12 小时模式 CH=1 振荡器停止bit7=0,24 小时模式 WP: 写保护位寄存器2 的第5 位:AM/PM 定义 第 17 页 WP=0 寄存器数据能够写入 AP=1 下午模式 WP=1 寄存器数据不能写入 AP=0 上午模式 TCS: 涓流充电选择 DS: 二极管选择位 TCS=1010 使能涓流充电 DS=01 选择一个二极管 TCS=其它 禁止涓流充电 DS=10 选择两个二极管 DS=00 或11, 即使TCS=1010, 充电功能也被禁止 时钟: RAM: 第
15、18 页 二、实验电路 三、实验任务 32.768kHz 1设计程序从 1302 读取时钟并在数码管中显示 2把编译好的程序下载到芯片中; 3观察实验结果,对本程序加以改进,实现更多地功能。 四、实验程序(见源程序) /* DS1302 测试程序 主芯片 : STC12C5A60S2 (1T) 工作频率: 12.000MHz */ #include “REG51.H“ #include “INTRINS.H“ typedef unsigned char BYTE; 第 19 页 sbit SCLK = P10; /DS1302 时钟口 P1.0 sbit IO = P11; /DS1302 数
16、据口 P1.1 sbit RST = P12; /DS1302 片选口 P1.2 /秒 分 时 日 月 星期 年 BYTE code init = 0x00, 0x00, 0x20, 0x01, 0x01, 0x05, 0x10; BYTE data now7; void DS1302_Initial(); void DS1302_SetTime(BYTE *p); void DS1302_GetTime(BYTE *p); void main() DS1302_Initial(); /初始化 DS1302 DS1302_SetTime(init); /设置初始时间 DS1302_GetTim
17、e(now); /读取当前时间 while (1); /* 延时 X 微秒(STC12C5A60S212M) 不同的工作环境,需要调整此函数 此延时函数是使用 1T 的指令周期进行计算,与传统的 12T 的 MCU 不同 */ void Delay() _nop_(); _nop_(); 第 20 页 /* 从 DS1302 读 1 字节数据 */ BYTE DS1302_ReadByte() BYTE i; BYTE dat = 0; for (i=0; i= 1; /数据右移一位 if (IO) dat |= 0x80; /读取数据 SCLK = 1; /时钟线拉高 Delay(); /延
18、时等待 return dat; /* 向 DS1302 写 1 字节数据 */ void DS1302_WriteByte(BYTE dat) char i; for (i=0; i= 1; /移出数据 IO = CY; /送出到端口 SCLK = 1; /时钟线拉高 Delay(); /延时等待 /* 读 DS1302 某地址的的数据 */ BYTE DS1302_ReadData(BYTE addr) BYTE dat; RST = 0; Delay(); SCLK = 0; Delay(); RST = 1; Delay(); DS1302_WriteByte(addr); /写地址 d
19、at = DS1302_ReadByte(); /读数据 SCLK = 1; RST = 0; return dat; /* 往 DS1302 的某个地址写入数据 第 22 页 */ void DS1302_WriteData(BYTE addr, BYTE dat) RST = 0; Delay(); SCLK = 0; Delay(); RST = 1; Delay(); DS1302_WriteByte(addr); /写地址 DS1302_WriteByte(dat); /写数据 SCLK = 1; RST = 0; /* 写入初始时间 */ void DS1302_SetTime(B
20、YTE *p) BYTE addr = 0x80; BYTE n = 7; DS1302_WriteData(0x8e, 0x00); /允许写操作 while (n-) DS1302_WriteData(addr, *p+); addr += 2; DS1302_WriteData(0x8e, 0x80); /写保护 第 23 页 /* 读取当前时间 */ void DS1302_GetTime(BYTE *p) BYTE addr = 0x81; BYTE n = 7; while (n-) *p+ = DS1302_ReadData(addr); addr += 2; /* 初始化 DS
21、1302 */ void DS1302_Initial() RST = 0; SCLK = 0; DS1302_WriteData(0x8e, 0x00); /允许写操作 DS1302_WriteData(0x80, 0x00); /时钟启动 DS1302_WriteData(0x90, 0xa6); /一个二极管4K 电阻充电 DS1302_WriteData(0x8e, 0x80); /写保护 单片机温度检测系统电路 51 单片机 AT89C52 与温度传感器芯片 DS18B20 构成测温系统。其测量的温度精度达到 0.1 度,测量的温度的范围在20 度到50 度之间,用 4 位数码管或液
22、晶显示出来。 第 24 页 硬件电路原理图 图 2 AT89S52 与 DS18B20 组成的测温系统原理图 工作原理 DS18B20 数字温度计是 DALLAS 公司生产的 1Wire,即单总线器件,具有线路简单, 体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以 挂很多这样的数字温度计。DS18B20 产品的特点 (1)、只要求一个 I/O 口即可实现通信。 (2)、在 DS18B20 中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在55。C 到125。C 之间。 (5)、数字温度计的分辨率用户可以
23、从 9 位到 12 位选择。 (6)、内部有温度上、下限告警设置。 DS18B20 详细引脚功能描述 1 GND 地信号;2 DQ 数据输入/输出引脚。开漏单总线接口 引脚。当被用着在寄生电源下,也可以向器件提供电源;3 VDD 可选择的 VDD 引脚。 当工作于寄生电源时,此引脚必须接地。 DS18B20 的使用方法。由于 DS18B20 采用的是 1Wire 总线协议方式,即在一根数据 线实现数据的双向传输,而对 AT89S51 单片机来说,我们必须采用软件的方法来模拟 单总线的协议时序来完成对 DS18B20 芯片的访问。由于 DS18B20 是在一根 I/O 线上读 第 25 页 写数
24、据,因此,对读写的数据位有着严格的时序要求。DS18B20 有严格的通信协议来 保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、 读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一 次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据 ,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在 先。 C 语言源程序: #include code unsigned char seg7code11=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x40;
25、/显示段码 void Delay(unsigned int tc) /显示延时程序 while( tc != 0 ) unsigned int i; for(i=0; i 1); return (dat); void tmwbyte (unsigned char dat) /写一个字节 unsigned char j,i; bit testb; 第 27 页 for (j=1;j 1; if (testb) TMDAT = 0; /写 0 i ; i ; TMDAT = 1; for(i=0;i8;i ); else TMDAT = 0; /写 0 for(i=0;i0x7f) /最高位为 1
26、 时温度是负 a=a; b=b 1; /补码转换,取反加一 fg=0; /读取温度为负时 fg=0 sdata = a/16 b*16; /整数部分 xiaoshu1 = (a /小数第一位 xiaoshu2 = (a/ 小数第二位 xiaoshu=xiaoshu1*10 xiaoshu2; /小数两位 void DS18B20PRO(void) tmstart(); /dmsec(5); /如果是不断地读取的话可以不延时 / tmrtemp(); /读取温度,执行完毕温度将存于 TMP 中 / void Led() if(fg=1) /温度为正时显示的数据 P2=P2 P0=seg7code
27、sdata/10; /输出十位数 Delay(8); P2=P2|0xf0; P2=P2 P0=seg7codesdata|0x80; /输出个位和小数点 Delay(8); P2=P2|0xf0; P2=P2 P0=seg7codexiaoshu1; /输出小数点后第一位 Delay(8); P2=P2|0xf0; P2=P2 P0=seg7codexiaoshu2; /输出小数点后第二位 Delay(4); P2=P2|0xf0; if(fg=0) /温度为负时显示的数据 第 29 页 P2=P2 P0=seg7code11; /负号 Delay(8); P2=P2|0xf0; P2=P2
28、 P0=seg7codesdata/10|0x80; /输出十位数 Delay(8); P2=P2|0xf0; P2=P2 P0=seg7codesdata; /输出个位和小数点 Delay(8); P2=P2|0xf0; P2=P2 P0=seg7codexiaoshu1; /输出小数点后第一位 Delay(4); P2=P2|0xf0; main() fg=1; while(1) DS18B20PRO(); Led(); 实 践 小 结 1、了解了时钟芯片(DS1302)及温度传感器芯片 (DS18B20)的原理及如何使用 2、编程是细致的工作,马虎不得 成 绩 评 定 第 30 页 第
29、31 页 实践时间 实践地点项目名称 液晶显示万年历数字钟 (带时间和温度显示) 实践形式 实践要求: 注:(1)实践目的;(2 )实践所用仪器设备;(3 )实践所用器材、工具; (4)原理图(或示意图) ;(5)实践步骤(如:编程、装接、检测、原因 分析等) ;(6)问题与建议。 实 践 报 告 (1)实践目的 利 用 单 片 机 设 计 一 个 时 钟 设 置 和 显 示 系 统 , 同 时 , 可 对 环 境 温 度 进 行 检 测 并 显 示 系 统 (2)实践所用仪器设备 下载工具选用:STC-ISP 编程工具选用:Keil 仿真工具选用:Proteus Protel DXP 软件、
30、电烙铁、焊锡、镊子、剪刀、焊锡枪等。 (3)原理图(或示意图) 1.单片机选择 第 32 页 2.串口电路 3 电源电路 4.报警电路 第 33 页 5.存储电路 6.数字温度传感器电路 7.数码管显示电路 第 34 页 8.键盘扫描或指示电路 9.时钟电路 第 35 页 10.液晶显示 1602 和 12864 电路 (4)软件 设计与调试 (5)实践步骤 步骤一 电子系统综合设计需求分析及指标 产品设计常用流程: 第 36 页 步骤二 系统结构、软硬件及工业设计 产品结构:单片机+显示+ 按键+ 温度传感器+时钟信号产生 产品外形设计:12864 显示,4 个按键,一套报警和 led 指示
31、,电源接入等 产品功能设计:键的定义等(按照需求) 电源接入方式设计:5VDC;产品需要电源适配器(220VAC 转成 5VDC) 电路板设计:已经设计好的板,配件焊接和调试(或使用多功能板) 下载工具选用:STC-ISP 编程工具选用:Keil 仿真工具选用:Proteus 步骤三 系统硬件的设计与制作 参考(3)原理图 步骤四 系统及单元软件设计与调试 参考(4)软件程序 步骤五 系统综合调式 单片机应用系统的硬件调试和软件调试是分不开的许多硬件故障只有通过软、硬件 联调才能发现,但一般是先排除系统中比较明显的硬件故障后才和软件一起联调。 一、系统的设计维修与调试原则: 系统知识获取,尽可
32、能准备好各个器件的数据手册,相关理论和知识的理解与掌握 硬件设计的时候也要求尽量有参考或自己已经验证或熟悉的模块和电路。 软件要求尽量使用自己积累的成熟的模块、程序或已经验证的模块、程序。 制定调试计划,步步为营,分块调试。 二、硬件调试方法 1常见的硬件故障 (1)逻辑错误 样机硬件的逻辑错误是由于设计错误和加工过程中的工艺错误而造成的,包括错线、 开路、短路、相位错误、时序错误等,其中最常见的是短路故障。 (2)元器件错误 元器件错误的原因有器件损坏或性能不符合要求,电解电容、二极管的极性接反或 集成块装反等。 (3)可靠性差 应用系统可靠性差的原因很多,如金属化孔、接插件接触不良、内部和
33、外部的干扰、 电压纹波系数过大、器件负载过重等均会造成系统的可靠性差。另外,走线和布置 的不合理也会造成系统可靠性差。 (4)电源故障 电源故障包括:电压值不符合设计要求、电源功率不足、负载能力差、纹波太重 等。 2硬件调试力法 (1)脱机调试 第 37 页 脱机调试是在加电前,先用万用表等工具,按图纸仔细核对样机线路是否正确,并对元 器件的安装、型号、规格等进行仔细检查,特别注意印制板加工和焊接时有无走线 之间相互短路等。 (2)联机调试 联 机前先切断电源,把仿真插头插到样机的单片机插座上,检查一下开发机与样机 之间的电源、接地是否良好。一切正常后,即可打开电源。通电后执行开发机读 写 指
34、令,对用者样机的存储器 IO 口进行读写操作,进行逻辑检查。若有故障,可 用示波器观察有关点的波形,寻找和分析故障原因,并进一步排除故障。 在用者系统的样机(主机部分 )调试好后,便可按入用者系统的其它外围部件 ,如键盘、 显示器等,再进一步进行调试。 三、软件调试方法: 1) 软件调试与所选用的软件结构有关,如果采用模块程序设计技术,则逐个模块调好 后再进行系统程序总调。如果采用实时多任务操作系统,一般是逐个任务进行调试。 2) 对于模块结构程序要一个个子程序分别调试。调试时,一定要符合入口条件和 出口条件,调试可用单步运行和断点运行方式,通过检查用者系统的 CPU 现场情况、 RAM 的内
35、容和 IO 口的状态,检测程序执行结果是否符合设计要求,有无循环错误、 有无机器码错误以及转移地址的错误,同时,还可以发现用者系统中存在的 硬件设计 错误和软件算法错误。 3) 各程序模块通过后,则可以把相关功能块连在一起进行总调。这个阶段若有故障, 可以考虑各子程序运行时是 否破坏了现场,缓冲单元、工作寄存器是否发生冲突,标 志位的建立和清除是否有误,堆栈区是否有溢出,输入设备的状态是否正常等等,若用者 系统是在开发机的 监控程序下运行时,还要考虑用者缓冲单元是否和监控程序的工作 单元发生冲突。 4) 单步和断点调试后,还应进行连续调试,用以确定定时精度、CPU 的实时响应等问 题。 5)
36、对于实时多任务操作系统的调试方法和模块结构的调试方法类似,只是需逐个任 务进行调试,在调试某一个任务时,同时也调试相关的子程序、中断服务程序。逐个任 务调试好后,再使各个任务同时运行。 6) 当全部调试和修改完成后,将用者程序固化到 EPROM 中,插入用者样机后,用者系 统即能独立工作,至此,单片机应用系统研制完成。 步骤六 系统功能验证及指标 A. 功能指标: 1 可有 3 个设定时间的闹钟 2 可显示万年历,时间,温度等信息 3 可有声光报警或提醒 4 可有按键设置参数或设置功能 B. 性能指标: 1时钟走时精度范围在每天小于 1S 2测量温度精度误差在0.1C 3闭环控制温度误差在3C 第 38 页 实 践 小 结 成 绩 评 定 第 39 页