基于单片机的简易数字温度计的设计内容摘要:

指令 (3) 发送存储器指令 单片机系统 STC89C52RC 性能 STC89C52RC 是 我国宏晶 公司生产的低电压, 高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 在单芯片上,拥有灵巧 的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k 字节 Flash, 512 字节 RAM, 32 位 I/O 口线, 看门狗定时器 ,内置 4KB EEPROM, MAX810 复位电路, 3 个 16 位 定时器 /计数器,一个 6 向量 2 级中断结构,全双工 串行口。 另外 STC89X52 可 基于单片机的简易 数字温度计 设计 13 降至 0Hz 静态逻辑操作,支持 2 种 软件 可选择节电模式。 空闲模式下, CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电 保护方式下,RAM 内容被保存,振荡器被冻结, 单片机 一切工作停止,直到下一个中断或硬件复位为止。 最高运作频率 35MHz, 6T/12T 可选。 S [1 ] STC89C52RC 单片机 特性 : 参数: 1. 增强型 8051 单片机 , 6 时钟 /机器周期 和 12 时钟 /机器周期可以任意 选择,指令代码完全兼容传统 8051.[1] 2. 工作电压: ~ ( 5V 单片机) /~ ( 3V 单片机) 3. 工作频率 范围: 0~ 40MHz,相当于普通 8051 的 0~ 80MHz,实际工作 频率可达 48MHz 4. 用户应用程序空间为 8K 字节 5. 片上集成 512 字节 RAM 6. 通用 I/O 口( 32 个),复位后为: P0/P1/P2/P3 是 准双向 口 /弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。 基于单片机的简易 数字温度计 设计 14 7. ISP(在系统可编程) /IAP(在应用可编程),无需专用 编程器 ,无 需专用 仿真器 ,可通过串口( RxD/,TxD/)直接下载用户程 序,数秒即可完成一片 8. 具有 EEPROM 功能 9. 具有 看门狗 功能 10. 共 3 个 16 位 定时器 /计数器。 即定时器 T0、 T T2 11. 外部中断 4 路,下降沿中断或低电平触发电路, Power Down 模式可 由外部中断低电平触发 中断方式 唤醒 12. 通用异步 串行口 ( UART),还可用定时器 软件 实现多个 UART 13. 工作温度范围: 40~ +85℃ (工业级) /0~ 75℃ (商业级) STC8952RC 功能性能 :与 MCS51成品指令系统完全兼容; 8KB 可编程闪速存储器;寿命: 10万 次写 /擦循环 ; 数据保留时间: 10 年;全静态工作: 040MHz;三级程序存储器锁定; 512B 内部 RAM; 32 个可编程 I/O 口线; 3 个 16 位定时 /计数器; 5 个中断源;可编程串行 UART 通道;片内震荡器和掉电模式 [6]。 STC8952RC 各引脚功能 STC8952RC 提供以下标准功能: 8KB 的 Flash 闪速存储器, 512B 内部 RAM,32 个 I/O 口线,两个 16位定时 /计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时, STC8952RC1 可降至 0Hz 静态逻辑操作,并支持两种软件可选的节电工作模式。 空闲方式停止 CPU 的工作,但允许RAM,定时 /计数器,串行通信口及中断系统继续工作,掉电方式保存 RAM 中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。 STC8952RC 采用 PDIP 和 LQFP 封装形式,引脚配置如图 5 所示 [7]。 基于单片机的简易 数字温度计 设计 15 图 5 STC89C52RC 的引脚图 STC89C52RC 芯片的各引脚功能为: P0口:这组引脚共有 8条, 为最低位。 这 8 个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是 STC89C52RC 不带外存储器, P0 口可以为 基于单片机的简易 数字温度计 设计 16 通用 I/O 口使用, 用于传送 CPU 的输入 /输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是 89C52 带片外存储器, 在 CPU 访问片外存储器时先传送片外存储器的低 8位地址,然后传送 CPU 对片外存储器的读 /写数据。 P0口为开漏输出,在作为通用 I/O 使用时,需要在外部用电阻上拉。 P1口:这 8 个引脚和 P0口的 8 个引脚类似, 为最高位, 为最低位,当 P1 口作为通用 I/O 口使用时, 的功能和 P0口的第一功能相同,也用于传送用户的输入和输出数据。 P2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用 I/O 口使用,它的第一功能和 P0口引脚的第二功能相配合,用于输出片外存储器的高 8 位地址,共同选中片外存储器单元,但并不是像 P0 口那样传送存储器的读 /写数据。 P3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同, Vcc 为 +5V 电源线, Vss 接地。 ALE:地址锁存允许线,配合 P0 口的第二功能使用 ,在访问外部存储器时,STC89C52RC 的 CPU 在 引脚线去传送随后而来的片外存储器读 /写数据。 在不访问片外存储器时, STC89C52RC 自动在 ALE 线上输出频率为 1/6 震荡器频率的脉冲序列。 该脉冲序列可以作为外部时钟源或定时脉冲使用。 /EA:片外存储器访问选择线,可以控制 STC89C52RC 使用片内 ROM 或使用片外ROM, 若 /EA=1,则允许使用片内 ROM, 若 /EA=0,则只使用片外 ROM。 /PSEN:片外 ROM 的选通线,在访问片外 ROM 时 STC89C52RC 自动在 /PSEN 线上 产生一个负脉冲,作为片外 ROM 芯片的读选通信号。 RST:复位线,可以使 STC89C52RC 处于复位 (即初始化 )工作状态。 通常STC89C52RC 复位有自动上电复位和人工按键复位两种。 XTAL1 和 XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和 谐振电容,即用来连接 STC89C52RC 片内 OSC(震荡器 )的定时反馈回路。 复位电路和时钟电路 复位电路设计 单片机在启动运行时都需要复位,使 CPU 和系统中的其他部件都处于一个确 基于单片机的简易 数字温度计 设计 17 定的初始状态,并从这个状态开始工作。 MCS51单 片机有一个复位引脚 RST,采用施密特触发输入。 当震荡器起振后,只要该引脚上出现 2 个机器周期以上的高电平即可确保时器件复位 [1]。 复位完成后,如果 RST 端继续保持高电平, MCS51 就一直处于复位状态,只要 RST 恢复低电平后,单片机才能进入其他工作状态。 单片机的复位方式有上电自动复位和手动复位两种,图 6 是 51 系列单片机统常用的上电复位和手动复位组合电路,只要 Vcc 上升时间不超过 1ms,它们都能很好的工作 [1]。 图 6 复位电路 时钟电路设计 单片机中 CPU 每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。 CPU 执行一条指令的各个微操作所对应时间顺序称为单片机的时序。 MCS51 单片机芯片内部有一个高增益反相放大 器,用于构成震荡器, XTAL1 为该放大器的输入端, XTAL2 为该放大器输出端,但形成时钟电路还需附加其他电路 [1]。 本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2 个 谐振 电容即可,如图 7 所示。 基于单片机的简易 数字温度计 设计 18 图 7 时钟电路 电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器 C1 和 C2对震荡频率有微调作用,通常的取值范围是 30177。 10pF,在这个系统中选择了 33pF;石英晶振选择范围最高可选 24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是 12MHz,因而时钟信号的震荡频率为 12MHz。 数码管 显示系统设计 LED 数码管 的选择 在应用系统中,设计要求不同,使用的 LED 数 码管 的位数也不同,因此就生产了位数,尺寸,型号不同的 LED 显示器供选择,在本设计中,选择 4 位一体的 寸红色高亮 LED 数码管 ,简称“ 4LED”。 本系统中前一位显示 温度的 负位 ,在正温度不显示, 后三位显示十位,个位还有小数位。 4LED 显示器引脚如图 9 所示,是一个共 阳 极接法的 4 位 LED 数码显示管,其中 11, 7, 4, 2, 5, 3 为 4 位 LED 各段的公共输出端, 1 6 分别是每一位的位数选端, 3 是小数点引出端, 4 位一体 LED 数码显示管的内部结构是由 4个单独的 LED 组成,每个 LED 的段输出引脚在内部都并联 后,引出到器件的外部。 基于单片机的简易 数字温度计 设计 19 图 9 4 位 LED 引脚 对于这种结构的 LED 数码管 ,它的体积和结构都符合设计要求,由于 4 位 LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个 I/O 接口控制)显示。 LED 译码方式 译码方式是指由显示字符转换得到对应的字段码的方式,对于 LED 数码管, 基于单片机的简易 数字温度计 设计 20 通常的译码方式有硬件译码和软 件译码方式两种。 硬件译码是指利用专门的硬件电路来实现显示字符码的转换。 软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序 [3]。 本设计系统中为了简化硬件线路设计, LED 译码采用软件编程来实现。 由于本设计采用的是共 阳 极 LED,其对应的字符和字段码如下表 所示。 表 共 阳 极字段码表 显示字符 共 阳 极字段码 0 C0H 1 F9H 2 A4H 3 B4H 4 B0H 5 99H 6 92H 7 82H 8 80H 9 90H LED 与单片机接口设计 由于单片机的并行口不能直接驱动 LED 数码管,所以,在一般情况下,必须增加 驱动电路,使之产生足够大的电流, 数码管 才能正常工作 [7]。 如果驱动电路能力差,即 驱动电流 不够时, 数码管 亮度就低,而且驱动电路长期在超负荷下运行容易损坏。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。