基于AT89C51单片机实验开发板系统设计论文_第1页
基于AT89C51单片机实验开发板系统设计论文_第2页
基于AT89C51单片机实验开发板系统设计论文_第3页
基于AT89C51单片机实验开发板系统设计论文_第4页
基于AT89C51单片机实验开发板系统设计论文_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. . . . 毕业设计报告(论文)报告(论文)题目: 基于 AT89C51 单片机实验开 发板系统设计 . . . . 摘摘 要要 51 单片机的运行速度快,工作电压低,功耗低,抗干扰能力强,被广泛应用于办公自动化设备,消费电子产品,电讯通信,智能仪器仪表,汽车电子,金融电子,工业控制等不同领域,特别是近几年应用更加广泛,各公司兼采用此芯片开发应用类产品。而目前市场上的学习套件一般功能不全,配套的软件系统都是汇编语言,还没有一个比较完善的 51 开发板供学习和研究。鉴于此,本设计设计了一个可供学习与开发系统于一体的 51 单片机的综合开发系统。基于 51 单片机的综合开发系统,目前国外的产品

2、,主要是 51 厂家配套提供的学习开发系统,价格偏高,技术也基本处于状态,深层次学习和利用比较困难,特别是全球领先的单片机和模拟半导体供应商不断向高端推出他的一系列新产品,为汽车、工业产品、家电和消费类应用提供更高的能效、更低的噪音和更广泛的使用围,这些技术已相对成熟。国正处于发展阶段,大多数人学习的主要对象还都是 MCU-51 系列单片机,51 单片机开发系统相对较少,也只是与汇编语言配套,要达到普与和提高开发应用速度,必须采用 C 语言,而 C 语言配套程序又非常少并不完善,不适合学生与大众人群学习和利用。综观目前国外的 51 单片机的综合开发系统系统,主要表现在开发高端产品,其应用类也向

3、高端电子产品发展,为复杂的电机控制应用提供极精确且高能效的完整解决方案。不断扩充适用于汽车(稳定性控制、车气候控制、燃料泵和油泵、电动方向盘和节流阀控制) ;家电(洗碗机、冰箱、洗衣机和排风扇) ;工业产品(工业机器人、材料处理、暖通空调和贩卖机) ,以与消费类产品(冲浪浴缸、烤箱/烤架、浴室风扇)等。关键词关键词51单片机 单片机开发板 高性能 学习开发系统目 录第 1 章 绪 论 51.1 单片机的发展现状 5. . . . 3 / 291.2 实验开发板的现状与发展与使用对象 61.3 AT89C51 在实验板中的应用 61.4 课题的背景与意义 7第 2 章 开发板的总体设计 82.1

4、 开发板系统功能 82.2 开发板的性能要求 82.3 硬件总体设计 8第 3 章 开发板的模块电路设计 103.1 AT89C51 单片机 103.2 单片机外围电路 113.3 独立键盘电路 133.410 位 AD 转换电路 133.5 电源电路 143.6 液晶显示电路 15第 4 章 电路 PCB 的制作 164.1 电路原理图设计 164.2 PCB 电路板元件布局与走线设计 164.3 PCB 板整体设计 174.4 PCB 板具体参数设置的依据 18第 5 章 结 论 19致 20附 录 221 按键控制 LED 程序 222LCD 显示电路 24基于 AT89C51 单片机实

5、验开发板系统设计. . . . 4 / 29第 1 章 绪 论1.1 单片机的发展现状单片机属于第四代微型计算机的一个重要分支。单片机是把中央处理器CPU(Central Processing Unit) ,随机存取存储器 RAM(Random Access Memrty) ,只读存储器 ROM(Read Only Memory),定时器/计数器以与 I/O 接口电路等主要计算部件集成在一块集成电路芯片上的微型计算机。单片机的应用导致了控制领域的一场革命,是微控制技术逐步取代传统的硬件控制。近十几年来,单片机在生产过程控制、自动检测、数据采集与处理、科技计算、商业管理和办公室自动化等方面获得了

6、广泛的应用。单片机具有体积小、重量轻、耗能省、价格低、可靠性高和通用灵活等优点,因此也广泛应用于卫星定向、汽车火花控制、交通自动管理和微波炉等专用控制上1。近几年来,单片机的发展更为迅速,己经渗透到诸多学科的领域,以与人们生活的各个方面。在嵌入式系统低端的单片机领域,从 8 位单片机诞生至今,已近 30 年,在百花齐放的单片机家族中,80C51 系列一直扮演着一个独特的角色。Silabs 推出 C8051F 更令业界人士刮目相看。回顾历史,在 Intel 公司推出了 MCS-51 不久便实施了最彻底的技术开放政策,在众多电器商、半导体商的积极参与下,将 MCS-51 发展成了众多型号系列的 8

