基于51单片机的电子万年历毕业论文设计内容摘要:
5 显示模块 本设计显示模块主要采用 LCD12864 液晶显示器,其电路原理图如下: 图 35 LCD12864 模块 LCD12864液晶显示器通过数据端口也即端口 7~ 14与主控芯片 AT89S52 的 I/O端口 P3相连接实现数据与指令的传输,再通过控制端口 RS、 RW、 EN也即端口 4~ 6与主控芯片 , 端口相接实现对数据和指令传输 的控制。 显示模块采用 12864 液晶显示器可实现对温度和时间的直接显示,清晰明了。 独立键盘模块 键盘是人与万年历实现信息交互的接口,本设计中,我们采用 3 个独立键盘,电路原理如下图 39: 6 图 39 独立键盘 当按键按下,与主控芯片连接的端口被降为低电平,按键松开则也升为高电平。 按键采用的是 Tack Switch 按钮开关 ,它具有自动恢复(弹回)的功能。 当我们按下按钮时,其中的接点接通(或切断),放开按钮后,接点恢复为切断(或接通)。 按照尺寸区分,电子 电路或微型计算机所使用的 Tack Swith 可分为 8mm、 10mm、 12mm 等。 虽然 Tack Switch有 4个引脚,但实际上,其内部只有一对 a接点,即其中两个引脚是内部相连通的,而另外两个引脚内部也是相连通的。 7 个按键实现了开机模式选择,日期调节等功能,独立按键的引入使得体现了本设计的人性化,智能化,功能的强大。 蜂鸣器模块 蜂鸣器模块是本设计中体现人机交互的又一大设计亮点,其电路原理图如下图: 图 310 蜂鸣器模块 ( 1)蜂鸣器的介绍 ○1蜂鸣器的作用:蜂 鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 ○2 蜂鸣器的分类:蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两类。 ○3 蜂鸣器的电路图形符号:蜂鸣器在电路中用字母 “H” 或 “HA” (旧标准用 “FM” 、“LB” 、 “JD” 等)表示。 本设计里,我们采用有源蜂鸣器,由于蜂鸣器的工作电流一般比较大,以至于单片机的 I/O 口是无法直接驱动的,所以要利 用放大电路来驱动,我们使用三极管来放大电流,驱动蜂鸣器,此模块只要通过 BELL(连接到到单片机 )输入的 PWM波既可以使蜂鸣器分出声音,我们设计的这款万年历可以在闹钟定时中作为声音提醒信号。 7 单片机模块 AT89S52 是 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 8k bytes的可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统及引脚,它集 Flash 存储器既可在线编辑( ISP)也可用传统方法进行编辑及通用 8位微处理器于单片芯片中,功能强大 AT89S52 单片机可为您提供许多高性价比的应用场合。 器管脚图如图 32: 图 31 AT89S52 管脚图 在本系统中, AT89S52 单片机内部的功能单元已经能够满足系统设计需要,不需要系统扩展。 AT89S52 具有以下的特点 : 主要性能 ● 与 MCS51 单片机产品兼容 ● 8K字节在系统可编程 Flash 存储器 ● 1000 次擦写周期 ● 全静态操作: 0Hz~ 33Hz ● 三级加密程序存储器 ● 32个可编程 I/O 口线 ● 三个 16位定时器 /计数器 ● 八个中断源 ● 全双工 UART 串行通道 8 ● 低功耗空闲和掉电模式 ● 掉电后中断可唤醒 ● 看门狗定时器 ● 双数据指针 ● 掉电标识符 AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供 高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash, 256 字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位定时器 /计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。 另外, AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。 空闲模式下, CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 温度信息 的采集 通过 DS18B20单线总线的所有执行处理都从一个初始化序列开始。 初始化序列包括一个由总线控制器发出的复位脉冲和随后由从机发出的存在脉冲: ( 1)复位:首先我们必须对 DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少 480us的低电平信号。 当 18B20接到此复位信号后则会在 15~ 60us后回发一个芯片的存在脉冲。 ( 2)存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在 15~60us后接收存在脉冲,存在脉冲为一个 60~ 240us的低电平信号。 至此, 通信双方已经达成了基本的协议,接下来将会是控制器与 18B20间的数据通信。 ( 3)控制器发送 ROM指令:双方打完了招呼之后最要将进行交流了, ROM指令共有 5条,每一个工作周期只能发一条, ROM指令分别是读 ROM数据、指定匹配芯片、跳跃 ROM、芯片搜索、报警芯片搜索。 各自功能如下: Read ROM(读 ROM) [33H] (方括号中的为 16进制的命令字) : 这个命令允许总线控制器读到 DS18B20的 64位 ROM。 只有当总线上只存在一个 DS18B20的时候才可以使用此指令。 Match ROM(指定匹配 芯片) [55H]: 这个指令后面紧跟着由控制器发出了 64位序列号,9 当总线上有多只 DS18B20时,只有与控制发出的序列号相同的芯片才能做出反应,其它芯片将等待下一次复位。 这条指令适合单芯片和多芯片挂接。 Skip ROM(跳跃 ROM指令) [CCH]: 这条指令使芯片不对 ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。 如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。 Search ROM(搜索芯片) [F0H]: 在芯片初始化后,搜索指令允许总线上挂接多芯片时用排除法识别所有器件的 64位 ROM。 Alarm Search(报警芯片搜索) [ECH]: 在多芯片挂接的情况下,报警芯片搜索指令只对附合温度高于 TH或小于 TL报警条件的芯片做出反应。 只要芯片不掉电,报警状态将被保持,直到再一次测得温度值达不到报警条件为止。 ROM指令为 8位长度,功能是对片内的 64位光刻 ROM进行操作。 其主要目的是为了分辨一条总线上挂接的多个器件并作处理。 诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的 ID号来区别,一般只挂接单个 18B20芯片时可以跳过 ROM指令(注意:此处指的跳过 ROM指令并非不发送 ROM指令,而是用特有的一条 “ 跳过指令 ” )。 ( 4)控制器发送存储器操作指令:在 ROM指令发送给 18B20之后,紧接着(不间断)就是发送存储器操作指令了。 操作指令同样为 8位,共 6条,存储器操作指令分别是写 RAM数据、读 RAM数据、将 RAM数据复制到 EEPROM、温度转换、将 EEPROM中的报警值复制到 RAM、工作方式切换。 Write Scratchpad (向 RAM中写数据) [4EH]:这是向 RAM中写入数据的指令,随后写入的两个字节的数据将会被存到地 址 2(报警 RAM之 TH)和地址 3(报警 RAM之 TL)。 写入过程中可以用复位信号中止写入。 Read Scratchpad (从 RAM中读数据) [BEH]:此指令将从 RAM中读数据,读地址从地址 0开始,一直可以读到地址 9,完成整个 RAM数据的读出。 芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。 Copy Scratchpad (将 RAM数据复制到 EEPROM中) [48H]:此指令将 RAM中的数据存入EEPROM中,以使数据掉电不丢失。 此后由于芯片忙于 EEPROM储存处理,当控制器发一个读时间隙时,总线上输出 “0” ,当储存工作完成时,总线将输出 “1”。 在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持 10MS,来维持芯片工作。 Convert T(温度转换) [44H]:收到此指令后芯片将进行一次温度转换,将转换的温度值放入 RAM的第 2地址。 此后由于芯片忙于温度转换处理,当控制器发一个读时间隙10 时,总线上输出 “0” ,当储存工作完成时,总线将输出 “1”。 在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持 500MS,来维持芯片工作。 Recall EEPROM(将 EEPROM中的报警值复制到 RAM) [B8H]:此指令将 EEPROM中的报警值复制到 RAM中的第 4个字节里。 由于芯片忙于复制处理,当控制器发一个读时间隙时,总线上输出 “0” ,当储存工作完成时,总线将输出 “1”。 另外,此指令将在芯片上电复位时将被自动执行。 这样 RAM中的两个报警字节位将始终为 EEPROM中数据的镜像。 Read Power Supply(工作方式切换) [B4H]:此指令发出后发出读时间隙,芯片会返回它的电源状态字, “0” 为寄生电源状态, “1” 为外 部电源状态。 存储器操作指令的功能是命令 18B20作什么样的工作,是芯片控制的关键。 ( 5)执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。 DS18B20需要严格的协议以确保数据的完整性。 协议包括几种单线信号类型:复位脉冲、存在脉冲、写 0、写 1 、读 0和读 1。 所有这些信号,除存在脉冲外,都是由总线控制器发出的。 和 DS18B20间的任何通讯都需要以初始化序列开始。 一个复位脉冲跟着一个存在脉冲表明 DS18B20已经准备好发送和接收 数据(适当的 ROM命令和存储器操作命令)。 DS18B20的复位时序 : 图 42 DS18B20复位时序图 DS18B20 的读时序 : 对于 DS18B20的读时序分为读 0时序和读 1时序两个过程。 对于 DS18B20的读时隙是从主机把单总线拉低之后,在 15us之内就得释放单总线,以让 DS18B20把数据传输到单总线上。 DS18B20在完成一个读时序过程,至少需要 60us才能完成。 11 图 43 DS18B20读 时序图 DS18B20 的写时序 : 对于 DS18B20 的写时序仍然分为写 0 时序和写 1时序两个过程。 对于 DS18B20 写 0时序和写 1 时序的要求不同,当要写 0时序时,单总线要被拉低至少 60us,保证 DS18B20 能够在 15us 到 45us 之间能够正确地采样 IO 总线上的 “0” 电平,当要写 1 时序时,单总线被拉低之后,在 15us 之后就得释放单总线。 1 电路原理图的绘制和电路的焊接 在硬件的设计前期,根据框图对电路中可能出现的电路,进行了模拟实验,并根据实验结果对后期的硬件设计进行了合理化的修改完善。 在前面已分析 了系统并绘制了框图,并根据框图分别设计了各部分电路。 由于温度传感器与时钟芯片集成度较高,所以在硬件电路设计时不需要太多其他元件即可实现预期功能。 因此在 PROTEL 上对原理图进行了绘制,从而得出了最终的完整电路原理图 [附录 1]。 原理图绘制软件 PROTEL PROTEL 是 PORTEL 公司在 80 年代末推出的 EDA软件,在电子行业的 CAD软件中,它当之无愧地排在众多 EDA 软件的前面,是电子设计者的首选软件,它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板 自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有 Client/Server (客户 /服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如 ORCAD, PSPICE,EXCEL 等,其多层印制线路板的自动布线可实现高密度 PCB的 100%布通率。 Protel 99SE采用数据库的管理方式。 该软件沿袭了 Protel 以前版本方便易学的特点,内部界面与Protel 99 大体相同,新增加了一些功能模块,功能更加强大。 新增的层堆栈管理功能,可以设计 32 个信号层, 16 个地电层, 16 个机械层。 新增的。基于51单片机的电子万年历毕业论文设计
相关推荐
89C51单片机作为主机,它们都具有4K片内ROM,128字节片内RAM,片外ROM寻址范围达64K,片外RAM寻址范围达64K,2个16位计数器,5个中断源,4个并行口,1个串行口。 简易自动乐曲播放器采用单片机最小系统足以满足系统设计要求,同时要设计单片机最小系统的晶振和复位电路。 单片机复位电路复位是单片机的初始化操作,其作用是使CPU中的各个部件都处于一个确定的初始状态
整个应用程序的 APP 端前台设计,使整个应用程序的 功能变得更加完善和人性化。 为应用程序的使用者提供了很大的方便。 让使用者更加逼真的体会到现实生活中应用程序的操作性。 让使用者更加逼真的体会到现实生活中应用程序的操作性。 ( 5) APP 端新闻频道的滑动 在 APP 端,新闻种类的滚动条甚至可以随着 手指来回的左右滑动 ,大大方便了用户对新闻的查看和对新闻评论 的操作。
SS:电源地线。 2) 控制总线 ALE/PROG:地址锁存允许信号,在它的下降沿用于外部存储器的低 8位地址锁存,使 BUS( P0)分时用作地址总线低 8 位和数据总线。 此信号每机器周期出现 2 次,只在访问外部数据存储器期间才不输出 ALE。 所以在任何不使用外部数据存储器的系统中, ALE 以 1/6 振荡频率的固定速率输出,因而它能用作外部时钟和定时器。 /PSEN
页 共 33 页 图 1056 写操作时序 10. 8. 2. 4 1602LCD 的 RAM 地址映射及标准字库表 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。 要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图 1057是 1602的内部显示地址。 图 1057 1602LCD 内部显示地址
容易知道,当连接的线数越多,节省的 IO口效率就越明显。 不过矩阵键盘的识别原理比一般的独立按键识别原理要复杂一些,最常用的识别方法就是“高低电平翻转法”。 以 4*4矩阵键盘为例,当列线通过上拉电阻接电源正极,并将行线接到单片机的 IO口上,而列线所接的 IO 口作为输入。 这样,当按键在断开状态下,它们的输入端都呈现为 1,代表没有按键按下去。 此时行线输出的是 0,当检测到有按键按下
P31P 0. 732P 0. 633P 0. 534P 0. 435P 0. 336P 0. 237P 0. 138P 0. 039V C C40GND20A T 89 C 5 16VB A T T E R Y1234D11 N 40 0 2D21 N 40 0 2N P N 1T R A N S 1A C 2 20 V1 00 u FV i n1V o ut3GND2L M 7 80 51