当前位置:首页 > 单片机 > 单片机
[导读]通常的单片机系统设计都是先根据实际问题选用单片机芯片,然后决定所需接口的单元电路及芯片等硬件,再根据此硬件来设计软件,因此这种设计方法下的单片机系统开发人员很难继承他人的工作,而必须从同一个起点做起,

通常的单片机系统设计都是先根据实际问题选用单片机芯片,然后决定所需接口的单元电路及芯片等硬件,再根据此硬件来设计软件,因此这种设计方法下的单片机系统开发人员很难继承他人的工作,而必须从同一个起点做起,进行重复工作。面向对象的设计方法和技术与单片机系统设计相结合就产生了面向对象的单片机系统设计,其主要思路是把单片机系统的每个接口电路都看成了一个一个的对象。单片机系统设计的任务也就变成了各接口模块对象的组合,这样单片机系统开发者就可以把精力更多地用在系统设计上,特别是软件的设计。本系统所采用的设计方法即是面向对象的单片机系统设计方法,例如:在本系统中,将A/D转换芯片及一些扩展接口封装成一个模块,成为一个对象,因此单片机系统的的设计任务就是根据具体的情况选用不同的对象组合起来,加载对应的驱动程序完成单片机系统的设计。

1、面向对象的单片机系统设计方法

1.1 对象和类

对象可以是有形的实体或一个事件等,对象的具体状态通常用数据来描述。在本系统中,芯片、电路和相关数据都封装在对象的统一体中,实现了数据、操作、芯片的结合。

类是对一组具有共同的属性特征和行为特征的对象的抽象,是一种对象类型,描述了该类型的相同的性质,其本质是将芯片、数据结构及对数据的操作都封装在一起,实现了类的外部的特性与内部的隔离。同一类的对象的接口方式和内部操作都是相同的。例如,在本系统中,A/D转换模块对象的接口方式和内部操作实现如下:(1)硬件方面:系统板提供了20个引脚的IDC接口来和A/D板进行交换数据,这样无论A/D板上的A/D处理芯片是八位还是十二位,都可以使用这个统一的接口;(2)软件方面:由A/D转换允许函数void adchangeallow()、判断A/D转换是否完成函数int adchangeendif()和读取A/D转换后的值函数 int adchangeresult()实现对A/D模块的操作,然后根据不同的A/D转换芯片来决定是否在继承这三个操作的基础上增加新的操作(即函数)。

1.2 方法和消息

属于同一个类的对象具有的行为是相同的,当某个行为作用在对象时,我们就称对象执行了一个方法。消息是用来请求某个对象执行某一处理或某一行为的信息,实现了对象与外界或其他对象之间的交互。消息相互作用主要包括两方面的内容:(1)消息与特定方法的联接;(2)传送消息。

2、系统设计

2.1 电源设计

由于本系统以AT89C51单片机为核心,而且包含了A/D和D/A模块,所以本系统的电源部分采用了集成稳压器7805、7905、7812和7912分别输出±5V和±12V。原理框图如图1所示:


               图1  电源原理框图

2.2 单片机系统的类的定义

2.2.1 单片机类

把单片机、晶体振荡器、复位芯片、存储器和译码器等封装在一起组成单片机模块对象。在本系统中它包含AT89C51单片机(内含4Kflash存储器)、 64KRAM和64KROM等资源。单片机系统的三总线(数据总线、地址总线和控制总线)通过双向总线隔离/驱动芯片74HC245增加了驱动能力。

2.2.2 输入通道类

输入通道类包括模拟量输入子类、键盘接口子类、中断输入子类。该类的特点是将外部的数据送入到单片类中。在本系统中,模拟量输入子类根据转换的位数使用的对象有8位的A/D和12位的A/D,根据转换速度使用的对象有低速A/D、中速A/D和高速A/D,该类可独立地完成A/D转换,并将转换结果交单片机来处理。键盘接口子类包含单键至16键的对象。中断输入子类包含了八个中断输入对象。

2.2.3 输出通道类

输出通道类包括模拟量输出子类和LCD显示器类。该类的特点是接受单片机类的数据。在本系统中,模拟量输出子类使用的对象只有8位的,该类能独立完成 D/A的转换,将转换后的数据送到外围设备中。LCD显示器类包括字符型液晶显示器和点阵式液晶显示器,本系统可以支持4行16字的字符型的液晶显示器,也可以支持320×240的点阵式液晶显示器。

2.2.4 双向通道类

双向通道类包括串行通信类和预留的I/O类。该类可以和单片机类相互交换数据。本系统的串行通信类是RS-232接口,主要由MAX232芯片来完成该项功能。由于单片机的I/O资源有限,所以在单片机类设计中,留出了RAM的0FF00H~0FFFFH的256字节的地址空间做I/O口,供用户扩展使用。

2.3消息驱动在本系统的实现