7、0C51 MCU 家族。MCS-51 经典的体系结构、极好的兼容性和 Intel 公司的开放政策不仅使众多厂家参与发展,也诱使半导体厂家对 MCS-51 实行为所欲为的改造。由于MCS-51 提供的最佳兼容性,使 MCS-51 在被肢解式改造后,还能以不变的指令系统、基本单元的兼容性保持着 8051 核的生命延续,并在未来 SoC 发展中,担任 8 位 CPU 核的重任。回顾 80C51 系列从 MCS-51、80C51 到 C8051F 的过程2,我们可以深刻领会到单片机发展的一些规律性东西。早期单片机都是用 1 个时钟控制片所有时序3。进入 CMOS 时代后,由于低功耗设计的要求,出现了在

8、一个主时钟下 CPU 运行速度可选择在不同的时钟频率下操作;或设置成高、低两个主时钟,按系统操作要求选择合适的时钟速度,或关闭时钟。而Silabs 公司的 C8051F 则提供了一个完整而先进的时钟系统,在这个系统中,片设置有一个可编程的时钟振荡器(无需外部器件) ,可提供 2、4、8 和 16 MHz 时钟的编程设定4。外部振荡器可选择 4 种方式。当程序运行时,可实现外时钟的动态切换。编程选择的时钟输出 CYSCLK 除供片使用外,还可从随意选择的 I/O 端口输出。. . . . 5 / 291.2 实验开发板的现状与发展与使用对象51 单片机技术自发展以来已走过了近 20 年的发展路程

9、 。单片机技术的发展以微处理器(MPU)技术与超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。小到遥电子玩具,大到航空航天技术等电子行业都有单片机应用的影子。针对 51 单片机技术在电子行业自动化方面的重要应用,为满足广大学生、爱好者、产品开发者迅速学会掌握单片机这门技术,于是产生 51 单片机开发板。实践表时,8 位的单片机仍然占据着市场百分之八十的份量。单片机开发板是适合目前想要学习单片机技术的人士,这些人士大致可以分成三类:一类是在校的电子专业学生,为了完成一些科技项目或者是把学校学到的知识转化成实际的电子作品,为以后的技术开发与工作求职创造更

10、好的条件,这类学生需要的就是实践经验了。一类是业余的电子爱好者,想通过自学单片机来提高自己的电子技术水平,以后能够运用到自己熟悉的领域中有所作为,这类学员的动手能力一般比较好,但是理论知识一般欠缺一些。最后一类人就是有一定的理论和较少的开发经验者。这类时需要丰富自己的开发经验,并与现实生活中实际用例相接合。1.3 AT89C51 在实验板中的应用AT89C51 是美国 Ateml 公司生产的低电压,高性能 CMOS 8 位单片机,片含 4KB 的可反 复擦写的 Flash 只读程序存储器和 128b 的随机存取数据存储器(RAM) ,器件采用 Ateml 公司的高密度,非易失性存储技术生产,兼

11、容标准 MCS51 指令系统,片置通用中央处 理器(CPU)和 Flash 存储单元,功能强大 AT89C51 单片机可为您提供许多高性价比的应用 场合,可灵活应用于各种控制领域。 AT89C51 在此整个实验板系统中处于核心地位。硬件电路板设计中,几乎其它所有的元器 件的选取都要依据 AT89C51 的性能参数来决定。 例如电源电路中基于 AT89C51 的工作电压 为+5V 所以稳压芯片选择 7805 系列。 在软件设计中,AT89C51 接收并处理键盘输入的信号,将其发送给显示器件,实现液晶显 示功能,或发送给 PC 机 实现串行通信功能。另一方面,它也接收上位机发送的数据,处 理后传送

12、给显示器件 。. . . . 6 / 291.4 课题的背景与意义MCS-51 单片机的运行速度快,工作电压低,功耗低,抗干扰能力强,被广泛应用于办公自动化设备,消费电子产品,电讯通信,智能仪器仪表,汽车电子,金融电子,工业控制等不同领域,特别是近几年应用更加广泛,各公司兼采用此芯片开发应用类产品。而目前市场上的学习套件一般功能不全,配套的软件系统都是汇编语言,还没有一个比较完善的 51 开发板供学习和研究。鉴于此,本设计设计了一个可供学习与开发系统于一体的 51 单片机的综合开发系统。第 2 章 开发板的总体设计2.1 开发板系统功能单片机开发板是一个实际应用的系统,能够为相关的单片机实验提

