单片机人机界面设计
基于W77E58单片机的液晶触摸屏人机界面设计

基 于 W7 E 8单片机 的液晶触摸屏人 机界 面设计 75
工 程 学 院 , 江 2 00 ) 江 镇 1 2 3
摘 要 : 文 介 绍 了一 种 在 单 片机 控 制 的 液 晶触 摸 屏 上 实现 友 好 人 机 交互 的 方 法 。其 中 , 该 硬
d urns y c ret)是 近年 来 发展 起 来 的一 种新 型 涡 流检 测方 法 , 目前在 飞 机机 身 多层 结 构 、 力 容器 、 压 油气
件 检 测 触 摸 位 置 . 触 摸 屏 控 制 器 后 . 将 其 转 换 送 再
成 触 点坐标 并 回送 给 C U P 液 晶触 摸屏 具有 集成 度
件 平 台以 高性 能单 片机 W 7 E 8 液 晶 控 制 器R 8 5 触摸 控 制 器A 7 4 为 核 心 器 件 进 75 、 A8 3 和 D¥ 8 3
行 构 建 . 件 部 分基 于模 块 化 设 计 思 想 , 用 C5 语 言进 行 编 程 , 软 采 1 通过 设 置 结 构 体 变量 、 模 拟S I 序 实现 了 多级 菜单 显 示 及 其 触摸 功 能 。该 触 摸 屏 已在 脉 冲 涡流 数 据 采 集 系统 中 用 P时
管道 等诸 多领域 的检 测探 伤 中得 到 了越来 越 广泛 的
应用 I 1 l 。将 触摸 屏 技 术应 用在 脉 冲涡 流数 据 采 集 系
LCD c n rle RA8 35 n tuc c n rle ADS7 43 o o sr ced h c r a s fwae o to lr 8 a d o h o to lr 8 t c n tu t te o e nd o t r wa mo u a l d sg e s d l y e in d r o C51 g a n o r mmi g a g a e y etng he tucu e aibls n smu ain PI i ig o c i v a n l n u g b s ti t sr tr v ra e a d i lto S tm n t a h e e muli e e t-lv l m e u iply nd o h u to n d s a a tuc f ncin.The o c t u h—s r e ha b e us d s he hu a i t ra e f he ule e d c r cen s en e a t m n n ef c o t p s d d y u r nt daa c u sto s se , n i a a h e e h f cin f a a tr e tn s n e s t a q iiin y t m a d t n c i v t e un t o p r mee s ti g a d sau ds ly o ns r t e c o tt s ip a t e u e h s se ha g o h m a —c mp t r i tr ci n y t m s o d u n o u e ne a to .
(安全人机工程学)第6章人机界面设计

控制器设计应便于维护和修理,降低维护成本和时 间。
CHAPTER 04
交互设计
交互方式的类型与选择
文本输入
提供文本输入选项,允许用户通过键盘或手 写输入信息。
语音识别
利用语音识别技术,允许用户通过语音与系 统进行交互。
图形界面
使用图形元素,如按钮、图标和菜单,提供 直观的操作方式。
触摸屏
提供触摸屏界面,使用户能够通过触摸操作 与系统进行交互。
交互界面的设计要素
布局
合理安排界面元素的位置,确 保用户能够快速找到所需功能
。
色彩搭配
选择适当的颜色,以增强界面 的视觉效果和用户体验。
字体选择
使用清晰易读的字体,确保用 户在阅读信息时不会感到疲劳 。
图标与按钮
设计简洁明了的图标和按钮, 以便用户快速识别和操作。
信息可读性
显示信息应清晰、易读,避免产生视觉疲劳和误读。
可视化友好
对于视觉显示,应采用易于理解的图表、符号等可视 化元素,提高信息传达效果。
CHAPTER 03
控制器设计
控制器的类型与选择
1 2 3
机械式控制器
利用机械原理实现控制功能的控制器,如开关、 旋钮等。选择时应考虑其可靠性、耐久性和稳定 性。
提供一定程度的个性化 设置选项,满足不同用 户的习惯和需求。
人机界面设计发展趋势
整合多种交互方式,如语音、手势、 触摸等,提供更加自然和便捷的交互 体验。
将情感因素融入界面设计,增强用户 与界面的情感联系,提升用户体验的 愉悦感和满足感。
智能化
多模态交互
无障碍设计
情感化设计
借助人工智能技术,实现界面的自适 应、智能推荐等功能,提高用户体验。
基于单片机的工业机器人控制器设计

