基于单片机的数字式闹钟设计内容摘要:

中断源的中断服务 程序的入口地址。 MCS51单片机复位后,程序存储器 PC 的内容为 0000H,故系统从 0000H 单元开始取指令,执行程序。 64K 程序存储器中有 5个单元具有特殊用途,如下: 0003H:外部中断 0 入口地址。 000BH:定时器 0中断入口地址。 0013H:外部中断 1 入口地址。 001BH:定时器 1中断入口地址。 0023H:串行口中断入口地址。 在系统中断相应之后,将自动转各中断入口地址处执行序,而中断服务程序一般无法存放于几个单元之内,因此在中断入口地址处往往存放一条无条件转移指令进行跳转,以便执行中断服 务程序。 内部数据存储器 MCS51单片机的片内数据存储器单元共有 128 个,字节地址为 00H7FH。 地址为 00H1FH 的 32个单元是 4 组通用工作寄存器区,每个区含 8个 8位寄存器,编号为 R7R0。 地址为 20H2FH 的 16个单元可进行共 128 位的位寻址。 地址为 30H 7FH 的单元为用户 RAM 区,只能进行字节寻址。 其具体配置见图 25。 11 图 25 MCS51 内部数据存储器的配置 12 3. 特殊功能寄存器( SFR) 特殊功能寄存器的总数为 21 个,离散的分布在该区域中,其中有些 SFR 还可以进行位寻址。 表 23是 该寄存器 的名称及其 地址 分布。 表 23 SFR名称及地址分布 特殊功能寄存器符号 名称 字节地址 位地址 B B寄存器 F0H F7H~F0H ACC或 A 累加器 A E0H E7H~E0H PSW 程序状态字 PSW D0H D7H~D0H 中断优先级控制 IP B8H BFH~B8H P3 P3 口 B0H B7H~B0H IE 中断允许控制 A8H AFH~A8H P2 P2 口 A0H A7H~A0H SBUF 串行数据缓冲器 99H SCON 串行控制 98H 9FH~98H P1 P1 口 90H 97H~90H TH1 定时器 /计数器 1(高八位) 8DH TH0 定时器 /计数器 0(高八位) 8CH TL1 定时器 /计数器 1(低八位) 8BH TL0 定时器 /计数器 0(低八位) 8AH TMOD 定时器 /计数器方式控制 89H TCON 定时器 /计数器控制 88H 8FH~88H PCON 电源控制 87H DPH 数据指针高字节 83H DPL 数据指针低字节 82H SP 堆栈指针 81H P0 P0 口 80H 87H~80H 13 MCS51单片机指令系统中有丰富的位操作指令,这些指令构成了位处理机的指令集。 在 RAM和 SFR 中共有 211个位地址,位地址范围在 00HFFH 内,其中 00H7FH这 128 个位处于内部 RAM 字节地址 20H2FH 单元中,如表 24所示。 其余的 83 个可寻址位分布在特殊功能寄存器 SFR 中,如表 25所示。 表 24 8051 内部 RAM 的可寻址位 字节地址 位地址 D7 D6 D5 D4 D3 D2 D1 D0 2F 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H 2E 77H 76H 75H 74H 73 72H 71H 70H 2D 6FH 6EH 6DH 6CH 6B 6AH 69H 68H 2C 67H 66H 65H 64H 63 62H 61H 60H 2B 5FH 5EH 5DH 5CH 5B 5AH 59H 58H 2A 57H 56H 55H 54H 53 52H 51H 50H 29 4FH 4EH 4DH 4CH 4B 4AH 49H 48H 28 47H 46H 45H 44H 43 42H 41H 40H 27 3FH 3EH 3DH 3CH 3B 3AH 39H 38H 26 37H 36H 35H 34H 33 32H 31H 30H 25 2FH 2EH 2DH 2CH 2B 2AH 29H 28H 24 27H 26H 25H 24H 23 22H 21H 20H 23 1FH 1EH 1DH 1CH 1B 1AH 19H 18H 22 17H 16H 15H 14H 13 12H 11H 10H 21 0FH 0EH 0DH 0CH 0B 0AH 09H 08H 20 07H 06H 05H 04H 03 02H 01H 00H 14 表 25 8051 特殊功能寄存器中的位地址 SFR 符号 位地址 字节 地址 D7 D6 D5 D4 D3 D2 D1 D0 B F7H F6H F5H F4H F3H F2H F1H F0H F0H ACC E7H E6H E5H E4H E3H E2H E1H E0H E0H PSW D7H D6H D5H D4H D3H D2H D1H D0H D0H CY AC F0 RS1 RS0 OV F1 P IP BDH BCH BBH BAH B9H B8H B8H PT2 PS PT1 PX1 PT0 PX0 P3 B7H B6H B5H B4H B3H B2H B1H B0H B0H IE AFH ACH ABH AAH A9H A8H A8H EA ES ET1 EX1 ET0 EX0 P2 A7H A6H A5H A4H A3H A2H A1H A0H A0H SCON 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 98H SM0 SM1 SM2 REN TB8 RB8 T1 R1 P1 97H 96H 95H 94H 93H 92H 91H 90H 90H TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 88H TF1 TR1 TF0 TR0 IE1 IT0 IE0 IT0 P0 87H 86H 85H 84H 83H 82H 81H 80H 80H 五、 MCS51 的并行 I/O 口 图 26给出了四个端口中每个典型位锁存器和 I/O缓冲器的功能框图。 位锁存器作为一个 D触发器,根 据来自 CPU 的 “ 写锁存器 ” 信号,记录来自内部总线上的数值。 在 CPU 发出 “ 读锁存器 ” 信号时,将触发器的 Q 输出值放在内部总线上。 在 CPU 发出“ 读管脚 ” 信号时,端口管脚本身的电平放到内部总线上。 有些 “ 读端口指令 ” 令会激活 “ 读锁存器 ” 信号,而其它指令则激活 “ 读管脚 ” 信号。 并行 I/O 口的应用要点: ( 1) P0口通常作为单片机的低字节地址/数据复用线,分时使用,即构成 A7~A0地址线和数据总线 (DB)用。 ( 2) P2口一般作为高 8 位地址线 A15~ A8,使 用 8031 单片机也是这样用的。 ( 3) P1口一般情况下作为通用的 I/O 口使用。 ( 4) P3口在以下的情况下作为第二功能使用:串行通信使用,外部中断使用;定时器 /计数器使用;扩展外部 RAM 时使用 , 控制信号。 除上述情况外,则可以当作I/O引脚用。 ( 5)当某一引脚作为输入前,必须使引脚置 “1”。 复位后,四个口的 32 个引脚均为高电平(置 1)。 ( 6)各个口由于输出结构不同,带负载能力也不同。 六、 MCS51 时钟电路与时序 时钟电路用于产生 MCS51单片机工作所必需的时钟信号。 在执行指令时, CPU 首先要到 程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定的操作。 1. 时钟电路 ( 1) .内部时钟方式 8051 单片机内部有一个用于构成振荡器的高增益反相放大器,引脚 XTAL1 和XTAL2 分别是此放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成一个自激振荡器。 图 27 a)是 MCS51单片机的内部时钟方式的振荡器电路。 ( 2) 外部时钟方式 外部时钟方式是使用外部振荡脉冲信号,常用于多片 MCS51 单片机同时工作,以便于同步。 对外部脉冲信号只要求高电平持续时间大于 20,一般为低于 12MHz 的方波。 这时,外部振荡器的信号接至 XTAL2,即内部时钟发生器的输入端,而内部反相放大器的输入端 XTAL1 应接地,如图 27 b)所示。 由于 XTAL2 端的逻辑电平不是TTL的,故建议外接一个上拉电阻。 16 图 27 MCS51 的时钟电路 a)片内时钟方式 b)外部时钟方式 2. 机器周期和指令周期 MCS51 的每个机器周期包含 6 个状态周期,每个状态周期划分为 2 个节拍,分别对应着 2 个节拍时钟有效期间。 因此,一个机器周期包含 12 个振荡器 周期,由S1P1(状态 1 拍 1)一直到 S6P2(状态 6 拍 2),每个节拍持续一个振荡器周期,每个状态持续 2个振荡器周期。 若采用 12MHz 的晶体振荡器,则每个机器周期恰为 1μ S。 通常,每个机器周期 ALE 两次有效,第 1次发生在 S1P2 和 S2P1 期间,第 2 次在S4P2 和 S5P1 期间。 七、 MCS51 的复位和复位电路 复位是单片机的初始化操作,只要 RST 引脚处至少保持 2 个机器周期的高电平就可实现复位。 复位后,各内部寄存器的状态如表 26所示。 表 26 8051 复位后寄存器的值 寄存器 内容 寄存器 内容 PC 0000H TCON 00H ACC 00H T2CON 00H B0 00H TH0 00H PSW 00H TL0 00H SP 07H TH1 00H DPTR 0000H TL1 00H P0~P3 0FFH TH2 00H IP( 8051) XXX00000B TL2 00H IP( 8052) XX000000B RLDH 00H IE( 8051) 0XX00000B RLDL 00H IE( 8052) 0X000000B SCON 00H TMOD 00H SBUF 不定 PCON( HMOS) 0XXXXXXXH PCOM( CHMOS) 0XXX0000B 17 第四节 主控芯片 AT89C51 的 设计 单片机是 20世纪 70 年代中期发展起来的一种大规模集成电路器件。 它在一块芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。 20 世纪 80 年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。 在我们日常学习和生活中,常见的有 51 系列、 52 系列、 PIC 系列等。 其中 51系列的单片机的模块化结构比较典型,为许多大公司和个人所采纳。 在本 LCD电子闹钟设计中就是采用利用我们熟悉的 AT89C51 单片机为主控芯片。 AT89C51 单片机由微处理器,存储器, I/O 口以及特殊功能寄存器 SFR 等部分构成。 其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为 4KB,片内数据存储器为 128 个字节。 89C51 单片机有 4 个 8 位的并行 I/O口: P0 口, P1 口, P2 口和 P3 口。 各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。 P1 口是唯一的单功能口,仅能用作通用的数据输入 /输出口。 P3口是双功能口除了具有数据输入 /输出功能外, 每条接口还具有不同的第二功能,如 是串行输入口线, 口是串行输出口线。 在需要外部程序存储器和数据存储器扩展时, P0 可作为分时复用的低 8 位地址 /数据总线, P2口可作为高 8位的地址总线。 P3 口也可作为 AT89C51 的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号 . 各口管脚的备选功能如下所示: RXD(串行输入口); TXD(串行输出口); /INT0(外部中断 0); /INT1(外部中断 1); T0(记时器 0 外部输入); T1( 记时器 1 外部输入); /WR(外部数据存储器写选通); /RD(外部数据存储器读选通)。 RST:复位输入。 当器件 被复位 时,要保持 RST 脚两个机器周期的高电平时间。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH)不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端 18 保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V编程电源( VPP)。 XTAL1:反向振荡放大器。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。