cmos高速锁相环的研究与设计_毕业设计(编辑修改稿)内容摘要:

为高电平状态时, LCM 为正常工作状态,标志位 RESET=0。 在指令设置和数据读写时要注意状态字中的 BUSY 标志。 只有在 BUSY=0时, MPU 对 LCM 的操作才能有效。 因此 MPU 在每次对 LCM 操作之前,都要 7 读出状态字判断 BUSY 是否为“ 0”。 若不为“ 0”,则 MPU 需要等待,直至 BUSY=0为止。 (2) 显示开关设置 该指令设置显示开 /关触发器的状态,由此控制显示数据锁存器的工作方式,从而控制显示屏上的 显示状态。 D 位为显示开 /关的控制位。 当 D=1 为开显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。 此时在状态字中ON/OFF=0。 当 D=0 为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并没有被破坏,在状态字中 ON/OFF=1。 (3) 显示起始行设置 该指令设置了显示起始行寄存器的内容。 LCM 通过 CS 的选择分别具有 64行显示的管理能力,该指令中 L5~ L0 为显示起始行的地址,取值在 0~ 3FH( 1~64 行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的行地址。 如果定时间 隔地,等间距地修改(如加一或减一)显示起始行寄存器的内容,则显示屏将呈现显示内容向上或向下平滑滚动的显示效果。 (4) 页面地址设置 该指令设置了页面地址 — X 地址寄存器的内容。 LCM 将显示存储器分成 8页,指令代码中 P2~ P0 就是要确定当前所要选择的页面地址,取值范围为 0~7H ,代表第 1~ 8 页。 该指令规定了以后的读 /写操作将在哪一个页面上进行。 (5) 列地址设置 该指令设置了 Y 地址数计数器的内容, LCM 通过 CS 的选择分别具有 64 列显示的管理能力, C5~ C0=0~ 3FH( 1~ 64)代表某一页面上的某一单元 地址,随后的一次读或写数据将在这个单元上进行。 Y 地址计数器具有自动加一功能,在每一次读 /写数据后它将自动加一,所以在连续进行读 /写数据时, Y 地址计数器不必每次都设置一次。 页面地址的设置和列地址的设置将显示存储器单元唯一地确定下来,为后来的显示数据的读 /写作了地址的选通。 KXM12864J 的 接口时序 : (1) 写操作 将 8 位数据写入先前已确定的显示存储器的单元内。 操作完成后列地址计数器自动加一。 时序如图 22 所示。 8 图 22 写操作时序图 (2) 读操作 该操作将 LCM 接口部的输出寄存器 内容读出,然后列地址计数器自动加一。 时序如图 23 所示。 图 23 读操作时序图 4. KXM12864J 的显示方法 点阵式 LCD 的取模方式有逐列式、逐行式、列行式、行列式等。 本设计中选用列行式。 列行式就是 :先选择点阵的第一页 , 逐列查表显示一个 汉 字的上半部分 , 再选择第二页 , 逐列查表显示一个 汉 字的下半部分。 显示字符,一页就可以显示完整一个。 每次显示要先通过指令选中显示位置的页和列,然后将字模逐个送入。 (1) 汉字取模 应用 51 单片机工具箱取汉字字模。 取字模的方法以汉字“唐”为例进行介绍。 设定每个汉 字 大小为 16 16。 首先 将 汉 字“唐”写入汉字字模生成工具 16 16 的点阵中,如图 24 所示。 图 24 汉字 16 16 点阵图 9 然后就可以生成 “唐” 字字模, “ 0xFF, 0xFF, 0xBF, 0xBB, 0xD8, 0x1B,0xDB, 0xAB, 0x7A, 0xAB, 0x9A, 0xAB, 0xDA, 0xAB, 0xF2, 0xAB, 0xEA,0xAB, 0xDA, 0xAB, 0x1A, 0xAB, 0xDE, 0xFB, 0xDD, 0x7B, 0xDB, 0xBB,0xD7, 0xAB, 0xDF, 0xF7”。 (2) 字符 取模 51 单片机工具箱不可以实现字符取模,没有找到相应的取模工具,使用了一种比较传统的取模方式。 以字符“ T”为例进行介绍。 设定每个字符大小为 5 8。 首先将字符“ T”写入 5 8 的点阵中,如图 25 所示。 图 25 字符 5 8 点阵图 然后每列从下往上读,亮的点为 “ 1” ,暗 的点为 “ 0”。 读出 “ T” 的二进制字模 “ 00000001, 00000001, 01111111, 00000001, 00000001”。 最后转换为十六进制字模“ 0x01, 0x01, 0x7F, 0x01, 0x01”。 10 3 系统硬件 的设计 俄罗斯方块游戏系统 硬件电路的 设 计 分为 四大模块 ,分别是单片机最小系统模块、 LCD 显示模块、独立按键模块 和 声音模块。 硬件电路整体框 图如图 31 所示。 图 31 硬件电路整体框图 1. 单片机最小系统模块 ,包括电源电路、复位电路、振荡电路和下载接口电路。 2. LCD 显示模块 ,采用 KXM12864J 型液晶显示器 显示 图形的形状、 游戏得分 游戏时间、游戏速度和游戏等级 等信息。 3. 独立按键模块 , 设 定 六个独立按键进行游戏操作,功能分别 为 左移、右移、快速下移、翻转、变形 、 确定和暂 停,其中确定和暂停功能由一个独立按键来实现。 4. 声音模块 ,主要由蜂鸣器构成,可以在不同的游戏进程发出不同的音乐,增加了游戏的娱乐性。 系统总体设计电路原理图见附录一。 单片机 最小系统 的设计 单片机最小系统包括: 5 V 直流电 源电路、振荡电路、复位电路和下载电路。 下面分模块进行介绍。 电源电路的设计 设计中单片机和 LCD 显示屏所需电源均为 5 V 直流电。 一般将 220V 交流电转化为稳定的 5 V 直流电的电路设计流程是把 单相交流电 经过电源变压器、 单片机 最小系统 显示模块 按键模块 PC 机 声音模块 11 整流电路、滤波电路和稳压电路转换成稳定的直流电 [5],其框图如图 32 所示。 图 32 电源电路框图 由于上述供电方法需要 220V 到 12V 的 电源 变压器 ,这种变压器相对系统来说体积偏大,而且偏重。 本 次 设 计选择 USB 供电和外部供电。 电路图如图 33所示。 图 33 电源电路图 1. USB 供电 在很多情况下使用 USB 供电比较方便, 不必携带不方便的 AC 适配器。 在设计过程中电路板直接和笔记本电脑连接就可以供电。 所有主机 USB 设备 ( 如PC 和笔记本电脑 ) 至少可以供出 500mA 电流或每个 USB 插口提供 5 个 “ 单元负载 ”。 在 USB 述语中, “ 一个单元负载 ” 是 100mA。 自供电 USB 插孔也可以提供 5 个单元负载。 总线供电 USB 插孔保证提供一个单元负载 ( 100mA)。 所有USB 设备 在 连接 主机时 需要主机对其加以识 别。 在识别过程中,主机决定 USB设备的电源以及是否为其供电,对于被认可的设备将负载电流从 100mA 增大到500mA。 USB 供电方式,可以选择比较简单的电路来实现。 如图 33 所示,在电路板上 只需要有一个 USB 接口,传输过来的电流经过滤波后接电源开关。 最后连接上熔断器,在电流过大时熔断器首先被烧坏使主板断电,可以有效的保护电路主板[6]。 2. 外部电源供电 USB 供电可能出现供电不足,在此又设计了外部供电。 外部供电方式,首先需要用电源变压器将 220V 交流电转变为直流电,然后经过滤波和 7805 稳压后与 USB 供电电路重合。 7805 的引脚 1 是输入脚,接 +8~ +20V 直流电源。 引~220V 50HZ 整流电路 滤波电路 电源变压 器 稳压电路 +5v 12 脚 2 是接地脚,接直流电源的负极。 引脚 3 是输出脚,输出 +5V 的稳定电压 , 确保在输入交流电压波动或负载和温度变化时输出电压的稳定。 后面电路与 USB供电电路重合,如图 33 所示。 3. 电源指示灯电路 为了可以直观的观测到电源接通情况,在电源设计部分增加了电源指示灯电路,如图 34 所示。 图 34 电源指示灯电路 图 此电路由一个发光二极管和一个 1KΩ 的限流电阻构成,两端连接电路板电源的正负极。 当按下电源开关时,电路板得电,同时指示 灯亮。 振荡电路的设计 单片机以晶体振荡器的振荡周期为最小的时序单位,片内的各种微操作都以此周期为时序基准。 STC89C53 可以选用外部振荡方式和内部振荡方式。 内部振荡方式所得的时钟信号比较稳定,实用电路中实用较多,本设计选用内部振荡方式。 STC89C53 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1和 XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反 馈元件的片外 晶振 一起构成自激振荡器,振荡电路 如 图 35 所示。 13 图 35 振荡电路图 外接晶 振 及 电容 C C3 接在放大器的反馈回路中构成 并联 振荡电路。 外接电容 C C3 起稳定振荡频率,快速起振的作用。 对外接电容 C C3 虽然没有十分严格的要求, 但 电容容量的 大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易 程度 及温度稳定性,如果使用石英晶体,电容使用30pF 10pF,而如果使用陶瓷谐振器则选择 30pF 10pF [7]。 在此选用 石英晶体 ,电容使用 30pF。 复位电路的设计 STC89C53 单片 机的复位引脚 RST 出现 2 个机器周期( 1 个机器周期为 12个振荡周期)以上的高电平时,单片机就执行复位操作。 如果 RST 持续为高电平,单片机将处于循环复位状态不在执行程序。 复位操作分可分为上电复位和开关复位两种方式。 上电复位要求接通电源后,自动实现复位操作。 开关复位要求在电源接通的 条件 下, 单片机运行期间,如果发生死机,用 按下复位按钮 操作 使单片机复位。 本设计中选用 上电复位和 开关 复位并存的 复位方式 ,如图 36 所示。 基本原理是: 上电后,由于电容充电,使 RST 持续一段高电平时间。 当单片机已在运行之中时,按下复位键也能使 RST 持续一段时间的高电平,从而实现上电且开关复位的操作。 通常选择 C=10~ 30uF, R=10~ 1 kΩ。 本设计中选择 C=30uF,R=10 kΩ。 14 图 36 复位电路 图 如 果不仅要使单片机复位,而且还要使单片机的外围芯片也同时复位, 上述电路中应进行少许调整。 单片机的复位操作使单片机进入初始化过程,其中包括使程序计数器PC=0000H, P0~ P3=FFH, SP=07H,其他寄存器从 0000 H 地址单元开始执行 [8]。 单片机复位后不改变片内 RAM 区中的内容,特殊功能寄存器复位后的状态见表31 所示。 表 31 特殊工作寄存器复位状态表 特殊功能寄存器 初始状态 特殊功能寄存器 初始状态 A 00H TMOD 00H B 00H TCON 00H PSW 00H TH0 00H SP 07H TL0 00H DPL 00H TH1 00H DPH 00H TL1 00H P0~P3 FFH SBUF 不定 IE ***00000B SCON 00H IP 0**00000B PCON 0*******B 值得指出的是,记住 一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的初始化部分是十分必要的。 说明: 表中符号 *为随机状态; A=00H, 表明累加器已被清零 ; PSW=00H,表明选寄存器 0 组为工作寄存器组; SP=07H,表明堆栈指针指向片内 RAM 的 07 H 字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到 08H 单元中; P0~ P3= FFH,表明已向各端口线写入 1,此时,各端口既可用于输入又可 15 用于输出; IP= 00000B,表明各个中断源处于 低优先级; IE= 000000B,表明各个中断均被关断。 下载 电路的设计 本次设计,软件程序是通过串行编程方式写入单片机 Flash 存储器的,即 ISP编程方式,需要电平转换芯片 MAX232。 同时上位机与系统的连接需要一条下载线,下载线的一端是 USB 口接 PC 机,另一端是九针的串行口接系统电路板。 1. ISP 简介 STC 系列单片机提供 ISP 在线系统可编程,可方便使用 RS232 接口直接下载程序。 ISP 的好处是: 不用 购买通用编程器,单片机在 系统上即可下。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。