基于单片机的工业机器人控制器设计摘要:随着工业自动化的不断发展,工业机器人在生产领域的应用越来越广泛。
而工业机器人的控制系统是整个系统的关键部分,其中单片机作为控制器的核心部件起着至关重要的作用。
本文主要介绍了一种基于单片机的工业机器人控制器设计方案,以及相关的硬件和软件设计。
设计方案中采用了先进的单片机芯片作为控制器的核心,结合相关外围模块和传感器实现了工业机器人在生产中的各项功能。
在软件设计方面,通过对控制算法的优化和相关模块的编程实现了工业机器人的精确控制和复杂任务的执行。
该设计方案在实际应用中具有较高的可靠性和灵活性,能够满足不同生产场景下的工业机器人控制需求。
1.引言工业机器人是指在工业生产中用于替代人工完成物料搬运、零部件装配、焊接、喷涂等工作的自动化设备。
随着工业化程度的不断提升,工业机器人的应用范围逐渐扩大,已经成为现代工业生产不可或缺的一部分。
工业机器人的控制系统是其核心部分,决定了机器人的性能和功能,而单片机作为控制器的核心部件,其设计质量和性能对整个系统的稳定性和可靠性具有重要影响。
2.1 控制器选型在工业机器人控制器的设计中,单片机的选型是至关重要的。
对于工业机器人来说,其控制系统需要具备高性能、高可靠性和较大的扩展性,因此在选用控制器的时候需要考虑这些因素。
本设计方案中选用了一款性能较为优异的32位单片机芯片作为控制器的核心,该芯片具备较高的运算速度和较大的存储空间,同时支持多种外设接口和通信接口,可以满足工业机器人在生产中的各项需求。
2.2 外围模块设计除了单片机芯片之外,工业机器人控制器还需要配备各种外围模块,包括驱动模块、传感器模块、通信模块等。
驱动模块用于控制机器人的各个执行机构,需要提供足够的功率和精确的控制能力;传感器模块用于获取机器人在生产中的各项参数,如位置、速度、力等;通信模块则用于和上位机或其他设备进行数据交换和控制指令的传输。
在本设计方案中,针对不同的外围模块,设计了相应的电路和接口,确保其能够和单片机芯片进行稳定可靠的通信和数据交换。
工业设计中的人机界面设计