13、供支持。此开发板是参考单片机教材中的实验容设计的,能够实现一些测试实验。本论文包括硬件系统的详细设计与 C 语言程序流程图的制作。此开发板设计的功能如下:(1)10 位 AD 转换。(2)铁电存储器读写(SMBUS) 。(3)16 位 PWM 输出。(4)四位独立键盘。(5)SPI 接口驱动 1602ALCD。2.2 开发板的性能要求基于开发板的功能定义和各种芯片的性能参数,总结系统基本性能要求如下:(1)各芯片所需的+3.3V 平稳电压。(2)AT89C51 单片机时钟信号为 11.0592MHz。(3)AT89C51 单片机手动复位电路。(4)显示器件(1602、12864) 。(5)4

14、位独立键盘。(6)AD、DA 转换。(7)与 PC 机串行通信。. . . . 7 / 29(8)I/O 口扩展功能。2.3 硬件总体设计本人设计的单片机开发板是以 AT89C51 作为主控制芯片,串口通信芯片 MAX3232、网络芯片 CP2200、液晶显示器、按键开关、AD/DA 转换等元器件组成,通过软硬件结合实现键盘扫描,液晶显示,与 PC 机串行通信,I/O 口扩展功能等。一方面,它能作为学生实验的工具,另一方面,它也是综合型单片机系统设计的基础,可扩展许多其它功能。外围电路是 AT89C51 工作的基础保障电源电路提供稳定的+3.3V 工作电压,时钟电路用于产生单片机工作所需的时钟

15、信号,复位电路使单片机实现初始化状态复位。键盘电路用于向系统输入运行参数,控制系统的运行状态。通过键盘扫描等程序设计把键盘输入的数据在液晶显示器上显示或把数据发送到 PC 机实现串行通信。LCD 电路用来显示键盘输入的数据,PC 机发送到 AT89C51 的数据,其功能也是靠硬件电路的设计和软件程序的结合来实现的。串行通信电路主要是为了单片机与 PC 机之间数据传送而设计的,AD 转换电路是把数字信号和模拟信号相互转换并输入、输出的电路。SMBus I/O 接口是一个双线的双向串行总线5。SMBus 提供了 SDA(串行数据)控制、SCL(串行时钟)产生和同步、仲裁逻辑以与起始/停止的控制和产

16、生电路。UART 通讯电路与上位机实现数据传送串行通信电路的功能。C8051F340 中的串行接口能方便地与其它计算机或串行传送信息的外围设备实现双机,多机通信,此开发板中采用电平转换芯片 MAX232 与 9 芯 D 插座连接方式。AT89C51 器件集成了一个完整的全速/低速 USB功能控制器,用于实现 USB 外部设备(AT89C51 不能被用作 USB 主设备) 。AT89C51 中的捕捉/比较模块有六种工作方式:边沿触发捕捉、软件定时器、高速输出、频率输出、8 位 PWM 和 16 位 PWM,每个捕捉/比较模块的工作方式都可以被独立配置,此开发板采用 16 位 PWM 输出方式。以

17、太网控制器具有 8 位并行主机接口,可以为绝大多数微控制器或主处理器提供以太网通信功能。第 3 章 开发板的模块电路设计设计3.1 AT89C51 单片机AT89C51 是一种带 4K 字节 FLASH 存储器的低电压、高性能 CMOS 的 8 位微处理器,. . . . 8 / 29俗称单片机。AT89C51 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位CPU 和闪烁存储器组合在单个芯片中,ATMEL

18、的 AT89C51 是一种高效微控制器。AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。引脚排列所示图 3-1 所示。图 3-1 单片机引脚图由于电路原理中只用到单片机的 p0、p1、p2 口,所示下面对这三个端口进行详细介绍。P0 口:P00P07 统称为 P0 口,在不接片外存储器与不扩展 I/O 接口时,作为准双向输入/输出接口。在接有片外存储器或扩展 I/O 接口时,P0 口分时复用为低 8 位地址总线和双向数据总线。P0 口是一个三态双向口,由一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成。在输入数据时,应人为地先向 P0 口写“1” ,定义

19、为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P10P17 统称为 P1 口,可作为准双向 I/O 接口使用。P1 口是一个部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4LSTTL 门电流。P1 口管脚写入“1”后,被部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。. . . . 9 / 29P2 口:P20 P27 口统称为 P2 口,一般可以作为准双向 I/O 接

