基于某单片机称重仪的设计
- 格式:docx
- 大小:220.04 KB
- 文档页数:29
基于STM32F1单片机的电子秤的设计1.本文概述随着技术的进步和电子技术的普及,电子秤已成为日常生活和工业生产中不可或缺的工具。
与传统的机械秤相比,电子秤具有更高的测量精度、更强的功能性和更广泛的应用范围。
本文旨在设计一种基于STM32F1单片机的电子秤。
该设计不仅专注于电子秤的称重和单位转换等基本功能,而且通过使用STM32F1微控制器,赋予电子秤更智能的功能,如数据存储、传输和用户界面交互。
文章首先介绍了STM32F1单片机的特点和适用性,然后详细阐述了电子秤的设计原理、硬件选择和软件实现。
本文还包括对系统的测试结果和分析,以验证设计的有效性和可靠性。
通过本文的研究和设计,有望为电子秤领域提供一种创新实用的解决方案。
2.系统设计原则在这种电子秤的设计中,STM32F1微控制器作为核心控制器,其重要性体现在以下几个方面:处理能力:STM32F1系列微控制器基于ARM CortexM3内核,具有强大的处理能力和高效的能耗比。
其最大工作频率可达72MHz,足以处理电子秤所需的复杂计算和数据传输任务。
集成:该系列微控制器集成了丰富的外围接口,如ADC(模数转换器)、UART(通用异步收发器)、I2C(集成电路总线)等。
这些接口对电子秤的设计至关重要。
稳定性和可靠性:STM32F1微控制器具有优异的抗干扰能力和稳定性,适用于工业应用,确保了电子秤在复杂环境中的准确性和可靠性。
电子秤的核心部件是传感器,用于将物体的重量转换为电信号。
在该设计中,选择了压力传感器作为主要测量元件。
传感器的工作原理是基于弹性变形。
当物体受到压力时,传感器内部的电阻应变计变形,从而改变电阻值并通过惠斯通电桥将其转换为电压信号。
信号放大和滤波:传感器输出的模拟信号通常较弱,需要通过信号放大器进行放大。
为了提高信号质量,设计了滤波电路来去除噪声,保证信号的准确性。
模数转换:通过STM32F1微控制器内置的ADC将放大后的模拟信号转换为数字信号,使微控制器易于处理和计算。
湖南理工学院数字信号处理课程设计设计题目:称重仪的设计院部:机械学院专业:机械电子工程班级:机电二班学生姓名: 贾学号: 111摘要本设计是基于单片机的称重仪,它的硬件电路设计包括单片机最小系统、A/D转换器、称重传感器、语音电路、LED显示电路、±5V稳压电源电路等几部分设计内容。
其中压力传感器输出响应的模拟电压信号,经过模/数转换(A/D变换)后就得到数字量D。
但是,数字量D并不是重物的实际重量值W,W 需要由数字量D 在控制器内部经过一系列的运算——即数据处理才能得到。
整个设计系统由Atmel公司生产51系列89S51单片机进行控制;软件实现功能开机检测,主要是开机后自动逐个扫描LED数码管,以防止某段数码管损坏造成视觉误差;出于人性化考虑我们还可以增加语音电路,实现自动语音播报重量。
11目录一、课题设计要求二、总体设计方案三、硬件电路模块分析四、硬件电路设计五、软件设计六、总结1111一、题设计要求1、设计出硬件电路。
2、设计出软件程序2、采用A/D的转换器3、LED显示要显示的内容。
二、总体方案设计2.1 称重仪的基本工作原理电子秤的工作原理以电子元件:称重传感器,放大电路,AD转换电路,单片机电路,显示电路,通讯接口电路,稳压电源电路等电路组成。
当物体放在秤盘上时,压力施给传感器,该传感器发生形变,从而使阻抗发生变化,同时使用激励电压发生变化,输出一个变化的模拟信号。
该信号经放大电路放大输出到模数转换器。
转换成便于处理的数字信号输出到CPU运算控制。
CPU 根据程序将这种结果输出到显示器,直至显示这种结果。
2.2称重仪的系统总体框图按照本设计功能的要求,系统由5个部分组成:控制器部分、信号采集部分、报警部分、数据显示部分、和电路电源部分,系统设计总体方案框图如图2.1所示。
11总系统体框图信号采集部分是利用称重传感器检测压力信号,得到微弱的电信号(本设计为电压信号),而后经处理电路(如滤波电路,差动放大电路,)处理后,送A/D转换器,将模拟量转化为数字量输出。
基于单片机的实用电子秤设计一、硬件设计1、传感器选择电子秤的核心部件之一是称重传感器。
常见的称重传感器有电阻应变式、电容式等。
在本设计中,我们选用电阻应变式传感器,其原理是当物体的重量作用在传感器上时,传感器内部的电阻应变片会发生形变,从而导致电阻值的变化。
通过测量电阻值的变化,就可以计算出物体的重量。
2、信号放大与调理传感器输出的信号通常比较微弱,需要经过放大和调理才能被单片机处理。
我们使用高精度的仪表放大器对传感器输出的信号进行放大,并通过滤波电路去除噪声干扰,以提高测量的准确性。
3、单片机选型单片机是整个电子秤系统的控制核心。
考虑到性能、成本和开发难度等因素,我们选用 STM32 系列单片机。
STM32 系列单片机具有丰富的外设资源、较高的运算速度和良好的稳定性,能够满足电子秤的设计需求。
4、显示模块为了直观地显示测量结果,我们选用液晶显示屏(LCD)作为显示模块。
LCD 显示屏具有功耗低、显示清晰、视角广等优点。
通过单片机的控制,可以在 LCD 显示屏上实时显示物体的重量、单位等信息。
5、按键模块为了实现电子秤的功能设置,如单位切换、去皮、清零等,我们设计了按键模块。
按键模块通过与单片机的连接,将用户的操作指令传递给单片机进行处理。
6、电源模块电源模块为整个电子秤系统提供稳定的电源。
我们使用线性稳压器将输入的电源电压转换为适合各个模块工作的电压,以确保系统的正常运行。
二、软件算法1、重量计算算法根据传感器的特性和放大调理电路的参数,我们可以建立重量与传感器输出信号之间的数学模型。
通过对传感器输出信号的采集和处理,利用数学模型计算出物体的实际重量。
2、滤波算法为了消除测量过程中的噪声干扰,提高测量的稳定性和准确性,我们采用数字滤波算法对采集到的信号进行处理。
常见的数字滤波算法有中值滤波、均值滤波等。
在本设计中,我们选用中值滤波算法,其原理是对连续采集的若干个数据进行排序,取中间值作为滤波后的结果。
一种基于STC89C52单片机的便携式电子秤设计电子秤在日常生活中广泛应用,尤其在超市、货运、厨房等场景中起到了不可或缺的作用。
本文将介绍一种基于STC89C52单片机的便携式电子秤设计,以满足人们对便携、精确、易用的电子秤的需求。
1. 简介电子秤是一种利用传感器测量物体重量的设备。
传统的机械秤存在读数不准确、不易携带等问题,而基于单片机的电子秤则具备了更高的精确度和便携性。
2. 设计原理该电子秤的设计原理是利用压力传感器测量物体受力变化,然后将受力信号通过模拟电路转换为电压信号,再由单片机进行模拟数字转换(ADC)并进行计算,最终得出物体的重量。
3. 硬件设计3.1 单片机选择本设计采用STC89C52单片机作为主控芯片,其具备高性能、低功耗的优势,并且具备8位数据总线、32KB的闪存等特点,非常适用于小型应用。
3.2 传感器选择为了实现高精度的重量测量,我们选用了一款高精度的压力传感器。
该传感器具备良好的线性度和稳定性,能够准确地测量重量变化。
3.3 电路设计电路设计包括模拟电路和数字电路两部分。
模拟电路将传感器输出的模拟信号转换为电压信号,再经过条件放大后输入到单片机的模拟转换电路。
数字电路主要由单片机、LCD显示屏和按键等组成,实现数据处理和人机交互功能。
4. 软件设计4.1 硬件初始化在软件设计中,首先需要对硬件进行初始化设置。
通过配置单片机的GPIO口、中断、计时器等功能来实现对各个硬件模块的控制。
4.2 模拟转换和数据处理通过单片机提供的模拟数字转换(ADC)功能,将模拟电压信号转换为数字信号。
然后,通过数据处理算法对数字信号进行滤波和校准,得出准确的重量数据。
4.3 显示和人机交互使用LCD显示屏来展示测量结果,并增加按键功能,方便用户进行重量锁定、切换单位等操作。
同时,还可以通过串口通信将数据传输到其他设备。
5. 功能拓展在基本功能实现的基础上,可以对电子秤进行一些功能扩展。
例如,增加存储功能,记录每次测量的重量数据;增加串口通信功能,方便与其他设备进行数据交互;增加温湿度传感器等,实现多功能集成。
单片机应用技术课程设计设计题目:基于单片机的体重秤设计院(系):电子与电气工程学院时间:2021年12月6日至2021年12月10日说明1.课程设计进行期间,学生应按教学计划、每天的学习情况(包括学习内容、遇到问题及解决办法、心得体会等)如实进行记录。
2.结束时,根据课程设计内容和学习记录编写课程设计说明书。
3.指导教师应综合考虑学生的学习态度、设计质量、答辩情况等,给出成绩。
郑州科技学院单片机应用技术课程设计任务书一、设计题目基于单片机的体重秤设计二、设计任务与要求(1)系统可实现体重秤的基本称重功能(称重范围0~100kg、重量误差不大于±0.001kg)(2)用LED 液晶显示屏显示被称物体的重量。
(3)系统超出最大测量范围时会出现自动报警指示功能。
(LED红灯闪烁报警提示、LCD会显示超重提示标语)三、参考文献[1]吴静进,何尚平,万彬. MCS-51单片机原理与应用[M].重庆大学出版社:201901.294.[2]周伟,林凡强. 单片微机原理及应用[M].重庆大学出版社:201808.263.[3]付丽辉,杨玉东,徐大华,皇甫立群. 单片机原理及应用实训教程[M].南京大学出版社:21世纪应用型本科院校规划教材, 201707.199.[4]刘爱荣,王双岭,李景丽,韩晓燕,刘秀敏,李立凯. 51单片机应用技术(C语言版)[M].重庆大学出版社:自动化专业本科系列规划教材, 201505.336.[5]邓胡滨,陈梅,周洁,黄德昌. 单片机原理及应用技术[M].人民邮电出版社:201412.342.四、设计时间2021 年11 月15日至2021 年11月19 日指导教师签名:2021 年11 月12 日目录1 课程设计的目的 (1)2 课程设计的任务与要求 (1)3 设计方案与论证 (2)4设计原理 (3)4.1 总体原理图 (3)4.2 系统方框图 (3)5 硬件电路设计 (4)5.1复为电路 (4)5.2 传感器电路 (4)5.3 液晶驱动电路设计 (5)5.4 键盘电路设计 (5)5.5 EEPROM外围电路设计 (6)5.6电池低电压检测电路 (6)5.7 AD外围电路设计 (7)5.8声音提示模块 (8)6 系统软件设计 (9)6.1LCD驱动子程序的设计 (9)6.2 AD子程序的设计 (11)7 系统调试 (12)8 总结 (12)参考文献 (14)附录1:总体电路原理图 (15)附录2:元器件清单 (16)附录3 :程序源代码 (17)1 课程设计的目的目前,随着社会的发展、生活水平不断提高,人们越来越关注自己的身体健康。
第1章绪论1.1 本课题研究的背景及意义称重技术自古以来就被人们所重视,作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。
电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。
称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。
称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。
因此,称重技术的研究和衡器工业的发展各国都非常重视。
50年代中期电子技术的渗入推动了衡器制造业的发展。
60年代初期出现机电结合式电子衡器以来,经过40多年的不断改进与完善,我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。
现今电子衡器制造技术及应用得到了新发展。
电子称重技术从静态称重向动态称重发展:计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。
通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。
电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。
随着自动化测试技术的发展,传统的称重系统在功能、精度、性价比等方面已难以满足人们的需要,尤其在智能化、便捷式、对微小质量的测量方面更显得力不从心。
基于单片机的智能人体电子秤设计智能人体电子秤是一种智能化的体重测量设备,可以用于监测人体重量及其他相关数据。
这种电子秤通常基于单片机进行设计,其原理是通过测量人体所施加在传感器上的重力来确定人体的重量。
在智能人体电子秤的设计中,单片机起到了关键的控制和处理作用。
一、硬件设计:1.传感器:智能人体电子秤的核心部件是传感器,可以选择采用压阻式传感器。
这种传感器可以通过电阻的变化来测量物体的重量。
2.A/D转换器:传感器输出的是模拟信号,需要通过A/D转换器将其转换为数字信号以供单片机处理。
3.单片机:这是整个电子秤系统的中央处理器,负责控制和处理传感器的数据,并将结果显示在LCD显示屏上。
它还可以与其他设备进行通信,例如蓝牙模块或Wi-Fi模块。
4.LCD显示屏:用于显示人体的重量和其他相关信息,例如BMI指数。
5.按键:用于用户输入和设置,例如调整单位(公斤、斤等)或记录个人信息。
二、软件设计:1.初始化:单片机启动后,需要对各个硬件进行初始化设置,并将LCD显示屏上的初始界面清除。
2.传感器数据读取:单片机需要定时读取传感器输出的模拟信号,并通过A/D转换器将其转换为数字信号。
3.数据处理:读取到的数字信号代表了物体的重量,在该阶段,单片机可以进行一些数据处理工作,例如校正或滤波。
4.显示结果:将处理后的重量数据显示在LCD显示屏上,并可以添加一些附加信息,例如BMI指数或其他健康参数。
5.用户交互:单片机可以通过按键与用户进行交互,例如调整单位或记录个人信息。
6. 数据存储:可以将用户测量的数据存储在Flash存储器中,以便后续查看和分析。
7.通信功能:通过添加蓝牙模块或Wi-Fi模块,可以实现智能人体电子秤与其他设备的通信,例如手机或电脑。
三、优化设计:1.省电设计:可以在合理的情况下,通过开关控制部分硬件的电源,以降低功耗。
2.人体干湿重量识别:通过添加湿度传感器,可以识别人体的干湿重量,从而更好地了解健康状况。
湖南理工学院数字信号处理课程设计设计题目:称重仪的设计院部:机械学院专业:机械电子工程班级:机电二班学生姓名: 贾学号:11摘要本设计是基于单片机的称重仪,它的硬件电路设计包括单片机最小系统、A/D转换器、称重传感器、语音电路、LED显示电路、±5V稳压电源电路等几部分设计内容。
其中压力传感器输出响应的模拟电压信号,经过模/数转换(A/D变换)后就得到数字量D。
但是,数字量D并不是重物的实际重量值W,W 需要由数字量D在控制器内部经过一系列的运算——即数据处理才能得到。
整个设计系统由Atmel公司生产51系列89S51单片机进行控制;软件实现功能开机检测,主要是开机后自动逐个扫描LED 数码管,以防止某段数码管损坏造成视觉误差;出于人性化考虑我们还可以增加语音电路,实现自动语音播报重量。
2目录一、课题设计要求二、总体设计方案三、硬件电路模块分析四、硬件电路设计3五、软件设计六、总结4一、题设计要求1、设计出硬件电路。
2、设计出软件程序2、采用A/D的转换器3、LED显示要显示的内容。
二、总体方案设计2.1 称重仪的基本工作原理电子秤的工作原理以电子元件:称重传感器,放大电路,AD转换电路,单片机电路,显示电路,通讯接口电路,稳压电源电路等电路组成。
当物体放在秤盘上时,压力施给传感器,该传感器发生形变,从而使阻抗发生变化,同时使用激励电压发生变化,输出一个变化的模拟信号。
该信号经放大电路放大输出到模数转换器。
转换成便于处理的数字信号输出到CPU运算控制。
CPU根据程序将这种结果输出到显示器,直至显示这种结果。
2.2称重仪的系统总体框图按照本设计功能的要求,系统由5个部分组成:控制器部分、信号采5集部分、报警部分、数据显示部分、和电路电源部分,系统设计总体方案框图如图2.1所示。
总系统体框图信号采集部分是利用称重传感器检测压力信号,得到微弱的电信号(本设计为电压信号),而后经处理电路(如滤波电路,差动放大电路,)处理后,送A/D转换器,将模拟量转化为数字量输出。
控制器部分接受来自A/D转换器输出的数字信号,经过复杂的运算,将数字信号转换为物体的实际重量信号,并将其存储到存储单元中。
控制器还可以通过对扩展I/O的控制,对键盘进行扫描,而后通过键盘散转程序,对整个系统进行控制。
数据显示部6分根据需要实现显示功能。
电路电源部分主要是为电路提供稳定方便的电源,将工频电压直接转换成所需的±5伏电压。
报警部分只要是在超重时对使用者发出警告声。
三、硬件电路模块分析3.1称重仪的主控制系统结构(一)主控制系统具备的功能该系统采用单片机作为主控制系统,主要目的在于称重之后的数字化显示和实现精确的测量,故系统应该具有单片机工作所需的稳定的+5V直流电源,又考虑到数字化显示所用到的数码管中会出现某段被损坏而不被点亮的情况,系统应该具有开机自检功能,就是开机后自动逐个扫描每一个晶体管,用来检查数码管各段是否完好,可以依靠软件编程实现。
除此之外还有超重报警功能,防止超重物对传感器件造成损坏。
(二)单片机控制系统结构框图如图2-2所示:78单片机控制系统结构框图3.2 电源模块方案选型为了使称重仪的供电方便,这里把电源设计成用220V 的交流电经过变压器后输出±9的电压,经整流滤波电路后,通过LM7805和LM7905进行DC/DC 变换得到±5V 供压力传感器器和系统的其他芯片使用。
3.3 数据采集模块方案选型数据采集模块分为3个部分:称重传感器、前级放大器和A/D 转换器。
(一)称重传感器传感器选用型压力传感器,为双孔悬臂梁形式, (二)前级放大器采用专用仪表放大器,此类芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单,且放大器的增益是可以改变的。
(三)A/D转换器。
选用12位逐次比较式ADC,此方案经小信号放大、调理电路,可直接连接单片机,也可以可满足精度要求,故采用此方案。
3.4数据显示模块方案选型本设计只需要显示出所称实物的实际重量,由于LED耗电省、使用寿命长、成本低、亮度高等优点,再加上驱动简单,容易利用单片机对其进行控制和编程等特点选用LED显示。
3.5 报警模块方案选型报警电路只在实物超出人为设定的值时,才被单片机驱动。
在这就是对使用者有个提醒作用,人为使用普通的声光报警就可以。
我们选用蜂鸣器与发光二极管来设计报警电路。
四、硬件电路设计4.1机的最小系统设计中央处理单元选用我们熟悉的单片机,即最后电路的核心采用最常用、好用和廉价的ATEMAL公司的AT89S51。
设计者必须仔细选择晶振频率,确保标准的通讯波特率(1200、4800、99600、19.2K等)。
不妨先列出可供选择的晶振所能产生的波特率,然后根据需要的波特率和系统要求选择晶振。
有时也不必过分考虑晶振问题,因为可以定制晶振。
当晶振频率超过20M 时,必须确保总线上的其它器件能够在这种频率下工作。
当工作频率增加时,功耗也会增加,这点在使用电池作为电源的系统中应充分考虑。
单片机采用89S51单片机,它有4K的程序存储空间和256B的数据存储空间,可以满足编程的要求。
P0口和P2口用于LED数码管的显示。
用12Mhz的晶振,时钟周期为1 us。
采用按键复位。
其最小系统的外围电路图如图单片机最小系统104.2电源电路设计本时钟电源采用整流滤波电路和三端稳压电路LM7805和LM7905。
LM7805CT芯片输入端电压约为9V,输出端电压为5V,LM7905芯片输入端电压约为-9V,输出端电压为-5V,输入端和输出端的压差绝对值都应大于2.5V ,否则会失去稳压能力。
同时考虑到功耗问题,此压差又不易太大,太大则增加7805与7905本身的功率消耗,增加芯片的升温,不利于安全。
根据变压器副边电压与经过滤波后输出电压关系可知,副边电压约为±9V,据此确定变压器原副边匝数比这样即可得到系统所需要的±5V电源,电源设计图如图3-2所示。
图3-2 电源设计图4.3前级放大器电路设计11所采用的专用仪表放大器我们选用INA126,其接口如图3-3所示:4.4 A/D转换器电路设计考虑到本系统中对物体重量的测量和使用的场合,精度要挺苛刻,转换速率要求不太,本设计采用MAXIM 推出的MAX18。
4.4.1A/D转换器原理A/D转换器的原理图如图3-4所示:1213图3-4 A/D 转换原理图在A/D 转换器中,因为输入的模拟信号在时间上是连续量,而输出的数字信号代码是离散量,所以进行转换时必须在一系列选定的瞬间(亦即时间坐标轴上的一些规定点上)对输入的模拟信号取样,然后再把这些取样值转换为输出的数字量。
A/D 转换器外围电路MAX187外围引脚接线图MAX187有两种工作方式:正常方式和暂停方式。
将SHDN 引脚拉成CP SSADC取样保持电路ADC的量化编码电路...D D D n-11I v (t )v I (t )输入模拟电压取样展宽信号数字量输出(n位)低电平,器件处于暂停状态,电源电流减低至10uA属于低功耗状态;引脚悬空时,禁止内部参考电源,允许使用外部电源;接高电平时,允许使用内部的参考电源。
当CS 变为低电平时, 开始转换, 此时,DOUT输出为低电平。
包括T/ H 时间的转换时间为10μs , 转换结束, DOUT变为高电平, 当检测到DOU T 为高电平时, 即可读出转换数据。
在SCL K 输入一个脉冲, 最高位B11出现在DOUT上,经过11个时钟后,分别移位输出B10~B0数据,再进入一个时钟后,一个转换周期结束。
因此,每次数据读取需经过13个时钟周期,12MHz时钟下共13×0.1μs = 1.3μs ,因此完成一次转换需10+1.3μs ,约为11μs。
4.5 显示电路设计显示器是最常用的输出设备。
特别时发光二极管显示器(LED)和液晶显示器(LCD),LED是一类可直接将电能转化为可见光和辐射能的发光器件,具有工作电压低,耗电量小,发光效率高,发光响应时间极短,光色纯,结构牢固,抗冲击,耐振动,性能稳定可靠,重量轻,体积小,所以选用二极管。
4.5.1 动态显示LED 显示器接口14所谓的动态显示就是一位一位地轮流点亮各位显示器,对每一位显示器而言,每隔一段时间点亮一次。
显示器的亮度跟导通的电流有关,也和点亮的时间与间隔的比例有关。
显示部分采用4个八段共阴数码管,采用动态显示,利用驱动器74LS244驱动数码管显示数据,达到控制八段码的目的。
可以用图3-14来形象说明动态显示原理。
段驱动器和位驱动器同时发出有效信号才能点亮对应段,否则就呈现不亮状态。
由单片机来控制点亮的时间,第一位点亮后依次点亮后面各位。
图3-15为设计选用的显示部分电路图驱动器74LS244控制4位数码管的段选,反向驱动器74LS04控制位选,最后由单片机发出采集到的信号指令来决定各个数码管的明灭状态和时间长短。
DS1-DS4四位LED分别显示的是称重结果的千位、百位、十位、个位,单位为克,显示精度为1/5000,符合系统设计的要求。
15图3-14 多位LED动态显示电路图3-15 系统显示部分接线图硬件总图1617五、软件设计4.1主程序设计根据系统方案,特设计出本系统主程序流程,可以用框图4-1表示。
程序清单A/D转换子程序:READ1: CLR P1.1 ;片选有效,启动转换18JNB P1.2, $ ;等待转换结束MOV R7,#8 ;读取前八位数据循环计数READ2: CLR P1.0 ;时钟低电平MOV C,P1.2 ;读入的数据存储在位累加器CY中RLC A ;数据循环左移送ASETB P1.0 ;时钟高电平DJNZ R7,READ2 ;读数结束否MOV R1,A ;读入的八位数据储存在R1MOV R7,#4 ;读取后四位READ3: CLR P1.0 ;时钟低电平MOV C,P1.2 ;读入的数据存入CYRLC A ;送入A中SETB P1.0 ;时钟变高电平DJNZ R7,READ3 ;读数结束否MOV R2,A ;读入的4位数据送A19SETB P1.1 ;片选无效CLR P1.0 ;时钟低电平MOV A,R1MOV R7,AMOV A,R2MOV R6,AACALL HTOBCD ;二—十进制转换子程序RETMOV 显示子程序:MOV P2,#7FH ;一直送数字8的代码段R0,#E0H ;左边第一位显示位控字LCALL DELAY ;延时1msMOV R0,#D0H ;左边第二位显示LCALL DELAY ;延时1msMOV R0,#C0H ;左边第三位显示LCALL DELAY ;延时1ms20MOV R0,#B0H ;最后一位显示LCALL DELAY ;延时1msLED-BUF: EQU 40H ;显示数据首地址DISPLAY: MOV R0, #LED-BUF ;指向显示缓冲首址MOV R3, #77H ;从右边第一位显示MOV A, #FFH ;取全不亮位控字MOV R1, #BITPORT ;指向位控口MOVX @R1, A ;关显示LD1: MOV A, @R0 ;取显示数据MOV DPTR, #TABLE ;指向显示段码表首址MOV A,@A+DPTR ;查显示段码表MOV P0, A ;输出显示段码MOV A, R3 ;取位控制字MOV P2, A ;输出位控制字LCALL DELAY1 ;延时1msINC R0 ;取下一个数21JNB ACC.3,LD2 ;已到最高位则返回RL A ;不到最高位,则向高位移动MOV R3, ASJMP LD1LD2: RETTABLE: DB 3FH ;对应字符0DB 06H ;对应字符1DB 5BH ;对应字符2DB 4FH ;对应字符3DB 66H ;对应字符4DB 6DH ;对应字符5DB 7DH ;对应字符6DB 07H ;对应字符7DB 7FH ;对应字符8DB 6FH ;对应字符922DB 0AH ;对应消隐零DELAY1:MOV R7,#64H ;延时1ms子程序LOOP:NOPNOPNOPDJNZ R7,LOOPRETHTOBCD: PUSH AMOV R5,#03HMOV R4,#0E8HACLL DIVZ ;先除以1000得千位POP R0 ;取出千位BCD码地址PUSH R0CJNE R6,#0,HB1 ;千位不是零就跳MOV @R0,#0AH ;千位是零就消隐SJMP HB223HB0: MOV A,R6MOV @R0,ACJNE A,#5,HB01 ;不超重就跳CLR P3,4 ;超重报警CLR P3,5RETHB01: MOV A,R2MOV R6,AMOV A,R3MOV R7,AMOV R5,#0 ;先除以100得百位BCD码MOV R4,#100ACALL DIVZPOP R0 ;取出百位BCD码存放地址PUSH R0CJNE R6,#0,HB3 ;百位不是零就跳24MOV A,@R0 ;百位是零,查千位是否为零?INC R0 ;存放地址指向百位JNZ HB4 ;千位不为零就跳MOV @R0,#0AH ;千位为零百位零消隐SJMP HB5HB1: MOV A,R6MOV @R0,A ;送千位BCD码到对应的显示区HB2: MOV A,R2MOV R6,AMOV A,R3MOV R7,AMOV R5,#0MOV R4,#10ACALL DIVZPOP R0 ;取百位BCD码存放地址CJNE R6,#0,HB3 ;十位不为零就跳25MOV A,@R0 ;十位为零查百位是否为零?INC RO ;存放地址指向十位JNZ HB4MOV @R0,0AH ;百位为零十位零消隐SJMP HB5HB3: INC R0HB4: MOV A,R6MOV @R0,A ;存放BCD码到对应显示区HB5: INC R0MOV A,R2MOV @R0,A ;个位零不用消隐,不用判断是否为零RETDIVZ: MOV A,R7JNZ BEGINMOV A,R6JNZ BEGIN26RETBEGIN: MOV R2,#0MOV R3,#0MOV R1,#16DIVZ1: CLR CMOV A,R6RLC AMOV R6,AMOV A,R7RLC AMOV R7,AMOV A,R2RLC AMOV R2,AMOV A,R3RLC A27MOV R3,AMOV A,R2SUBB A,R4MOV R0,AMOV A,R3SUBB A,R5JC NEXTINC R6MOV R3,AMOV A,R0MOV R2,ANEXT: DJNZ R1,DIVZ1七、总结本次实际过程相对比较顺畅,期间查阅筛选资料的时间缩短了很多,得益于以前设计的经验积累,对于设计的流程有清楚的把握,不足之处在28于过分的依赖于资料,自己独创的部分比较少,在以后的的设计中应该更多地加入自己创新的部分。