在某个事件发生时,监控程序将设置该事件相对应的消息标志,监控程序对这些标志进行判断来决定执行请求处理的事件。如外部中断0请求处理中断的事件的处理:当外部中断0请求处理时,监控程序暂停当前任务,判断当前任务数,如果当前任务数大于等于MAX_TASK(系统所允许的最大任务数),删除优先级最小的任务(优先级的级数从0~MAX_TASK-1共有MAX_TASK个,所以不存在优先级相同的任务,其中优先级级数为0的优先级最高),然后针对 INT0的请求设置消息标志(修改消息队列),并判断它的优先级与当前任务优先级的高低,以决定是否继续当前任务。消息驱动的实现如图2所示:


          图2 消息驱动的实现示意图

2.4 系统设计

我们将单片机系统类对象化,即组合成了一个通用板,提供了如下资源:64K的RAM和64K的ROM存储器、4K的flash存储器、A/D转换芯片 AD574A和ADC0809的接口、D/A转换芯片DAC0832的接口、一个16键的键盘接口、8个外部中断接口、256个I/O口、一个4行16字的字符型液晶显示器接口、一个320×240点阵式液晶显示器接口和一个RS-232串行通讯口。原理框图如图3所示:


              图3 系统原理框图

2.5 监控程序设计

当外部设备象单片机对象发送信号时,监控程序必须对键盘操作进行解释,然后调用相应的功能模块,完成预定的任务,并通过显示等方式给出执行的结果。

系统投入运行的最初时刻,应对系统进行自检和初始化。开机自检在系统初始化之前执行,如果自检无误,则对系统进行正常初始化,通常包括硬件初始化和软件初始化两个方面。硬件初始化工作是对系统中的各种硬件资源设定明确的初始状态,如对各种可编程芯片进行编程、对各I/O端口设定初始状态和为单片机的硬件资源分配任务等。软件初始化包括对中断的安排、对堆栈的安排、状态变量的初始化、各种软件标志的初始化、系统时钟的初始化和各种变量存储单元的初始化等。除自检和初始化之外,监控程序的任务还有:处理键盘命令、处理接口命令、处理条件触发、及时启动输出和显示功能等。

一般来说,监控程序的基本结构分为两部分:一部分为初始化部分;另一部分为监控循环实体。本系统把监控实体放在了定时中断子程序中,分析如下:(1)定时中断发生后,首先进行例行操作,即保护现场、重装定时器、调整系统时钟和执行定时作业等;(2)键盘查询和外围设备的信号输入:通过访问键盘获得有效的键盘操作信息或接受到外围设备的有效信号,根据实际情况分别处理;(3)刷新显示:单片机执行了一些功能模块,系统的状态和某些参数即发生了变化,本模块则将这些变化从显示屏上反映过来。(4)中断返回:恢复现场,返回主程序。

把监控实体放在了定时中断子程序中,当主程序在完成自检和初始化之后没有监控任务,便有了进入睡眠状态的条件,这样有利于节电和抗干扰。其流程图如图3所示。


  图4 监控实体流程图

3、结束语

本系统的设计采用了面向对象的分析技术,为同一类型的外部设备提供了统一的硬件和软件接口,可作为单片机系统的通用平台。在使用本系统时,用户可以根据需要选择加载某些模块对象(如A/D模块对象)和相应的驱动,并可以通过该系统自带的编程环境来编写自己的程序,大大并且缩短了单片机系统设计的时间,提高了单片机系统设计的效率。

参考文献
[1] 陈维兴.C++面向对象程序设计教程 [M].北京:清华大学出版社,2000 .
[2] 周航慈.单片机应用程序设计技术 [M].北京:北京航空航天大学出版社,2002 .
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能

武汉2024年5月15日 /美通社/ -- 北京时间4月26日-5月4日,2024 VEX 机器人世界锦标赛于美国得克萨斯州达拉斯市举办。本届 VEX 世锦赛为期九天,设有 VIQRC 小学组/初中组、V5RC 初中组/...

关键字: 机器人 BSP RC POWERED

上海2024年5月15日 /美通社/ -- 由生成式人工智能(AI)驱动的临床阶段生物医药科技公司英矽智能宣布,与复星医药(600196.SH;02196.HK)合作开发的潜在"全球首创"候选药物IS...

关键字: ISM BSP PC 人工智能

上海2024年5月13日 /美通社/ -- 5月8日,浦东新区国资委组织陆家嘴集团等9家区属企业与立邦中国召开合作交流会,旨在贯彻落实浦东新区区委、区政府工作要求,进一步放大进博会溢出带动效应,持续扩大区属企业与进博会重...

关键字: BSP 数字化 自动化立体仓库 智慧园区

上海2024年5月13日 /美通社/ -- 在数字化时代,高效的税务管理和ERP系统成为企业发展的关键。为了满足这一需求商应信息科技与Exact Software 易科软件就金四全电票税系统与ERP系统集成及商务合作建立...

关键字: AC 软件 BSP 数字化

北京2024年5月13日 /美通社/ -- 5月11日,鲲鹏昇腾开发者大会2024期间,华为举办"昇思AI框架及大模型技术论坛",软通动力数字基础设施与集成事业部总经理谢睿受邀出席、软通动力...

关键字: AI 模型 BSP 精度
关闭
关闭