工业设计中的人机界面设计随着科技的发展和普及,人们对产品的需求和要求越来越高。
产品的功能、外观和使用体验已经成为衡量一个产品优劣的重要标准。
作为产品的重要组成部分,人机界面设计在工业设计中占据着重要的位置。
一、什么是人机界面设计人机界面设计(Human-Machine Interface,HMI)是指人与机器之间进行信息交互的界面设计,也叫人机交互界面设计。
它是将人、机器和信息三者结合在一起的一个桥梁,是人与机器之间沟通交流的重要方式。
人机界面设计包括硬件界面设计和软件界面设计。
硬件界面设计主要是指产品的物理外观和操作控件的设计;软件界面设计是指产品的图形界面(Graphical User Interface,GUI)设计,包括屏幕布局、图标设计、颜色等组成部分。
二、人机界面设计的重要性人机界面设计在工业设计中的重要性不言而喻。
它直接关系到产品的使用体验和用户满意度,也是产品市场竞争的重要因素。
良好的人机界面设计可以有效地提高产品的使用效率和便捷性,为用户带来更好的体验感受。
同时,人机交互界面的设计也涉及到产品的安全性和可靠性。
比如,一些医疗设备、军事装备和航空器等产品,人机界面设计的合理性直接关系到产品的使用安全和稳定性,不能掉以轻心。
三、人机界面设计的要素1.设计关注点在进行人机界面设计时,需要关注以下几个方面:(1)用户需求:了解目标用户及其需求,根据用户场景设计相应的交互方式和界面元素。
(2)互动体验:通过页面布局、颜色搭配、图标等元素的设计,提高用户互动的可视、可感、可知性。
(3)易学易用:设计要简单易懂,避免过于复杂或难以识别的操作控件。
(4)美学化:界面要美观舒适,提升用户的感知体验。
2.界面元素人机交互界面的设计需要考虑以下几个元素:(1)布局:界面的构造需要合理,使用者对产品的使用方便快捷。
(2)颜色和字体:颜色和字体的搭配需要合理,让用户能够感受到页面带来的舒适感。
(3)图标和图片:图标和图片的设计要简洁易懂,可以帮助用户更方便地理解和识别各个页面和操作。
《人机界面设计作业设计方案》

《人机界面设计》作业设计方案一、作业背景随着信息技术的不息发展,人机界面设计在各个领域中扮演着越来越重要的角色。
为了培养学生对人机界面设计的理解和实践能力,本次作业将以《人机界面设计》为主题,让学生通过设计一个具有实际应用意义的界面来提升他们的设计思维和技能。
二、作业目标1.了解人机界面设计的基本原理和方法;2.掌握人机界面设计的常用工具和技术;3.培养学生的设计思维和创新能力;4.通过实践,提升学生的人机界面设计能力。
三、作业要求1.选择一个具有实际应用意义的场景,设计一个符合用户需求和操作习惯的人机界面;2.界面设计应具有良好的可用性和用户体验,符合人机工程学的相关原则;3.设计要思量到不同设备的显示尺寸和分辨率,能够适配不同屏幕大小的设备;4.作业提交包括设计稿、交互原型和设计说明三部分。
四、作业步骤1.确定设计主题:选择一个实际应用途景,如在线购物、社交媒体、健康管理等;2.用户钻研:调研目标用户群体的需求和习惯,分析用户痛点和需求;3.界面设计:根据用户钻研结果,设计界面的布局、色彩、字体等元素;4.交互设计:设计界面的交互方式,包括按钮、导航、动画效果等;5.原型制作:利用设计工具制作交互原型,展示界面的交互流程和功能;6.设计说明:撰写设计说明,诠释设计思路、理念和技术实现方法。
五、作业评判标准1.设计创新性:界面设计是否具有新颖的创意和想法;2.用户体验:界面是否易用、直观,符合用户操作习惯;3.设计质量:界面布局、色彩、字体等元素是否协调统一;4.技术实现:交互原型是否能够有效展示界面的交互功能;5.设计说明:设计说明是否清晰明了,能够诠释设计思路和实现方法。
六、作业提交要求1.作业提交时间:作业设计方案需在规守时间内提交;2.作业提交形式:设计稿、交互原型和设计说明需打包压缩后上传至指定平台;3.作业提交评审:作业将由专业教师进行评审,评选出优秀作品进行展示和分享。
七、总结通过本次《人机界面设计》作业设计方案,学生将能够深入了解人机界面设计的基本原理和方法,掌握设计工具和技术,培养设计思维和创新能力,提升人机界面设计能力,为未来的职业发展打下坚实基础。
单片机与人机交互设计基于触摸屏和LCD的界面