20、口使用,在接有片外存储器或扩展 I/O 接口且寻址围超过 256 字节时,P2 口用作高 8 位地址总线。P2 口为一个部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当P2 口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的容。P2 口在 FLASH 编程和校验时接收高八位地

21、址信号和控制信号。3.2 单片机外围电路1时钟电路 时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。 单片机本身就如同一个复杂的同步时序电路, 为了保证同步工作方式的实现, 电路应在唯一的时钟信号控制下严格地按时序进行工作。 在本次设计中,时钟电路设计就是采用部方式,即利用芯片部的振荡电路。AT89C51 单片机部有一个用于构成振荡器的高增益反相放大器。引脚 XTAL1 和 XTAL2 是高增益反相放大器的输入端和输出端。这个高增益反相放大器将与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体振荡器以与电容 C1 和 C2 构成并联谐振电路,接在放大

22、器的反馈回路中,对外接电容的值虽然没有严格的要求,但是电容的大小会影响起振的快速和温度的稳定性、振荡器的稳定性、振荡器频率的高低。因此,此系统电路的晶体振荡器的值为 12MHz,电容应尽可能的选择瓷电容,电容值约为 22uF。在焊接刷电路板时,我们应注意晶体振荡器和电容尽可能安装的与单片机芯片靠近些,用以减少寄生电容,为了更好地保证振荡器可靠地工作和稳定行,其电路图如图 3-2 所示。图 3-2 时钟电路用晶振和电容构成谐振电路。电容 C1 、C2 容量在 1540pF 之间,大小与晶振. . . . 10 / 29频率和工作 电压有关。但电容的大小影响振荡器的稳定性和起振的快速性,为了提高精

23、度,本实验板采 用 30pF 的电容作为微调电容。在设计电路板时,晶振、电容等均应尽可能靠近芯片,以减 小分布电容,保证振荡器振荡的稳定性。2复位电路 复位是单片机的初始化操作,其主要功能是使单片机从 0000H 单元开始执行程序。除了进 入系统的正常初始化以外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱 困境也需按复位键以重新启动。AT89C51 芯片部有复位电路,RST 引脚是复位信号的输 入端高电平有效,复位方式有自动复位和手动复位两种。 计算机在启动运行时都需要复位,复位时使中央处理器 CPU 和部其他部件处于一个确定的初始状态,从这个状态开始工作。AT89C51 单片机

24、有一个复位引脚 RST,高电平有效。在时钟电路工作以后,当外部电路使得 RST 端出现两个机器周期(24 个时钟周期)以上的高电平,系统部复位。复位有两种方式:上电复位和按钮复位。在此次的设计中,我采用按键复位,其电路图如图 3-3 所示。图 3-3 复位电路只要 RST 保持高电平,AT89C51 单片机将循环复位。复位期间,ALE、PSEN 输出高电平。RST 从高电平变为低电平后,PC 指针变为 0000H,使单片机从程序存储器地址为0000H 的单元开始执行程序。复位后,容各寄存器的初始容如表 4-1 所示,当单片机执行程序出错或进入死循环时,可按复位按钮重新启动。3.3 独立键盘电路

25、键盘是人与 AT89C51 单片机联系的重要手段,用于向 CPU 输入运行参数,控制系统的运行状态。由四个独立按键来控制两个发光二极管的亮灭,四位独立按键的操作输入单片机,通过编程实现对 LED 的控制电路图如下图 3-4 示。图 3-4 独立按键电路3.410 位 AD 转换电路AT89C51 部有一个 10 位 SARADC 和一个差分输入多路选择器。该 ADC 工作在. . . . 11 / 29200ksps 的最大采样速率时可提供真正 10 位的线性度,INL 为1LSB。ADC 系统包含一个可编程的模拟多路选择器,用于选择 ADC 的正输入和负输入。端口 I/O 引脚中的 20个(

26、48 脚封装)或 21 个(32 脚封装)引脚可用作 ADC 的输入,另外,片温度传感器的输出和电源电压(VDD)也可以作为 ADC 的输入。用户固件可以将 ADC 置于关断状态以节省功耗。A/D 转换可以有 6 种启动方式:软件命令、定时器 0 溢出、定时器 1 溢出、定时器2 溢出、定时器 3 溢出或外部转换启动信号。这种灵活性允许用软件事件、周期性信号(定时器溢出)或外部硬件信号触发转换。一个状态位用于指示转换完成,或产生中断(如果被允许) 。转换结束后 10 位结果数据字被锁存到 ADC 数据寄存器中。窗口比较寄存器可被配置为当 ADC 数据位于一个规定的围之或之外时向控制器申请中断。

