基于单片机和fpga的出租车计费系统毕业论文(编辑修改稿)内容摘要:
与 WRITE 的运行请求。 8051 运算处理单元( Core): 这是整个单片机的控制处理核心,它读取程序码,经过计算及处 理后,将结果送到各个寄存器或输入 /输出端口上,并且接受内部和外部的中断信号,然后执行特定的中断服务程序。 只要加入电源并且石英晶体开始运行后,本单元就一直不停地工作着,通常我们所谓的死机是指本单元跳入一个未知没有出口的循环中执行,而不是指 CPU 停止一切的运行,不再执行任何程序。 累加器( Accumulator): 累加器是众多寄存器中最重要的一个寄存器,通常以简写 Acc 代表累加器, 8051的指令中有许多指令和 Acc 寄存器有关,也有多个指令非通过 Acc 不可,基本上, 8051的指令中赋予 Acc 累加器的权限最大。 Intel公司建议程序的执行尽量以 Acc 为主。 B 寄存器( B Register): B 寄存器是一个一般用途的工作寄存器,当 8051 使用乘除指令时,则一定要通过 B寄存器来做运算。 中断优先顺序控制寄存器( IPC,Interrupt Priority Control): 这个寄存器中存放中断时的优先顺序表,若对应的位设成 1 时,代表中断有较高的中断优先权。 允许中断控制寄存器( IEC,Interrupt Enable Control): 此寄存器内含系统允许中断的中断源设置值, 8051 共有 5 个中断可供选 择, 8052则有 6 个中断源, IEC 寄存器内另有一个位简称 位,若 = 0 时就禁止系统所有的中断要求。 串行输出入缓冲寄存器( SBUF,Serial Buffer): 所有待送出或刚进入的串行数据值都存放在此寄存器中, 8051 的串行通信是非常简单的,只要一设置完通信协议后,再执行一个 MOVSBUF, A 指令,就可立即将并行数据值转化成串行数据送到外部。 串行通信控制寄存器 ( SCON,Serial ControL 或称 UART): 此寄存器主要在设置串行通信的模式,当串行数据已经送完或数据已收妥时,会有对应的 位被设置成 1,这些位也可以当成中断要求信号,请求 CPU 执行特定的串行中断服务程序。 定时 /计数控制寄存器( TCON,Timer/Counter Control): 10 这个寄存器可以控制定时 /计数器的打开或关闭,若一经打开且计数到溢位时,TCON 上亦有对应的位被设成 1, CPU 必须针对此位的状态,决定是否重新设置定时 /计数值。 堆栈指标寄存器( SP,Stack Pointer): 8051 利用 SP 指引最近一次存入堆栈内的地址,每当我们在程序中调用其他子程序时,原程序的返回地址就会自动存入内部 DATA MEMORY 组成的堆栈( Stack)中,而当子程序执行到 RET 指令时, CPU 会自动由堆栈中取回原先存入的返回地址,继续执行原程序。 每当 CPU 将 8 位值存入堆栈时,我们称之为 PUSH(推入),这时 SP 值会增加 1,反之堆栈中取回 8 位值时,则称之为 POP(提回),此时 SP 值会减少 1。 在写 8051 单片机的控制程序时,在程序起始状态阶段一定要设置 SP 值,以便程序有足够的堆栈空间,也可以利用软件程序随时机动调整的堆栈指标 SP 的值。 特殊功能寄存器区( SFR,Special Function Register) 8051 单片机 内部将多个寄存器统称成 SFR,代表其特定的功能,甚至 Port0、 PortPort3 也都是属 SFR 的成员之一,在这些 SFR 中有部分的寄存器可以进行位寻址,表 31 是这些 SFR 寄存器的整理,其中加( *)记号的寄存器可进行位寻址。 SFR 寄存器 部分可进行位寻址的寄存器 算术运算寄存器 Acc( *)、 B( *)、 PSW( *) 指标类寄存器 SP、 DPL、 DPH 并行输入 /出端口 P0( *)、 P1( *)、 P2( *)、 P3( *) 中断控制寄存器 IP( *)、 IE( *) 定时 /计数寄存器 TMOD、 TCON( *)、 TL0、 TH0、 TL TH1 串行通信寄存器 SCON( *)、 SBUF 表 31 可进行位寻址的 SFR 寄存器 AT89S51 单片机简介 AT89S5l是新型高档单片机。 它的主要特性是: 片内含有 32 KB 的 Flash 程序存储器,擦写周期为 1000 次。 片内数据存储器内含 512 字节的 RAM; 具有可编程 32 线 I/O 口( P0, P1, P2 和 P3 口); 具有 3 个可编程定时器 T0, T1 和 T2; 中断系统是具有 8 个中断源、 6 个中断矢量、 2 级中断优先权的中断结构; 具有一 个全双工 UART 串行口; 低功耗工作方式为空闲模式和掉电模式; 具有双数据指针 DPTR0 和 DPTR1; 具有 3 级程序锁定位; 具有硬件看门狗定时器 WDT; AT89S51 工作电源为 ~ ( AT89LV51RC 为 ~ ); AT89S51 最高工作频率为 33MHZ( AT89LV51RC 为 12MHZ); 具有断电标志 POF. AT89S5l 与 51 系列单片机相比具有如下特点 ① 程序存储器由 8 KB 增加到 32 KB; ② 片内数据存储器由 256 宇节增加到 512 字节; 11 ③ 数据指 针由 1 个增加到 2 个; ④ 增加了看门狗定时器, CPU 在执行程序过程中,由于瞬时的干扰使程序陷入死循环状态, WDT( Watchdog Timer)是使 CPU 摆脱这种困境而自动恢复的一种方法; ⑤ 退出掉电方式由单纯硬件复位方式增加到硬件复位和中断两种方式; ⑥ 新增加了断电标志 POF. 89S51 的内部框图 振 荡 器 和时 钟 电 路C P U总 线 扩 展控 制 器程 序 存 储 器( 4 K B )并 行 可 编 程I / O 口中 断 控 制 可 编 程 串 行 口两 个 1 6 位定 时 器 / 计 数 器数 据 存 储 器( 1 2 8 字 节 )外 时 钟 源外 部 事 件 计 数 图 35 89S51 的内部框图 引脚排列及功能: AT89S51 有 3 种封装形式: PDIP. PLCC 和 TQFP. PDIP 封装的引脚 排列如图所示。 12 P 10P 11P 12P 13P 14P 15P 16P 17IN T 1IN T 0T 1T 0X 2X 1R ES ETRDWRVP/EAP 00P 01P 02P 03P 04P 05P 06P 07P 20P 21P 22P 23P 24P 25P 26P 27R XDT XDPSENPA L E /AT 89 S 51P 1 . 0P 1.1P1. 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 . 71234567813121514311918VCCX 1X 2917163938373635343332D 0D 1D 2D 3D 4D 5D 6D 72122232425262728A 8A 9A 10A 11A 12A 13A 14A 1510113029+ C 110 FR 110 k S 3SW _ PBC 330 pFC 130 pFC R YS T AL12 MX 2X 1P 1 . 7P 1 . 6S 1 SW _ PBS 2 SW _ PBVCCGN DGN D 图 36 单片机电路板 ①I/O口线 P0 口 —— 8 位、漏极开路的双向 1/ O 口。 当使用片外存储器及外扩 I/ O 口时, P0 口作为低字节地址/数据复用线。 在编程时, P0 口可用于接收指令代码宇节;在程序校验时, P0 口可输出指令字节(这时需要加外部上拉电阻)。 P0 口也可作通用 I/O 口使用.但需加上拉电阻.变为准双向口。 当作为普通输入时,应将 输出锁存器置 1. PO 口可驱动 8 个 TTL 负载. P1 口 —— 8 位、准双向 I/ O 口,具有内部上拉 电阻。 P1 口是为用户准备的 1/ O 双向口。 在编程和校验时,可用做输入低 8 位地址。 用做输入时,应先将输出锁存器置 1. P1 口可驱动 4 个 TTL 负载。 引 脚 替代功能 说 明 T2 定时器 2的外部事件输入端; 可编脉冲输出端 T2EX 定时器 2 的捕捉/重装触发器输入端; 定时器 2的计数方向控制端 表 32 替代功能 P2 口 —— 8 位、准双向 1/ O 口.具有内部上位电阻. 当使用片外存储器或外扩 1/ O 口时. P2 口输出高 8 位地址。 在编程/校验时. P2口可接收高字节地 址和某些控制信号。 P2 口也可作普通 I/ O 口使用。 用做输入时,应先将输出锁存器置 1. P2 口可驱动 4 个 TTL 负载。 P3 口 —— 8 位、准双向 1/ O 口,具有内部上拉电阻。 13 P3口可作为普通 1/ O口。 用做输入时,应先将输出锁存器置 1.在编程/校验时. P3口接收某些控制信号。 它可驱动 4 个 TTL 负载。 P3 口还提供各种替代功能。 RXD(串行输入口) TXD(串行输出口) INT0—— (外部中断 0) INT1—— (外部中断 1) T0(记时器 0外部输入) T1(记时器 1外部输入) WR—— (外部数据存储器写选通) RD—— (外部数据存储器读选通) 表 33 P3 口替代功能 ② 控制信号线 RST—— 复位输入信号,高电平有效。 在振荡器稳定工作时,在 RST 脚施加两个机器周期(即 24 个晶振周期)以上的高电平,将器件复位。 EA(—— )/ VPP—— 外部程序存储器访问允许信号 EA( External Access Enable)。 当 EA(—— )信号接地时,对 ROM的读操作限定在外部程序存储器,地址为 0000H~FFFFH;当 EA(—— )接地时,对 ROM 的读操作从内部程序存储器开始,并可延续至外部程序存储器。 在编程时,该引脚可接 编程电压( AT89C51 的 VPP 为 5V 或 12V; AT89LV51 的VPP 为 12 V)。 在编程校验时,该引脚可接 VCC。 PSEN(———— )—— 片外程序存储器读选通信号用 PSEN(Program Store Enable),低电平有效。 在片外程序存储器取指令期间,当 PSEN(———— )有效时,程序存储器的内容被送至 PO 口(数据总线);在访问外部 RAM 时, PSEN(———— )无效。 AIE/PROG(———— )—— 低字节地址锁存信号 AlE( Address latch Enable)。 在系统扩展时, AlE 的下降沿将 PO 口输出的低 8 位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。 此外, ALE 端连续输出正脉冲.频率为晶振频率的 1/ 6, 可用做外部定时脉冲使用。 但要注意,每次访问外 RAM 时要丢失一个 ALE 脉冲。 在编程期间.该引脚输入编程脉冲( PROG(———— ))。 ③ 电源线 VCC—— 电源电压输入。 GND—— 接地。 ④ 外部晶振引线 XTAL1—— 片内振荡器反相放大器和时钟发生线路的输入端。 使用片内振荡器时,连接外部石英晶体和微调电容。 XTAL2—— 片内振荡器反相放大器的输出端。 当使 用片内振荡器时,外接石英晶体 和微调电容。 当使用外部振荡器时,引脚 XTAL1 接收外振荡器信号, XTAIL2 悬空。 中断控制 可采用中断的时机: 14 ① 当计数值数完时要做一个特定的动作。 ② 当外部信号有一个脉冲信号产生时要做某种特定的运算。 ③ 当外部某些信号成立时,必须立即处理。 ④ 当收到通信界面上的一个特定值时,必须立即反应。 ⑤ 当程序必须处理数个小程序,且这些程序必须几乎同时都在执行中。 ⑥ 当程序必须随时更新某项数据或显示值。 ⑦ 当程序必须自动且随时去检查系统中的状 态值时。 上述的情形亦可采用平常的程序,以持续或经常询问的写法来应付,但是若系统有多个条件要询问时,写法就会变得相当的复杂。 假如改用程序中断的写法,则程序的写法就会变得较单纯些,中断程序通常有以下一个或一个以上的特征,假使我们的应用中发现有这些特征时,在程序。基于单片机和fpga的出租车计费系统毕业论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。