2026/4/6 4:07:38
网站建设
项目流程
大型网站建设公司制作网站,优化网站技术,在哪几个网站里可以做淘客,搜索引擎营销有哪些方式2 系统硬件方案选择
本章主要介绍系统中使用的设备的选择和比较。 进行了全面比较#xff0c;以考虑选择最适合此设计的一组解决方案。
2.1 硬件方案的选择
在构建硬件电路之前#xff0c;必须明确定义设计计划#xff0c;并且通过比较各个模块来选择最适合该设计的硬件以考虑选择最适合此设计的一组解决方案。2.1 硬件方案的选择在构建硬件电路之前必须明确定义设计计划并且通过比较各个模块来选择最适合该设计的硬件以最大程度地提高器件的效率。2.2 本设计系统总体方案根据以上的统计数据分析以及大家的讨论,所以我们最终决定采用温度传感ds18b20,单片机采用stc89c51,lcd1602显示屏采用有源的蜂鸣器作为电源进行报警,led灯光传感器实现灯光的报警,按键传感器用于自动设置传感器报警的上限和传感器的下限来检测温度,并将我们检测得到的报警数据和设置的温度值存储在单片机stc89c51的eeprom中(传感器具有自动断电保护的功能)。本设计的具体的系统方案如下图2.1所示。图2.1 系统方案3 系统硬件电路设计本书第一个章节主要是介绍了本系统设计中各个模块以及部分集成电路的结构以及设计工作原理。通过各个集成模块的电路以及功能结构描述可以了解其设计工作的原理以及在基本系统设计的中发挥作用。3.1 STC89C51单片机系统设计3.1.1 STC89C51的概述stc89c51是一款由由美国戴尔stc仪器公司开发生产的一种低功耗成本的小功耗,高性能的cmos8位闪存微控制器,带有8k节的系统内以外和可编程的8位闪存。一个非常经典的stmcs51内核已经开始装载到现在了新的stc89c51,而且新的内核已经基本开始对它有很大的更新发展和重大改进,让这个芯片上具有很多其他的可编程单片机没有的类似于51单片机所没有具备的功能。stc89c51只需要具有以下标准的功能:8k字4节可编程闪存,512字节闪存ram,325位i/o线,看门狗中断定时器,内置4kbeeprom,max810复位中断电路,36个16位看门狗定时器/中断计数器,47个外部中断,a7向量4k级中断结构(与市场上传统的51向量59级2中断计数器结构兼容),全双工串行中断端口。此外,stc89c51可以自动降低频率到0hz进行静态的逻辑中断操作,并且可以支持2*软件选择的省电保护模式。在自动空闲掉电保护模式下,cpu自动停止所有卫星中断工作,从而可以允许ram,计时器/中断计数器,串行中断端口以及外部中断电路继续同时工作。在自动掉电保护模式下,会自动保存下来的ram,然后自动冻结主机和振荡器,停止主机和微控制器的所有逻辑中断工作,直到下一次串行中断计数器或硬件的复位结束为止。最大的工作频率可选择为356mhz,6t/12t,这是完全可选的。上表中e为寄存器的使能端;rs为指令寄存器的选择,当寄存器rsh时,h表示选择相应的数据寄存器,rsl时表示选择指令寄存器;r/w为寄存器的信号线,r/wh时信号线执行读指令写操作,r/wl时信号线执行指令写操作。lcd1602具体的指令读操作时序如下表图3.5,写操作的时间序列表如图3.6所示。图3.5 LCD1602读操作时序图4 系统软件部分设计4.1 软件开发环境的介绍4.2 系统重要函数的介绍4.2.1 主函数的设计main是一个函数maivoidmain()是应用程序的入口这个函数,必须将它包含在完整的应用程序中。在这个函数的开始,我们通常需要进行初始化并重新分配一些完整的变量入口给mcu和一些其它需要进行初始化的外围设备,然后它们这样才能正常投入使用。初始化之后,我们将进入一个死的循环,如果我们退出了,意味着我们不进入一次死的循环。如果我们继续循环,意味着我们已经加入了死的执行循环,这样就使得我们可以直接达到实时地检测和控制程序执行的目的。在基于主程序的操作系统设计中,在一个主程序函数中需要留下太多的执行代码可能是不被主程序所允许的。具体的执行代码通常由主程序函数进行封装,然后在相应的主程序函数中进行调用,我们读取和修改,报错才比较方便。具体流程图如下4.1所示。图4.1 主函数流程图4.3 系统软件测试系统软件调试中我主要遇到以下问题1向LCD1602液晶发送清屏 命令时LCD1602没有成功清屏。解决方案参照LCD1602说明书发现清屏指令确实是0x01与程序上几乎一摸一样但显示屏可以显示内容说明程序发送的指令没有错误但没有显示清楚。所以在发送清屏指令后是否进入下一个内容显示是值得我们去怀疑的并且lLCD1602的处理速度不够所以清屏 指令没有实际执行。添加40毫秒的延迟后然后我发现下载程序后再次执行了清除屏幕命令。思来想去然后我仔细翻阅了说明书发现LCD1602清屏确实需要1.64ms的执行时间最终我的程序就采用4ms的延时。2 EEPROM存储错误。解决方案一开始在读写数据之前我没有进行任何操作。我以为这样可以完成数据存储然后我通过查阅数据得知在写入数据之前STC MCU内部的EEPROM必须擦除扇区不然的话程序里面写入的数据就会被擦除这个结果是因为自身数据匹配。然后在我将数据写入程序之前添加擦除扇区后数据就可以正常存储了。文章底部可以获取博主的联系方式获取源码、查看详细的视频演示或者了解其他版本的信息。所有项目都经过了严格的测试和完善。对于本系统我们提供全方位的支持包括修改时间和标题以及完整的安装、部署、运行和调试服务确保系统能在你的电脑上顺利运行。