27、ADC可以用后台方式连续监视一个关键电压,当转换数据位于规定的围之/外时才向控制器申请中断。模拟多路选择器(AMUX0)选择去 ADC 的正输入和负输入,端口引脚、片温度传感器输出和正电源(VDD)中的任何一个都可以被选择为正输入,端口引脚、VREF 和 GND中的任何一个都可以被选择为负输入。当 GND 被选择为负输入时,ADC0 工作在单端方式,在所有其它时间,ADC0 工作在差分方式。转换码的格式在单端方式和差分方式下是不同的。每次转换结束后,寄存器 ADC0H和 ADC0L 中保存 ADC 转换结果的高字节和低字节。转换数据在寄存器对 ADC0H:ADC0L中的存储方式可以是左对齐或右

28、对齐,由 AD0LJST 位(ADC0CN.0)的设置决定。当工作在单端方式时,转化码为 10 位无符号整数,所测量的输入围为0VREF1023/1024。ADC0H 和 ADC0L 寄存器中未使用的位被设置为0 。10 位 AD 转换电路如下图 3-5 所示。图 3-5 10 位 AD 转换电路3.5 电源电路电源(Vcc)是整个开发板正常工作的动力源泉。电源电压过大会大大缩短芯片的工作寿命,严重的会烧毁芯片与其它元器件;过小将不能驱动实验板工作电路。因此设定合适的电源电压值非常重要。此开发板主要芯片工作电压均+3.3V 左右,开发板的电源电路如图 3-6 所示。. . . . 12 / 2

29、910uFC6321P1POWERC1104Vi3GND1Vo2U21117S10uFC7LED11kR1+5VGND213S12.0R32.0R2C3104GNDVDDC5104GNDAVDDGND1uFC21uFC4图 3-6 电源电路3.6 液晶显示电路显示器件是开发板中普遍使用的输出器件,较常用的是 LED 数码管和 LCD 液晶显示器9。前者仅能显示数据输出,而后者能显示更多,更复杂的字符,如汉字,甚至是图形等。此开发板采用 1602 液晶显示器作为输出显示器件。1602 液晶引脚特性:该液晶显示器以其微功耗、体积小、显示容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的

30、应用。根据显示容可以分为字符型液晶,图形液晶。根据显示容量又可以分为单行 16 字,2 行 16 字,两行 20 字等等。这里介绍常用的字 16 字 X2 行的字符型液晶模块的使用方法。这是一种通用模块。与数码管相比该模块有如下优点:(1)位数多,可显示 32 位,32 个数码管体积相当庞大了。(2)显示容丰富,可显示所有数字和大、小写字母。(3)程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而 1602 自动完成此功能。 开发板液晶显示电路如图 3-7 所示。. . . . 13 / 29QB1QC2QD3QE4QF5QG6QH7GND8SOH9SCLR10SCK11RCK12O

31、E13S114OA15VCC16U174HC595P16LCDCSSPIMOSILCDR/WLCDRSLCDELCDDB4LCDDB5LCDDB6LCDDB7GND1VDD2Vo3RS4R/W5E6DB07DB18DB29DB310DB411DB512DB613DB714LED+15LED-16LCD21620AGNDDCD0DCD1DCD2DCD3GNDLCDRSLCDEVoLCDR/WLCDDB4LCDDB5LCDDB6LCDDB7VDDVDDVDD图 3-7 液晶显示电路第 4 章 电路电路 PCBPCB 的制作的制作在任何开关电源设计中,PCB 板的物理设计都是最后一个环节,如果设计方

32、法不当,PCB 可能会辐射过多的电磁干扰,造成电源工作不稳定,以下针对各个步骤中所需注意的事项进行分析。4.1 电路原理图设计电路原理图设计本着连线简洁各功能模块清晰的设计思路设计。因为后期要设计PCB 电路板,因此要为每一个元件选择和设计合适的封装,必要的时候要添加自己特有元件的封装库。4.2 PCB 电路板元件布局与走线设计在硬件设计完成之后可以说最关键的应该是 PCB 板的设计,因为理论的东西无论讲解的多详细,指导的多全面,也不与实物摆放出来更具说服力。要完成从理论到实际的升华就要设计 PCB 印制版图。PCB 设计注意事项:由于开关稳压电源工作在高频开关状态,而且高频变压器初级侧有高达