单片机与人机交互设计基于触摸屏和LCD的界面现代科技的快速发展使得单片机在各个领域中得到了广泛应用。
而人机交互设计则成为了确保单片机能够高效运行的关键因素之一。
在众多人机交互设计中,基于触摸屏和液晶显示屏(LCD)的界面设计被证明是一种相对简单而有效的设计方案。
本文将重点探讨基于触摸屏和LCD的界面在单片机中的应用。
一、触摸屏和LCD的基本原理触摸屏主要是通过电容或者电阻的方式来感知用户触摸操作,并将触摸信息转化为数字信号传递给单片机进行处理。
而LCD则是通过液晶材料的光学特性来显示图像和文字。
触摸屏和LCD在单片机中的应用可以实现用户与系统的直接交互,使得操作更加简洁、直观。
二、触摸屏和LCD的优势和应用场景1. 优势:- 方便易用:通过触摸屏和LCD,用户可以直接点击、滑动等方式进行操作,避免了繁琐的物理按钮设计和控制。
- 信息展示清晰:LCD的高分辨率和色彩显示能力使得界面展示更加清晰、生动,为用户提供舒适的视觉体验。
- 界面设计灵活:通过软件设计,开发人员可以根据具体需求自由设计界面,实现更多样化的功能和操作方式。
2. 应用场景:- 智能家居控制:通过触摸屏和LCD,用户可以方便地控制家居设备,如调节灯光、温度、音量等。
- 工业控制系统:触摸屏和LCD可以在工业环境中应用,通过图像化的界面进行开关控制、参数调整等操作。
- 汽车导航系统:借助触摸屏和LCD,驾驶员可以方便地控制导航、音响等系统,提高驾驶的安全性和便利性。
三、触摸屏和LCD在单片机开发中的实现方式1. 硬件配置:单片机需要配合相应的触摸屏和LCD模块来完成交互设计。
常见的触摸屏包括电容触摸屏和电阻触摸屏,其中电容触摸屏在精度和响应速度上更有优势。
同时,为了提供图像显示功能,LCD模块通常需要支持合适的分辨率和显示颜色。
2. 软件开发:通过单片机的编程实现触摸屏和LCD的交互功能。
开发人员可以借助相关的开发工具进行代码编写和调试。
工业控制的人机界面设计

工业控制的人机界面设计计算机的出现导致了工业控制的一场革命。
在此之前,电子单元仪表只能通过接线变化来构建稍微复杂一点的控制系统,气动单元仪表就更麻烦了,简单的计算就需要相当复杂的搭建,所以串级、前馈、比例、分程、选择性控制(请参见《自动控制的故事》)都成了“先进控制”。
另一方面,传统电子单元仪表安装在竖立的仪表板上,一个回路一个鸽子笼。
一个操作工照看十几个回路,再多就看不过来了,距离太远。
随着工厂规模越来越大,控制系统越来越复杂,传统的仪表板已经不适合需要,几十米长的仪表板需要很多操作工照看不说,没有一个操作工可以对全局有一个清晰的概念。
于是,在常规的仪表板上方,开始加装一个标示整个工厂流程的象形显示板,用图形表示简化的工艺流程,在关键设备上有警告灯标示,表明设备的运行概况或对关键参数报警。
由于所有人都能看见这块显示板,所有人都了解重要设备的状态。
工业装置的规模越来越大,复杂程度越来越高,系统的集成度也越来越高,强烈要求集中控制,可以对复杂过程的控制变量作统筹安排。
在某种程度上,更多的操作工反而碍事,操作工与操作工之间的交流费时,容易出错,越来越长的仪表板越来越难以适应现代控制的需要。
计算机的出现不仅在控制算法和数学模型计算的实现上提供了空前的灵活性,而且对工业控制的显示也是一场革命。
同一个显示屏可以调用不同的控制回路信息,而且可以根据需要,显示传统上为了节约占地而不在仪表板上显示得非常细节的信息。
不再需要传统仪表板上的一个萝卜一个坑也解放了仪表板背后的成排的仪表柜,只要现场仪表(变送器/传感器、阀门、马达控制)的线拉进了控制室,增减回路也不再是大动干戈的事情。
事实上,相当一部分工业计算机控制系统是作为集中显示装置使用的,在控制技术上只是PID加串级、前馈纸类的所谓“先进过程控制”,并没有充分利用计算机的数学控制计算的能力。
一夜之间,仪表板不需要了,由几个显示屏取而代之。
显示屏可以不止一个。
过去显示屏的数量受到成本限制,现在21英寸的LCD显示屏才几百刀,对于工厂的建设和运行成本几乎可以忽略不计,所以成本不再是问题,而是由操作台上显示的有效性决定。
利用Microchip 32位MCU加快对复杂图形化触摸传感人机界面设计的开发

