《51单片机课程设计--基于51单片机开发系统的PCB电路板.docx》由会员分享,可在线阅读,更多相关《51单片机课程设计--基于51单片机开发系统的PCB电路板.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、51单片机课程设计-基于51单片机开发系统的PCB电路板 目录 第一章绪论 . 错误!未定义书签。 1.1 设计背景. 错误!未定义书签。 1.2设计目的 (1) 1.2设计任务 (1) 第二章方案选择 (1) 2.1 单片机芯片 (1) 2.2 数码管驱动方式 (2) 2.3 显示模块 (2) 2.4 时钟芯片 (3) 第三章硬件设计 (3) 3.1 单片机主机系统 (3) 3.1.1 STC89C52单片机 (3) 3.1.2 时钟电路 (7) 3.1.3 复位电路 (7) 3.2 USB下载部分. (8) 3.3 数码管 (9) 3.3.1 数码管原理介绍 (9) 3.3.2 数码管电路
2、设计 (10) 3.3.3 74LS573芯片 (11) 3.4 矩阵式键盘 (12) 3.5 LED灯 (13) 3.6 LCD液晶显示屏 (13) 3.7 闹钟 (16) 第四章软件设计 (16) 4.1 点亮LED (16) 4.2 数码管显示59秒倒计时 (17) 4.3 矩阵键盘检测及控制 (18) 4.4 串口通信 (18) 4.5 LCD1602液晶显示年月日,时间可用键盘调节 (19) 第五章调试及结果分析 (20) 4.1 测试仪器 (20) 4.1 软件测试平台Keil C51 (21) 4.1 测试结果 (21) 第六章总结 (21) 第七章参考文献 (22) 附录一 (
3、23) 附录二 (23) 1 绪论 1.1 设计背景 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。 本课设设计一个基于51单片机开发系统的PCB电路板,使之能够完成一系列基本功能。 1.2设计目的 1加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。 2用单片机模拟实现具体应用,使个人设计能够真正使用。 3把理论知识与
4、实践相结合,充分发挥个人能力,并在实践中锻炼。 4提高利用已学知识分析和解决问题的能力。 5)提高实践动手能力。 1.3设计任务 1基本系统:在51单片机开发系统PCB电路板上完成电子元器件的焊接、调试、程序下载,并实现数码管显示、矩阵键盘扫描、中断程序、定时器程序、串口通讯等基本功能; 2显示功能:焊接电路并实现对1602液晶屏的显示功能,要求能滚动显示字符; 3输出控制:焊接电路并实现对继电器的控制功能; 4数据采集:焊接电路并实现对AD0832的数据采集功能; 2 方案选择 2.1单片机芯片 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空
5、间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二: 采用STC89C52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,使用ISP下载方式,重新编程时自动擦除原有的程序。当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
6、 所以选择采用STC89C52作为主控制系统. 2.2数码管的驱动方式 方案一 74HC595是美国国家半导体公司生产的通用移位寄存器芯片。并行输出端具有输出锁存功能。与单片机连接简单方便,只须三个I/O口即可。而且通过芯片的Q7引脚和SER引脚,可以级联。而且价格低廉,每片单价为1.5元左右。 方案二 CH452是数码管显示驱动和键盘扫描控制芯片。CH452 内置时钟振荡电路,可以动态驱动8 位数码管或者64 位LED,具有BCD 译码、闪烁、移位、段位寻址、光柱译码等功能;同时还可以进行64 键的键盘扫描;CH452 通过可以级联的4线串行接口或者2 线串行接口与单片机等交换数据;并且可以
7、对单片机提供上电复位信号。 方案三 带锁存的驱动芯片(设想中未试验通过)74HC573 主要针对单片机IO口充足,但是要求对单片机时间资源占用少的情况。 综上,选择74HC573。 2.3显示模块 方案一: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示. 方案二: 采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,但无法显示图形文字,在显示星期是也只能用数字表示,而且采用动态扫描法与单片机连接时,在编程时比较复杂。所以也不采用了LED数码管作为显示。 方案三: 采用LC
8、D液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形, 显示多样,清晰可见。 所以在此设计中采用LCD液晶显示屏。 2.4时钟芯片 方案一: 采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V 时耗电小于300nA。 方案二: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案可以减少芯片的使用,也可以节约成本。所以采用此方案。 3 硬件设计 3.1单片机主机系统 图3 -1 单片机主机
9、系统图 3.1.1 STC89C52单片机 STC89C52单片机最初是由Intel 公司开发设计的,但后来Intel 公司把51 核的设计方案卖给了几家大的电子设计生产商,譬如 SST、Philip、Atmel 等大公司。如是市面上出现了各式各样的但均以51 为内核的单片机,倒是Intel 公司自己的单片机却显得逊色了。这些各大电子生产商推出的单 片机都兼容51 指令、并在51 的基础上扩展一些功能而内部结构是与51 一致的。 STC89C52有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。STC89C52的存储器系统由4K的
10、程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。 3-1a STC89C52单片机的基本组成框图 (1) STC89C52单片机主要特性 1. 一个8 位的微处理器(CPU)。 2. 片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89 系列单片机最多提供 1K 的RAM。 3. 片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31 等。目前单片机的发展趋势是将RAM 和ROM 都集成在单片机里面,这样既方便了用户进行设计又提高
11、了系统的抗干扰性。SST 公司推出的89 系列单片机分别集成了16K、32K、64K Flash 存储器,可供用户根据需要选用。 4. 四个8 位并行IO 接口P0P3,每个口既可以用作输入,也可以用作输出。 5. 两个定时器计数器,每个定时器计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52 系列单片机都会提供3 个16 位定时器/计数器。 6. 五个中断源的中断控制系统。现在新推出的单片机都不只5 个中断 源,例如SST89E58RD 就有9 个中断源。 7. 一个全双工UART(通用异步接收发
12、送器)的串行IO 口,用于实现单片机之间或单机与微机之间的串行通信。 8. 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。 (2) STC89C52单片机管脚图 3-1b STC89C52单片机管脚图 部分引脚说明: 1. 时钟电路引脚XTAL1 和XTAL2: XTAL2(18 脚):接外部晶体和微调电容的一端;在8051 片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。 要检查8051/8031 的振
13、荡电路是否正常工作,可用示波器查看XTAL2 端是否有脉冲信号输出。 XTAL1(19 脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地。 2. 控制信号引脚RST,ALE,PSEN 和EA: RST/VPD(9 脚):RST 是复位信号输入端,高电平有效。当此输入端 保持备用电源的输入端。当主电源Vcc 发生故障,降低到低电平规定值时,将5V 电源自动两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。RST 引脚的第二功能是VPD,即接入RST 端,为RAM 提供备用电源,以保证存储在RAM 中的信息不丢失,从而合复位
14、后能继续正常运行。 ALE/PROG(30 脚):地址锁存允许信号端。当8051 上电正常工作后,ALE 引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC 的1/6。CPU 访问片外存储器时,ALE 输出信号作为锁存低8 位地址的控制信号。 平时不访问片外存储器时,ALE 端也以振荡频率的1/6 固定输出正脉冲,因而ALE 信号可以用作对外输出时钟或定时信号。如果想确定8051/8031 芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,则8051/8031 基本上是好的。 ALE 端的负载驱动能力为8 个LS 型TTL(低功耗甚高速TTL)负载。 此引脚的第二功能
15、PROG 在对片内带有4KB EPROM 的8751 编程写入(固化程序)时,作为编程脉冲输入端。 PSEN(29 脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM 的OE 端(见后面几章任何一个小系统硬件图)。PSEN 端有效,即允许读出EPROMROM 中的指令码。PSEN 端同样可驱动8 个LS 型TTL 负载。要检查一个8051/8031 小系统上电后CPU 能否正常到EPROMROM 中读取指令码,也可用示波器看PSEN 端有无脉冲输出。如有则说明基本上工作正常。 EA/Vpp(31 脚):外部程序存储器地址允许输
16、入端/固化编程电压输入端。当EA 引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/8051 为4K)时,将自动转去执行片外程序存储器内的程序。当输入信号EA 引脚接低电平(接地)时,CPU 只访问外部EPROM/ROM 并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM 的8031 或8032,需外扩EPROM,此时必须将EA 引脚接地。此引脚的第二功能是Vpp 是对8751 片内EPROM固化编程时,作为施加较高编程电压(一般12V21V)的输入端。 3. 输入/输出端口P0/P1/
17、P2/P3: P0口(P0.0P0.7,3932 脚):P0口是一个漏极开路的8 位准双向I/O 口。作为漏极开路的输出端口,每位能驱动8 个LS 型TTL 负载。当P0 口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0 口的全部 引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU 访问片外存储器时,P0口分时提供低8 位地址和8 位数据的复用总线。在此期间,P0口内部上拉电阻有效。 P1口(P1.0P1.7,18 脚):P1口是一个带内部上拉电阻的8 位准双向I/O口。P1口每位能驱动4 个LS 型TTL 负载。在P1口作为输入口使用时,应先
18、向P1口锁存地址(90H)写入全1,此时P1口引脚由内部上拉电阻拉成高电平。 P2口(P2.0P2.7,2128 脚):P2口是一个带内部上拉电阻的8 位准双向I/O口。P口每位能驱动4个LS 型TTL 负载。在访问片外EPROM/RAM 时,它输出高8 位地址。 P3口(P3.0P3.7,1017 脚):P3口是一个带内部上拉电阻的8 位准双向I/O口。P3口每位能驱动4个LS型TTL负载。P3口与其它I/O 端口有很大的区别,它的每个引脚都有第二功能,如下: P3.0:(RXD)串行数据接收。 P3.1:(RXD)串行数据发送。 P3.2:(INT0#)外部中断0输入。 P3.3:(INT
19、1#)外部中断1输入。 P3.4:(T0)定时/计数器0的外部计数输入。 P3.5:(T1)定时/计数器1的外部计数输入。 P3.6:(WR#)外部数据存储器写选通。 P3.7:(RD#)外部数据存储器读选通。 (3) STC89C52单片机的中断系统 STC89C52系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE 控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。 (4) STC89C52单片机的定时/计数器 在单片机应用系统中,常常
20、会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。89C52单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。 3.1.2时钟电路 时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一 个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图3-1所示在其外接晶体振荡器(
21、简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。图3-1中外接晶体以及电容C21和C22构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值为33pF 左右,晶振频率选11.0592MHz 。 3.1.3复位电路 为了初始化单片机内部的某些特殊功能寄存器,必须利用复位电路,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。 单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST 引脚上持续为
22、高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图2-1中R19和C20组成上电复位电路,其值R取为10K, C取为10uF。 3.2 USB下载部分 图3-2 USB下载部分电路图 USB 转串口芯片 CH340G 1 概述 CH340G 是一个 USB 总线的转接芯片,实现 USB 转串口、USB 转 IrDA 红外或者 USB 转打印口。在串
23、口方式下,CH340G 提供常用 的 MODEM 联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到 USB 总线。在红外方式下,CH340 外加红外收发器即可构成 USB 红外线适配器,实现 SIR 红外线通讯。 2 特点 全速USB 设备接口,兼容USB V2.0,外围元器件只需要晶体和电容。 仿真标准串口,用于升级原串口外围设备,或者通过USB 增加额外串口。 计算机端Windows 操作系统下的串口应用程序完全兼容,无需修改。 硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps2Mbps。 支持常用的MODEM 联络信号RTS、DTR、DCD、RI、DSR、CTS
24、。 通过外加电平转换器件,提供RS232、RS485、RS422 等接口。 支持IrDA 规范SIR 红外线通讯,支持波特率2400bps 到115200bps。 由于是通过USB 转换的串口,所以只能做到应用层兼容,而无法绝对相同。 软件兼容CH341,可以直接使用CH341 的驱动程序。 支持5V 电源电压和 3.3V 电源电压。 提供SSOP-20 无铅封装,兼容RoHS。 3.3 数码管 3.3.1 数码管原理介绍 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。