33、 300V 的直. . . . 14 / 29流电压,在功率开关管的集电极甚至有 700V 的瞬间高电压,因此在设计 PCB 板时要考虑电磁干扰问题和安全问题,主要应该注意 PCB 引线尽量短,功率输出部分引线尽量宽,甚至要加焊锡条,高压元件应该有足够的间距保证安全,在这套电路中既有模拟电路又有数字电路,这两部分电路地线要分开连接,最后再接到一起,防止出现共地干扰。对于数字电路来说,时钟晶振应该尽量靠近单片机时钟脉冲输入引脚,防止引入干扰。最后就是要注意各个模块电路元件尽量集中,在放置元件时应遵守先放置单元电路中的主要元件,一般是集成电路或体积较大,对整体电路影响较大的元件,然后根据小单元电路

34、放置外围元件,以保证对其它电路影响尽量小,引线尽量短的原则。在进行 PCB 板设计之前还要检查一下每个元件是否都有封装,封装是否正确,是否符合要求,对于没有封装的元件和封装不符合要求的元件要重新绘制封装,直到所有元件封装都正确为止。4.3 PCB 板整体设计(1)从原理图到 PCB 的设计流程:建立组件参数输入原理网表设计参数设置手动布局手动布线检查错误输出。(2)参数设置相邻导线间距必须能满足电气安全要求,而且为了便于操作和生产,间距也应尽量宽些。最小间距至少要能适合承受的电压,在布线密度较低时,信号线的间距可适当地加大,对高、低电平悬殊的信号线应尽可能地短且加大间距,一般情况下将走线间距设

35、为 8mil。焊盘孔边缘到印制板边的距离要大于 1mm,这样可以避免加工时导致焊盘缺损。当与焊盘连接的走线较细时,要将焊盘与走线之间的连接设计成水滴状,这样的好处是焊盘不容易起皮,而且走线与焊盘不易断开。(3)元器件布局实践证明,即使电路原理图设计正确,印制电路板设计不当,也会对电子设备的可靠性产生不利影响。例如,如果印制板两条细并行线靠得很近,则会形成信号波形的延迟,在传输线的终端形成反射噪声;由于电源、地线的考虑不周到而引起的干扰,会使产品的性能下降,因此,在设计印制电路板的时候,应注意采用正确的方法。(4)设计布线图时走线尽量少拐弯,印刷弧上的线宽不要突变,导线拐角应90 度,力求线条简

36、单明了。印刷电路中不允许有交叉电路,对于可能交叉的线条,可以用“钻” 、“绕”两种办法解决。即让某引线从别的电阻、电容、三极管脚下的空隙处“钻”过去,或从可能交叉的某条引线的一端“绕”过去,在特殊情况下如果电路很复杂,为简化设计也允许用导线跨接,解决交叉电路问题。因采用单面板,直插组件位于 top面,表贴器件位于 bottom 面,所以在布局的时候直插器件可与表贴器件交迭,但要避. . . . 15 / 29免焊盘重迭。(5)检查布线设计完成后,需认真检查布线设计是否符合开始所制定的规则,同时也需确认所制定的规则是否符合印制板生产工艺的需求,一般检查线与线、线与组件焊盘、线与贯通孔、组件焊盘与

37、贯通孔、贯通孔与贯通孔之间的距离是否合理,是否满足生产要求。 电源线和地线的宽度是否合适,在 PCB 中是否还有能让地线加宽的地方。 注意:有些错误可以忽略,例如有些接插件的 Outline 的一部分放在了板框外,检查间距时会出错;另外每次修改过走线和过孔之后,都要重新覆铜一次。(6)复查根据“PCB 检查表” ,容包括设计规则,层定义、线宽、间距、焊盘、过孔设置,还要重点复查器件布局的合理性,电源、地线网络的走线,高速时钟网络的走线与屏蔽,去耦电容的摆放和连接等。(7)封闭的物理边框对以后的元件布局、走线来说是个基本平台,也对自动布局起着约束作用,否则,从原理图过来的元件会不知所措的。但这里

38、一定要注意精确,否则以后出现安装问题麻烦可就大了。还有就是拐角地方最好用圆弧,一方面可以避免尖角划伤工人,同时又可以减轻应力作用。4.4 PCB 板具体参数设置的依据(1)模拟地线宽度较宽,因其通过电流较大,同时减小干扰(2)线间距设置较大,主要考虑到设计好的 PCB 板要手工腐蚀和打孔,精度没有交给 PCB 厂家做的高,防止腐蚀不好造成短路,线宽也较宽,主要防止腐蚀过程造成断线,而且线间距宽一些也可防止干扰的产生。(3)设计为单层板,限于实际条件的限制,只有单面覆铜箔 PCB 电路板。因此设计时只采用底层走线,但是由于元件与元件之间有空隙,可在顶层走一些跳线,这样可减小底层布线难度。(4)布

