面向对象技术在单片机系统设计中的应用

时间:2012-03-22来源:网络

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所示:

7.gif
图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所示:

8.gif
图3 系统原理框图

2.5 监控程序设计

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

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

1 2 3

关键词: 设计 应用 系统 单片机 对象 技术 面向

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版