起 提供 的其 他 软件 库 、 源代 码 和 其 他辅 助 材料 可
以进 一步 缩 短 开发 周 期 和 降低 设计 成 本 。 当与 其 他 附属 板 结 合 使用 时 ,增 强 型 mT u h o c
企业之窗・
・
电 子 工 业 毫 用 设 备
ime to lcrncP o u  ̄ p n  ̄ et i r d c f o
-
电容式 触 摸 评估 板 有助 于设 计人 员评 估 Mi o hp c ci r 的所 有 8位 、 6位 和 3 1 2位单 片机 , 从而 为 广 泛 的 设 计 需求 提 供 一个 可 扩 展 的 电容 式触 摸 传感 开 发 平 台。
开发 板 。 了解 详细 信 息 , 欲 可联 系 Mi o hp销 售代 c ci r
于 Wid ws操 作 系 统 的 mT u h 诊 断 工 具 no oc
f o c an s cT o)评 估 其 应 用 中 的 这 一 界 mT u hDig ot o 1 i
面 。 软件 丁 具 为开 发 电容 式 触摸 按 钮 和滑 动条 提 该
供 了一 个 易 于 使 用 的 图形 用 户 界 面 ( UI, 也 包 G )这 含 在 免 费 的 MP A L B集 成 开发 环 境之 中 。与评估 板
— L — — 址 址 . L— 止 — — — S S 地 址 — 址
— 址
. 儿
. S
利用 Mi o hp3 c c i 2位 M C r U加 快 对 复杂 图形 化 触 摸 传 感 人 机界 面 设计 的 开发
多 媒 体 扩 展 板 是 一 个 可 以 加 至 任 何 一 款 PC 2入 门工 具 包 的插 件 模 块 , 己 向 数 千 位 嵌 入 I3 式 设 计人 员售 出 使用 。 该 板 可 以演 示 如 何 实现 一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*************************************************************************
独立按键与菜单显示系统的设计
****************************************************************************
引言:
通过按键和LCD液晶显示组成的人机界面是电子产品设计的常用的人机交互方式,如果能够将复杂且耗时的按键驱动、液晶驱动、菜单维护等工作从系统中分离出来并提供完备的功能,对于减少资源占用提高系统实时性、简化系统设计具有重要的意义。
本文以设计一套包含按键置数、菜单滚动、动态显示变量、系统状态发送等功能的最小化的单片机系统,并且以此为契机探讨按键和显示程序设计中应当注意的种种问题和程序的优化设计。
一、独立设计按键和显示系统的意义
人机交互界面就是是人与计算机之间传递、交换信息的媒介和对话接口,是计算机系统的重要组成部分。
按键驱动和液晶显示部分是很多电子设计采取的交互手段,它的好处是接口简便、成本低。
实际上多数的设计中按键和液晶的响应控制不需要有很高的实时性,按键程序通常都包含100ms左右的消抖延时,液晶显示时只要刷屏速度大于150ms(60HZ)肉眼是看不出分别的,但这段时间相对于实时系统来说是一个很长的,如果和系统混合在一起编译运行将占用很大的存储和运行开销。
能够将按键和显示部分从应用系统中剥离出来对于提高开发效率完备程序设计都有很高的价值,特别的对于电子竞赛短时间内需要完成完整的功能设计的情况都有重要的意义。
从系统应用的角度看不同的系统对于按键的处理和显示的功能都是很类似的,比如按键输入一个数据、屏幕的特定位置显示一个变量、菜单上下滚动选中其中的某一行等等。
一个只有三个按键的系统输入一个变量时需要很多的中间变量,还要配合按键扫描、变量数据上下限判断、液晶屏显示当前值、标记显示当前正在输入的位等一系列的功能函数调用步骤才能完成,然而最后系统所关心的只是输入变量的值是多少。
不难看出将按键与显示部分分离出来不仅简化应用系统的设计而且可以大幅提高系统实时处理能力。
设计一个完整的按键菜单液晶模块对于初学者来说也并不是一件容易的事,通常在很熟悉编译环境和语言的前提下要完整编写这些代码也需要几个星期甚至更长的时间,重复编写这些功能不仅耗时而且没有必要。
本设计中带有一个简单的单片机系统完全实现按键和显
示的全部功能独立于系统外运行,可以简单快速的开发需要的人机界面系统,同时通过通讯总线系统通知发生的事件(比如:按键状态变化、用户通过菜单选中某行、用户输入了完整的变量数据等)发送到上位机,上位机接收后可以有选择的进行处理以减少系统开销。
本设计可将菜单字符和结构信息存储在片上eeprom 中通过指令改写,这样系统就具有了很强的移植的特性。
二、 按键驱动设计
按键驱动程序看似简单,但是要编写功能完备、响应灵敏、资源占用少的按键程序需要一些技巧才能实现的。
按键一般由开关构成,少量的按键可直接io 控制,数量较多时一般构成阵列形式,以下论述也适合于AD 器件扩展的按键形式。
按键驱动程序一般由扫描部分、按键获取、按键处理部分组成,逻辑功能见下图:
将扫描和获取分开设计是有必要的。
按键扫描程序负责检查按键状态,如果按键状态变化并且执行消抖延时后仍然保持就将按键状态存入全局量待取,实时性好的按键扫描应该定时触发的形式调用。
按键获取程序返回待取按键状态处理完后清除按键状态。
首先分开设计符合按键程序的基本思想,即扫描产生事件、处理与事件一一对应、不同的事件对应多种处理方式;另外分开设计有利于扩展按键功能,例如组合按键、长按键、按键对应字符等复杂功能的设计上如果没有清晰的程序逻辑结构很容易造成混乱产生不易察觉的错误。
下面的示例程序以100~200HZ 定时调用扫描程序即可驱动按键并且以调用计数消除了去抖延时。
uint8 Press_Key_ID=0; //按键扫描码
int8 Press_Key_Time=-KEY_DEJITTER_TIME;
//键盘扫描 按键扫描 获取键码 Y N 返回
按键处理后清除 Y N 置待取按键 按键状态变化? 有待取按键? 返回
void Key_Scan(void)
{
uint8 tmp=0;
//非消抖时间键盘扫描,置键值
if (Press_Key_Time==-KEY_DEJITTER_TIME || Press_Key_Time>=0) {
tmp = ~KEY_PORTX & KEY_CODE;
if (tmp==0)
{//无键按下
Press_Key_ID=0;
Press_Key_Time=-KEY_DEJITTER_TIME;
}
else
//有键按下
if (Press_Key_ID != tmp) //按键状态有改变
{
Press_Key_ID = tmp;
Press_Key_Time=-KEY_DEJITTER_TIME+1; //进入消抖期}
//常有状态保持不变Press_Key_Time=0待取
}
// 消抖期键码不变 keytime++
else
Press_Key_Time++;
}
//获取键值,如果有返回键码或长按返回-1
uint8 Key_Get(void)
{
uint8 ret=0;
if (Press_Key_ID && Press_Key_Time>=0)
if (Press_Key_Time==0) //有待取按键
{
ret=Press_Key_ID;
Press_Key_Time++;
}
return ret;
}
三、显示部分的菜单设计
菜单应用程序的特点在于分支重多,因此要特别设计好程序的逻辑结构和菜单存储的组织形式,否则当菜单项比较多或涉及的功能比较复杂时就很难实现了。
为了不影响菜单处理时其他功能应该将菜单处理函数以外的实时控制部分单独编写到一个函数中,菜单处理函数中调用此函数完成实时任务。
下面以ST7920控制器的汉字库液晶字符菜单为例,非字符菜单其逻辑结构上也是一样的。
菜单系统可以看作由若干个菜单项组成的树状结构,每一个菜单项包括显示字符和处理函数两部分组成,即每进入一个菜单项先显示若干字符然后进入处理函数。
由此我们可以定义基本的菜单项结构如下:
typedef void (*MENU_FUNCTION)(void);
typedef struct { //菜单项结构
uint8 * MenuString; //字符数组指针
uint8 StringSize; //大小
MENU_FUNCTION Dispose_Fun; //处理函数指针
}MENU_ITEM_STRUCT;
通过结构中的函数指针可以把一个菜单项完整的描述出来,程序中每一个菜单项的切换就可以用同一个函数来处理了。
函数指针的调用形式如:
(* (Menu_Current[MenuChoice].Dispose_Fun))(); //处理调用
为清晰程序设计的逻辑,建议菜单项的命名方式以菜单系统的树状结构自然命名(例如第一层第一个菜单项字符为MenuString_1_1同时其对应的处理函数命名为MenuDispose_1_1等等),然后定义一个菜单结构数组完全描述整个菜单系统,同时附加若干条件编译来简化程序的编写,例如编译条件如果定义了某个菜单字符或处理函数就添加此菜单项的定义等,具体实现不再赘述。
四、独立的系统设计
本次设计以ST7920串行模式为显示器件,其串行时序与SPI总线一致,主控MCU完全控制SPI总线,同时主机负责完成以下部分功能:
1:按键扫描和液晶驱动;
2:中文菜单状态显示、滚屏维护、按键置数等;
3:作为主控端与上位机通讯,传送按键、菜单选中、置数结束等消息,并接收上位机传来的指令(如:数据更新、显示切换、开关显示等)。
系统设计目标为带有按键与菜单维护的独立模块,为支持菜单动态显示变量的功能,需要上位机与主控系统通讯。
此部分功能借助与LCD统一的SPI总线来实现,通讯时主控机为主机,上位机为从机。
另外主控机需要向上位机发送按键状态变化、菜单选中事件通知、按键输入变量值等实时信息,因此SPI总线需要设计成双向通讯的收发模式。
当有上述事件发生时由主控机通知上位机事件类型和变量值等信息。
SPI总线时序逻辑和通讯协议参考相关手册。
对于SPI总线的控制主要考虑是否需要专门的SPI硬件的支持,通过分析硬件SPI总线可以提高主控机与上位机的通信的实时性,可以减少对液晶驱动控制的开销。
但液晶控制器每次发送的控制指令执行需要一段时间来完成(大概100us),由于串行模式无法实现判忙条件,因此硬件SPI总线的支持对于提高LCD驱动部分能够发挥得作用也要打折扣。
结合IO口需求和性价比因素的分析,单片机采用了STC15F100系列8脚封装的单片机,这个型号的单片机内置RC震荡和复位电路,可以省去外部的晶振和复位电路。
总共可提供6个管脚的IO口,三个用于按键,三个用于模拟SPI总线。
五、总结
通过实践本文提出的独立系统大大简化电子设计中的人机界面的开发步骤,同时独立运行的系统使得上位机摆脱耗时的底层驱动开销提高系统的实时性能。
清晰的结构才能实现复杂的处理,本文分析和总结的按键和菜单程序的一般结构具有一定的代表性和参考价值。