39、线拐角设置成 45 度,主要是为了防止过度腐蚀或腐蚀不够情况出现,还有防止铜箔剥落。(5)过孔和焊盘都比默认值大,主要是考虑到焊盘过小在手工制作 PCB 电路板打孔时容易损坏焊盘,造成 PCB 板报废。还有个别的元件本身引脚就比较粗,例如功率开关变压器二次侧整流二极管 HER307 其引脚直径达到了 1.5mm。第 5 章 结结 论论通过本次基于单片机的实验开发板系统的课程设计,在这过程中,我学到了很多,. . . . 16 / 29加深了对单片部模块的理解,进一步学习了汇编语言的编写规则。从设计开始到最终完成设计,一点一滴积累,在实践中成长,在挫折中前进。在设计的前期,我系统的学习了 51

40、单片机的相关资料,掌握了单片机外部电路的合理设计以与各个引脚的功能。系统的进行了开发板的需求分析,合理的设计出了电路原理框图,根据原理框图设计出电路原理图,针对使用的单片机引脚,对单片机使用汇编语言编程。这一步一步的不断努力,让我学到了很多在书本上学不到的东西,尤其是在处理故障和电路兼容方面的考虑,都使我受益颇多。在这里课程设计中,我深深感受到实践的重要性,它是检验我们所学知识的有效途径。没有付出,就没有回报。在这过程中也遇到过一些难题,经过自身的努力以与向老师和同学请教,我学到很多,也解决了很多问题。最后,我深刻感受到要做好一个课程设计,就必须做到:在设计程序之前,对所需资料的综合整理,有效

41、的挑选资料;要明确目标,整理思路;合理设计出系统所必须的流程图,做好充分的心里准备。这次设计是对我所学单片机一书的综合考验,使我能查漏补缺,复习课本知识,加深理解记忆,所以每一步我都用心去做。致 这篇设计报告论文是在我的导师志通老师的精心指导和悉心关怀下才得以顺利完成的。从刚开始得到毕业设计的题目到最后的结束过程中,我所遇到的每一个困难都是在导师的帮助下才顺利解决的,我所取得的每一个进步、编写的每一段程序以与调试的过程都无不倾注着导师的辛勤的汗水和心血。导师严谨的治学态度、认真的指导、热情地帮助、渊博的专业知识和无私地奉献精神都是我深受启迪,我从尊敬的导师身上不仅学到了扎实而宽广的专业知识,还

42、学到了最重要的做人的道理。这将是我在今后的学习、生活和工作中都将铭记恩师对我的教诲和鼓励,我会尽自己最大的努力取得更加优异的成绩来回报恩师。在此我要向志通老师致以最衷心的感和深深地敬意!在大学的三年时间,辛勤教导我们的各位老师对我的学习、实践动手能力,专业技能,思维逻辑以与生活工作都给予了热情的关心和帮助,使我的综合水平得到了很大的提高,获得的成绩十分的满意,有种很大的成就感。 在此,我向这期间所有关心和帮助我的老师和同学以与朋友们表示由衷的感! 我衷心感在百忙之中评阅论文和参加毕业答辩的各位老师们,你们!参考文献参考文献. . . . 17 / 291 广弟,朱月秀,王秀山.单片机基础M.

43、:航空航天大学,20012 科技, 靳达.单片机应用系统开发实例导航M. :人民邮电,20033 何立民.MCS-51 系列单片机应用系统设计系统配置与接口技术M.:航空航天大学,19994 胡汉才.单片机原理与其接口技术(第 2 版)M.:清华大学,20045 红卫. 基于单片机的智能系统设计与实现M.:电子工业,2005.16 黄继昌.检测专用集成电路与其应用M.: 人民邮电,20067 克彦.AVR 单片机实用程序设计M.: 航空航天大学,2004.28 耿德根.AVR 嵌入式单片机原理与应用M.: 航空航天大学,2002.109 林志奇,郎建军,会杰.基于 Proteus 的单片机可视

44、化软硬件仿真M.:航空航天大学,200610 海成.AVR 单片机原理与测控工程应用M.:航空航天大学,200811 康万新.毕业设计指导与案例剖析应用电子技术方向M.:清华大学,2007附附 录录1 按键控制 LED 程序#include #define uchar unsigned char#define uint unsigned intvoid port_init (void); void pca_init (void); sbit led0= P26; sbit led1= P24; void delay(uint d) uint i; for(i=0;id;i+); void ma

