单片机课程设计--基于52单片机的数字钟和电子温度计液晶显示内容摘要:
//初始化 ds1302 Write1302(0x8e,0x00)。 //写控制字,允许写 set_ds1302(0x80,now_time_date,8)。 //设置初始时间,日期,年月 //LCD 初始化 LCDInit()。 //LCM 初始化 //显示 初始化界面 DisplayListChar(0, 0, uctech)。 DisplayListChar(2, 1, )。 delay_ms(1000)。 //启动等待,等 LCD 讲入工作状态 WriteCommandLCD(0x01,1)。 //显示清屏 18 //定时器初始化 T0_Init_1()。 while(1) { Getch ()。 //获取键值 Mode_Check()。 //进入模式选择界面 } } 本章主要介绍程序的调试。 主要利用仿真软件 proteus 及学习板来确认程序是否能显现功能。 proteus 仿真 Proteus软件是英国 Labcenter electronics 公司出版的 EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。 它不仅具有其它 EDA工具软件的仿真功能,还能仿真单片机及外围器件。 它是目前最好的仿真单片机及外围器件的工具。 虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是世界上著名的 EDA工 具 (仿真软件 ),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB设计,真正实现了从概念到产品的完整设计。 是目前世界上唯一将电路仿真软件、 PCB设计软件和虚拟模型仿真软件三合一的设计平台。 利用 proteus画好相应的硬件电路图,并把程序烧入软件仿真,看是否能显示功能。 利用焊好的板子进行调试 经过 Proteus 仿真后,再把程序烧入单片机学习板看是否能显示功能。 调试过程中出现的问题 利用 Proteus绘制出相应硬件电路后进行仿真,出现液晶显示无法正常显示的问题。 经过思考和 查阅的资料发现 AT89C52 的 P0 在进高电平时没有接上拉电阻导致 LCD1602 无法正常显示时间。 修改电路后( P0口接上拉电阻)烧入程序后,程序正常运行, LCD1602准确的显示。 用 Proteus 仿真能够正确的现实时间,但烧入学习板出现乱码现实不能正常工作。 经过反复检查及思考发现仿真软件上的硬件电路与学习板上的硬件电路不一致无法对应起来。 最后根据学习板的硬件电路修改相应程序及仿真软件上的硬件电路,最终现实了功能。 19 第五章 课程设计小结 单片机多功能定时系统理论上能很好的达到了学校教学要求 ,发挥了单片机在智能化方面的应用。 该系统的设计很好的满足当前学校教学的需要,是一个理想的智能化的设计。 它具有一个走时精确的实时钟,可以任意设置时间,可以控制时间表的转换,时钟的显示功能等。 可以通过按键操作和数字显示。 该系统规模小,但是功能较多,操作简单,造价低,应用非常广泛。 该系统的设计为向家庭数字化方向发展又前进了一步。 同时又扩大了单片机的应用领域。 这是一个比较实用的实验程序,通过该程序可以学习数码管的字符显示、动态刷新、定时器使用以及中断方式的处理。 既使学生学到了单片机的基本概念,还可以让学生进行电脑操作和仿真,提高了学习的积极性。 通过整个电路设计与制作的整个过程,掌握了对电子钟的设计 , 组装与调试方法。 熟悉了 CMOS 系列中、小规模集成电路的使用。 通过理论与实践的结合,进一步深入的体会到一种学习的方法,特别是对与电子设计方面。 首先要明确总体的设计方案与方法;其次是对各个部分进行设计与改进;最后将各个部分整合在一起进行比较、观察。 在数字钟实验设计当中遇到的首要问题有三个:一是电路的总体设计问题;二是电路的焊接问题;三是电路的调试问题。 基于所学数字电路知识的局限性,在选择元器件方面有所困难,开始无 从下手应该确定使用何种元件。 通过查找资料等过程首先确定了元件,从而确定了总电路图。 总的来说,电子钟的课程设计有利于培养我们对电子设计的兴趣,是一次很好的理论与实际的结合,希望能有更多机会进行这些课程设计。 20 第一章 课程设计的目的与要求(含设计指标) ..................................................... 22 第二章 方案论证选择 ................................... 22 显示电路方案一 ............................................22 显示电路方案二 ............................................22 温度测试方案一 .............................................. 23 温度测试方案二 .............................................. 23 第三章 原理设计 ...................................... 24 基本原理 ................................................24 系统组成框图 .............................................25 单元电路设计 .............................................26 总体电路图 ................................................45 原件列表 ..................................................29 第四章 方案实现与测试 ................................. 30 主程序 ....................................................30 第五章 课程设计小结 .................... 错误 !未定义书签。 第六章 个人总结 ...................................... 38 参考书目: ........................................ 42 总体电路图 ........................................ 43 21 第一章 课程设计的目的与要求(含设 计指标) 随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,温度传感器AD590 具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。 传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点,本文作者利用集成温度传感器 AD590 设计并制作了一款基于 AT89S51 的 4 位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。 第二章 方案论证选择 数字温度计设计主要从硬件选型和软件设计两方面着手 ,可有效 降低功耗 ,延长工作 时间 ,提高测量精度。 软件设计采用间歇式工作模式 ,在保证系统性能要求的情况下缩短 CPU 的工作时间 ,使系统较长时间工作在低功耗模式下 ,有效地降低了系统的能耗。 同时 ,使 用集成于单片机内部的 SlopeA/D 转换器 ,并采用多点校准技术和线性插值方法 ,提高温度 采样的精度。 现代测温应用中 ,温度传感器趋于向数字化方向发展 ,近年来出现了由各种微控制器构成的数字式温度传感器。 利用 89S52 单片机该款单片机强大的运行模式和特殊功能 ,本文设计了一种数字式温度计 ,可方便快捷地实现低功耗测量。 显示电路我们 设计了两个方案: 显示电路方案一: 用 LED 显示,有三个独立式按键可以分别调整温度计的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时 LED 数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的温度值。 按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。 采用技术成熟的 74HC164 实现串并转换。 LED 显示分为静态显示和动态显示。 这里采用静态显示 ,系统通过单片机的串行口来实现静态显示。 串行 口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率的 1/12。 当器件执行任何一条将 SBUF 作为目的寄存器的命令时,数据便开始从 RXD 端发送。 在写信号有效时,相隔一个机器周期后发送控制端SEND 有效,即允许 RXD 发送数据,同时允许从 TXD 端输出移位脉冲。 图 9 为显示电路的连接图。 有三个独立式按键 S1,S2,S3 可以分别调整温度计的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时 LED 数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的温度值。 显示 电路方案二: 用 LCD 显示,因为我们第一个电路采用了液晶显示,所以第二个也采用液晶显示。 22 VCC1KR?VSS1VDD2VL3RS4R/W5E6D07D18D29D310D411D512D613D714BLA15BLK1616021602VCC液晶显示模块 图一 液晶显示模块 温度测试模块有两个设计方案 温度测试方案一: AD590 温度传感器 AD590 是美国模拟器件公司生产的单片集成两端感温电流源。 AD590 测温范围为- 55℃~+ 150℃,满足人们日常生产和生活中的温度范围。 AD590 电源电压可在 4V~ 6V 范围变化,可以承受 44V 正向电压和 20V 反向电压,因而器件反接也不会被损坏。 AD590 产生的电流与绝对温度成正比,它有非常好的线性输出性能,温度每增加 1℃, 其电流增加 1μ A。 AD590 温度与电流的关系如下表所示: 摄氏温度 AD590 电流 经 10KΩ电压 0℃ μ A V 10℃ μ A V 20℃ μ A V 30℃ μ A V 40℃ μ A V 50℃ μ A V 60℃ μ A V 100℃ μ A V 为了提高精度,扩大测量范围,在 A/D 转换前还要将信号加以放大并进行零点 迁移,因而一个高稳定性的、高精度的放大电路是必须的。 当温度变化时, AD590 会产生电流变化,当 AD590 的电流通过一个 10kΩ的电阻时,这个电阻上的压降为 10mV,即转换成 10mV/K,为了使此 10kΩ电阻精确,可用一个 9kΩ的电阻与一个 2kΩ的电位器串联,然后通过调节电位器来获得精确的 10kΩ。 运算放大器 A1 被接成电压跟随器形式,以增加信号的输入阻抗,由运放 A2 减去 做零位调整(即把绝对)温度转成摄氏温度,最后由运放 A3反相并放大5倍输送给 A/D 转换器。 ADC0804 模数转换器 AD590 测温电路输出的电压信号为模拟信号,要进行数码显示,还需将此信号转换成数字信号。 为此我们通过 A/D 转换器 ADC0804 将输入的模拟值转换成数字值,经 AT89C51单片机处理后输出到 P1 以控制温度显示电路。 ADC0804 是用 CMOS 集成工艺制成的逐次比较型摸数转换芯片,分辨率 8 位,转换时间 100μ s,输入电压范围为 0~ 5V,增加某些外部电路后,输入模拟电压可为 5V。 该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接在 CPU 数据总线上,无须附加逻辑接口电路。 十进制数据转换调整子程序 由 于 ADC0804 转换后的数据是二进制数据,而七段码 LED 显示器所要显示的数据是 23 十进制数据,因此需要进行二、十进制数据转换。 ADC0804 输出的最大转换值为 FFH(255),由于运放A3放大5倍,因此本数字温度计的最大测量温度为 = ,即 102℃。 由 255*X =102,得知X= ,即先乘4再除 10。 255*4=1020,其中高位 10 送高位显示缓冲区 R4,低位 20 送低位显示缓冲区 R5,将小数点设在 D2 位上,并将其分别显示为 1(D4) 0(D3) 2(D2) . 0(D1) ℃。 所以,十进制 转换调整流程为 A/D(二进制)→十进制→乘4→显示。 : 单线数字温度计。单片机课程设计--基于52单片机的数字钟和电子温度计液晶显示
相关推荐
旦某个DS18B20 接触不好或断线,当程序读该DS18B20 时,将没有返回信号,程序进入死循环。 这一点在进行DS18B20 硬件连接和软件设计时也要给予一定的重视。 DS18B20 的性能特点(1) 独特的单线接口仅需要一个端口引脚进行通讯;(2) 在DS18B20中的每个器件上偶有独一无二的序列号,因此多个DS18B20可以并联在唯一的三线上,实现多点组网功能;(3)
R液晶显示步进电机运行状态,其效果比用数码管显示要更加明了,也更容易读取相关状态和数据。 液晶上显示有电机运行的状态、当前 步数 、运行方向以及其运转速度。 其显示原理如下图 42: 图 42 液晶显示流程图 正反转流程图 步进电机的正反转用 K K2控制,初始化电机为顺时针转,即“》”, 每当按下 K4键,电机转向改变,具体流程图如下图 43: 启动与停止流程图 启动与停止是用 K1键来
ROM、键盘、马达、 LED、 AD/DA、部分 SPI 器件、部分 IIC 器件等)。 软件编译采用 KEIL C51 软件, Keil C51 是美国 Keil Software 公司出品的 51系列兼容单片机 C 语言软件开发系统,与汇编相比, C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 用过汇编语言后再使用 C 来开发,体会更加深刻。 Keil C51
,它还具有一个看门狗( WDT)定时 /计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。 AT89S52 有 40 个 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 其芯片外观及引脚图如下: 引脚, 32 个外部双向输入 /输出( I/O)端口,同时内含 2
由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为衡量步进电机最重要的参数之一。 比如,当人们说 的步进电机 ,在没有特殊说明的情况下是指保持转矩为 的步进电机。 步进电机的一些特点 3%5%,且不累积。 温度。 ,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点; 一般来讲,磁性材料的退磁点都在 130℃以上
图 23 晶体振荡电路 复位电路 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销单片机课程设计 9 复位信号。 为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分 — 合过程中引起的抖动而影响复位。 RST:复位输入,当振荡器工作时, RST 引脚出现两个机器周期 以上高电平将使单片机复位。 图 24 复位电路 按键及响铃功能 本设计是基于