毕业设计(论文)基于AT89C51单片机的电子时钟设计.doc
《毕业设计(论文)基于AT89C51单片机的电子时钟设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C51单片机的电子时钟设计.doc(31页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)题目: 基于AT89C51的电子时钟 专业: 应 用 电 子 技 术 班级: 学号: 08号 姓名: 指导老师: 成都电子机械高等专科学校二一一年六月论 文 摘 要 为了进一步了解51单片机的定时器,在此对AT89C51单片机在时钟计数上进行了研究;整个系统以AT89C51作为控制核心,用8155进行I/O口的扩展,用按键进行时间设置,用LCD对时间进行实时显示;对系统时间的设置是采用外中断INTO,并且用的是电平触发方式,闭合刀开关进入中断后,按动按键可以设置时间,设置结果在LCD上显示,设置完成,断开刀开关,系统又进行时间显示。系统可以设置两个闹钟参考值,将时间与闹钟时间进
2、行比较,确定LED是否闪烁。关键词: AT89C51;8155;LCD;汇编;目 录第一章 绪论41.1本设计的要求:41.2 关于AT89C51单片机41.2.1 主要技术指标和特性41.2.2 外部引脚51.3 关于ADC0809转换器61.3.1 主要技术指标和特性61.3.2 内部结构和外部引脚61.3.3 工作时序与使用说明81.4关于8155I/O口扩展芯片91.5关于Pt100概述10第二章 系统设计122.1系统硬件设计122.1.1 设计思路122.1.2 具体设计电路图122.2系统软件设计142.2.1 设计思路142.2.2 主程序和中断子程序流程图152.2.3 标度
3、转换子程序172.2.4 加热等级判断192.2.5 具体程序192.3仿真结果272.4总 结30参考文献30第一章 绪论1.1本设计的要求:(1) 电子钟功能,显示和设置时,分,秒(2) 可以设置2个闹钟点,到点时,相应发光二极管闪烁10秒停止(3) 所有键盘,显示都使用8155接口芯片1.2 关于AT89C51单片机AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存
4、储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1.2.1 主要技术指标和特性u 与MCS-51 兼容 u 4K字节可编程闪烁存储器 u 寿命:1000写/擦循环 u 数据保留时间:10年 u 全静态工作:0Hz-24MHz u 三级程序存储器锁定 u 1288位内部RAM u 3
5、2可编程I/O线 u 两个16位定时器/计数器 u 5个中断源 u 可编程串行通道 u 低功耗的闲置和掉电模式 u 片内振荡器和时钟电路 1.2.2 外部引脚VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,
6、被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程
7、和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意
8、的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程
9、序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 1.3关于8155I/O口扩展芯片1.3.1 8155的管脚定义 RST:复位信号输入端,高电平有效。复位后,3个I/O口均为输入方式。 AD0AD7:三态的地址/数据总线。与单片机低8位地址/数据总线(P0口)相连。单片机与8155之间的地址、数据、命令与状态信息都是通过这个总线口传送的。 RD:读选通信号,控制对8155的读操作,低电平有效。 WR:写选通信号,控制对8155的写操作,低电平有效。 CE:片选信号线,低电
10、平有效。 IO/M :8155的RAM存储器或I/O口选择线。当IO/M 0时,则选择8155的片内RAM,AD0AD7上地址为8155中RAM单元的地址(00HFFH);当IO/M 1时,选择 8155的I/O口,AD0AD7上的地址为8155 I/O口的地址。 ALE:地址锁存信号。8155内部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位地址信息及 ,IO/ 的状态都锁存到8155内部锁存器。因此,P0口输出的低8位地址信号不需外接锁存器。 PA0PA7:8位通用I/O口,其输入、输出的流向可由程序控制。 PB0PB7:8位通用I/O口,功能同A口。 PC0PC5:有两个作用
11、,既可作为通用的I/O口,也可作为PA口和PB口的控制信号线,这些可通过程序控制。 TIMER IN:定时/计数器脉冲输入端。 TIMER OUT:定时/计数器输出端。 VCC:5V电源。 1.3.2 8155的地址编码及工作方式 在单片机应用系统中,8155是按外部数据存储器统一编址的,为16位地址,其高8位由片选线 提供, CE0,选中该片。 当 CE0,IO/M 0时,选中8155片内RAM,这时8155只能作片外RAM使用,其RAM的低8位编址为00HFFH;当 CE0,IO/M 1时,选中8155的I/O口,其端口地址的低8位由AD7AD0确定,如表6-6所示。这时,A、B、C口的口
12、地址低8位分别为01H、02H、03H(设地址无关位为0)。 表一 8155芯片的I/O口地址 A7A6A5A4A3A2A1A0选择I/O口000命令/状态寄存器 001A口010B口011C口100定时器低8位101定时器高6位及方式1.4 LCD概述LCD1602 已很普遍了,具体介绍我就不多说了,市面上字符液晶绝大多数是基于HD44780 液晶芯片的,控制原理是完全相同的,因此HD44780 写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型LCD 通常有14 条引脚线或16 条引脚线的LCD,多出来的2 条线是背光电源线VCC(15 脚)和地线GND(16 脚),其控制原理
13、与14 脚的LCD 完全一样,定义如下表所示:表二 字符型LCD 的引脚定义HD44780 内置了DDRAM、CGROM 和CGRAM。DDRAM 就是显示数据RAM,用来寄存待显示的字符代码。共80 个字节,其地址和屏幕的对应关系如下表:表三 地址和屏幕的对应关系表也就是说想要在LCD1602 屏幕的第一行第一列显示一个A字,就要向DDRAM 的00H 地址写入“A”字的代码就行了。但具体的写入是要按LCD 模块的指令格式来进行的,后面我会说到的。那么一行可有40 个地址呀?是的,在1602 中我们就用前16 个就行了。第二行也一样用前16 个地址。对应如下:表四DDRAM 地址与显示位置的
14、对应关系基本操作时序:读状态 输入:RS=L,RW=H,E=H 输出:DB0DB7=状态字写指令 输入:RS=L,RW=L,E=下降沿脉冲,DB0DB7=指令码 输出:无读数据 输入:RS=H,RW=H,E=H 输出:DB0DB7=数据写数据 输入:RS=H,RW=L,E=下降沿脉冲,DB0DB7=数据 输出:无第二章 系统设计2.1系统硬件设计2.1.1 设计思路 用AT89C51的定时器0进行计时,每计时1秒就更新时间,并在LCD上显示。系统用8155对单片机进行了IO口扩展,扩展的IO口用来进行LCD显示和键盘设置。对主时间采用中断方式,对闹钟进行设置,其实质也只是更换了显示。2.1.2
15、 具体设计电路图图一 硬件设计图 备注:整个系统大致分为4个模块模块一:复位模块该模块在系统跑飞的时候,对系统进行复位。模块二:LCD模块对各种信息进行显示模块三:键盘模块对时间进行设置模块四:闹钟模块判断实时时间与设定时间是否相等2.2系统软件设计2.2.1 设计思路整个程序由三部分组成主程序:主要进行初始化,对实时时间进行显示和参考时间进行设置等;外部中断程序:扫描按键,将按键值送入显缓等;定时中断程序:对时间计数单元进行实时更新;显示子程序:对信息进行实时显示;2.2.2流程图图二 主程序流程图一图三 定时中断流程图图四 外部中断子程序图五 显示子程序2.2.3 具体程序 ;*;定义引脚
16、和RAM存储分配;*LED1 BIT P1.3 ;LED1控制脚LED2 BIT P1.4 ;LED2控制脚LCD_RS BIT P1.0 ;LCD控制线LCD_RW BIT P1.1LCD_E BIT P1.2T0CNT EQU 30HSECOND EQU 31H ;秒计数单元MINUTE EQU 32H ;分计数单元HOUR EQU 33H ;时计数单元DISP_BUF EQU 34H ;34H3BH为时间显示缓存SECOND1 EQU 3DH ;参考时间1计数单元MINUTE1 EQU 3EHHOUR1 EQU 3FHSETTIME1_BUF EQU 40H ;参考时间1的缓存地址SEC
17、OND2 EQU 49H ;参考时间2计数单元MINUTE2 EQU 4AHHOUR2 EQU 4BHSETTIME2_BUF EQU 4CH ;参考时间2的缓存地址DISP_FLG EQU 55H ;刷新显示标志,为1时刷新显示COVER_FLG EQU 56H ;将BCD转换成AS的标志位,在用键盘输入数值的时候要用到STIME EQU 57H ;LCD显示对象标志位WEI EQU 59H ;按键输入是,存储位置标志位CHANNEL EQU 60H ;设置时间结束标识位NZ_FLG1 EQU 61H ;与参考时间一相等标识位NZ_FLG2 EQU 62H ;与参考时间二相等标识位T1CON
18、T EQU 63H ;LED1闪烁次数T2CONT EQU 64H ;LED2闪烁次数ORG 0000HLJMP MAINORG 0003HLJMP PINT0ORG 000BHLJMP IT0P;=;主程序;=ORG 1000HMAIN: MOV SP,#65H MOV IP,#01H MOV TCON,#01H;外部中断0为电平触发 MOV TMOD,#01H;定时器0用模式1 MOV TH0,#0BDH;延时20MS MOV TL0,#098H MOV IE,#83H ;开中断 MOV DISP_FLG,#01H CLR A MOV WEI,A MOV T0CNT,A MOV NZ_FL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 AT89C51 单片机 电子 时钟 设计
链接地址:https://www.31ppt.com/p-3978736.html