45、in (void) PCA0MD &= 0 x40; OSCICN |= 0 x03; . . . . 18 / 29 port_init (); pca_init (); EA = 1; while(1) void port_init (void) P0SKIP = 0 xFF; P1SKIP = 0 xFF; XBR1 = 0 x44; P2MDOUT |= 0 x50; void pca_init (void)EIE1 = 0 x10; PCA0CPM0 = 0 x11; PCA0CPM1 = 0 x11; PCA0CPM2 = 0 x11;PCA0CPM3 = 0 x11;void P

46、CA_ISR (void) interrupt 11 if(CCF0=1) delay(50000); delay(50000); delay(20000); delay(20000); while(CCF0=0); led0=led0; CCF0 = 0; if(CCF1=1). . . . 19 / 29 delay(50000); delay(50000); delay(20000); delay(20000); while(CCF1=0); led0=led0; CCF1 = 0; if(CCF2=1) delay(50000); delay(50000);delay(20000);d

47、elay(20000); while(CCF2=0); led1=led1; CCF2 = 0; if(CCF3=1) delay(50000); delay(50000);delay(20000);delay(20000); while(CCF3=0); led1=led1; CCF3 = 0; 2LCD 显示电路#include C8051F340.h#include #include cp220 x_reg.h#define uchar unsigned char#define uint unsigned int. . . . 20 / 29#define BASE_ADDRESS 0

48、x10#define EMIF_TIMING 0 x9E /sit spi_mosi=P00;/sbit SPICLK=P01;sbit LcdCs=P03;sbit led=P24;bit SPI_BUSY;uchar xdata virt_port;uchar xdata discode;uint Count1ms;signed char xdata tab116=0 x20,0 x20,0 x42,0 x54,0 x20,0 x46,0 x33,0 x34,0 x30,0 x20,0 x56,0 x31,0 x2e,0 x30,0 x20,0 x20;unsigned char xdat

49、a Netdata16=0 x77,0 x77,0 x77,0 x2e,0 x78,0 x68,0 x6c,0 x2e,0 x63,0 x6f, 0 x6d,0 x2e,0 x63,0 x6e,0 x20,0 x20; void delay(uint timer);void writelcd(uchar spi_data);void writecode(uchar ins);void writedata(uchar d);void lcdinit( );void lcdchar (void);void lcdaddr(uchar DDRAM);void cursoropen(uchar pos

50、ition);void displayopen(void);void ether_reset_low( );void ether_reset_high (void);void Delay1ms(uint T);void EMIF_Init (void);uint da; void delay1us(void)uchar xdata i;. . . . 21 / 29for(i=10;i0;i-); void SPI_Init( ) SPI0CFG = 0 x70; SPI0CN = 0 x01; SPI0CKR = 0 x3B; void writelcd(uchar spi_data) ui

51、nt xdata i,j; for(i=0;i3;i+)LcdCs=0;SPI_BUSY=1;delay1us();SPI0DAT=spi_data; for(j=0;j500;j+) if(!SPI_BUSY)break; delay1us( );LcdCs=1;delay1us( ); delay1us( );delay1us( );delay1us( );delay1us( );delay1us( );delay1us( );for(j=0;j5000;j+);void writecode(uchar ins) uchar xdata t;. . . . 22 / 29 uint xda

52、ta j; for(j=0;j500;j+); virt_port|=ins&0 xf0; writelcd(virt_port); virt_port|=0 x08; writelcd(virt_port); virt_port&=0 x08;writelcd(virt_port); t=ins4; virt_port|=t&0 xf0; writelcd(virt_port); virt_port|=0 x08; writelcd(virt_port); virt_port&=0 x08; writelcd(virt_port); virt_port=0; writelcd(virt_po

53、rt); void writedata(uchar d) uchar xdata i,t; uint xdata j; for(j=0;j500;j+); virt_port|=0 x02; writelcd(virt_port); virt_port|=d&0 xf0; writelcd(virt_port); virt_port|=0 x08; writelcd(virt_port); virt_port&=0 xf7; writelcd(virt_port); virt_port&=0 x07; writelcd(virt_port); t=d&0 x0f;. . . . 23 / 29

54、 virt_port|=t0;i-); virt_port&=0 xf7; writelcd(virt_port); virt_port=0; writelcd(virt_port); void lcdchar (void) uint xdata i,j,k; for(j=0;j5000;j+); for(k=0;k5000;k+); for(i=0;i16;i+) writedata(tab1i); for(j=0;j1000;j+); for(k=0;k1000;k+); for(k=0;k5000;k+); for(k=0;k1000;k+); writecode(0 xb0); for(j=0;j5000;j+); for(k=0;k5000;k+); discode=0 xb0; for(i=0;i16;i+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论