MS3

所属分类:单片机开发
开发工具:C/C++
文件大小:3581KB
下载次数:227
上传日期:2007-09-17 16:35:53
上 传 者friendlyQQ
说明:  实用单片机系统第三版 本包包还程序阅读器souceinsight3.5 以及比较完整得单片机系统,类似与大家知道得UCOS,但又有很大不同!本包是我朋友所作现在我帮助起推广。“现在这段时间RTOS非常热,可很多人往往为了用RTOS而用RTOS,其实很多很多的项目一般的设计都已经可以了的,RTOS显得有些画蛇添足。对于一般的设计思路,往往要做很多的工作,甚至整个软件的结构不知道怎么搭建,McuSystem主要就是解决以上的问题提出的,真正为实用服务的一个系统,它全部用C语言编写,结构非常清晰,核心是它的消息机制,解决很多普通设计中的一些问题,包括并发事件问题。并且这个消息还支持优先级。我相信只要具有一般C语言水平的都能很快的看懂。系统用Source Insight做编辑,keil为编译,DPFLASH下载,这个成了标准配置,目录建在D:\MCU51\。这个程序是让大家去修改,以适合自己的平台用。现在简单的说一下文件的构成:boot.c是入口程序,define.h是一些宏定义,system.c是系统内核,包括节拍,消息都在这个里面,routine.c为例行程序,如键盘,数码管显示都在这个里面控制,键盘是采用扫描的。”

文件列表:
实用单片机系统第三版\MS3\DP-51完整电路图.pdf (40271, 2006-12-18)
实用单片机系统第三版\MS3\Keil\boot.lst (8482, 2007-07-13)
实用单片机系统第三版\MS3\Keil\boot.obj (15997, 2007-07-13)
实用单片机系统第三版\MS3\Keil\Config.ini (220, 2007-05-16)
实用单片机系统第三版\MS3\Keil\flash.lst (3772, 2007-07-13)
实用单片机系统第三版\MS3\Keil\flash.obj (10414, 2007-07-13)
实用单片机系统第三版\MS3\Keil\Init.lst (7036, 2007-03-20)
实用单片机系统第三版\MS3\Keil\Init.obj (10674, 2007-03-20)
实用单片机系统第三版\MS3\Keil\Init.__i (85, 2007-03-20)
实用单片机系统第三版\MS3\Keil\interrupt.lst (5840, 2007-04-23)
实用单片机系统第三版\MS3\Keil\interrupt.obj (5478, 2007-04-23)
实用单片机系统第三版\MS3\Keil\key.lst (9535, 2007-07-13)
实用单片机系统第三版\MS3\Keil\key.obj (12745, 2007-07-13)
实用单片机系统第三版\MS3\Keil\mcu.lst (16798, 2007-07-13)
实用单片机系统第三版\MS3\Keil\mcu.obj (19863, 2007-07-13)
实用单片机系统第三版\MS3\Keil\mcu_ext.lst (8685, 2007-07-13)
实用单片机系统第三版\MS3\Keil\mcu_ext.obj (14004, 2007-07-13)
实用单片机系统第三版\MS3\Keil\message.lst (7381, 2007-07-13)
实用单片机系统第三版\MS3\Keil\message.obj (13611, 2007-07-13)
实用单片机系统第三版\MS3\Keil\mmi.lst (3375, 2007-07-13)
实用单片机系统第三版\MS3\Keil\mmi.obj (11033, 2007-07-13)
实用单片机系统第三版\MS3\Keil\MS3 (149236, 2007-07-13)
实用单片机系统第三版\MS3\Keil\MS3.hex (7914, 2007-07-13)
实用单片机系统第三版\MS3\Keil\MS3.lnp (266, 2007-07-13)
实用单片机系统第三版\MS3\Keil\MS3.M51 (58736, 2007-07-13)
实用单片机系统第三版\MS3\Keil\MS3.Opt (3955, 2007-07-13)
实用单片机系统第三版\MS3\Keil\MS3.plg (2256, 2007-07-13)
实用单片机系统第三版\MS3\Keil\MS3.Uv2 (2854, 2007-05-17)
实用单片机系统第三版\MS3\Keil\MS3_Opt.Bak (3955, 2007-05-30)
实用单片机系统第三版\MS3\Keil\MS3_Uv2.Bak (2854, 2007-05-17)
实用单片机系统第三版\MS3\Keil\putchar.lst (9479, 2007-07-13)
实用单片机系统第三版\MS3\Keil\putchar.obj (1488, 2007-07-13)
实用单片机系统第三版\MS3\Keil\routine.lst (4284, 2007-07-13)
实用单片机系统第三版\MS3\Keil\routine.obj (12264, 2007-07-13)
实用单片机系统第三版\MS3\Keil\rtc.lst (4356, 2007-07-13)
实用单片机系统第三版\MS3\Keil\rtc.obj (5170, 2007-07-13)
实用单片机系统第三版\MS3\Keil\STARTUP.A51 (5115, 2002-04-16)
实用单片机系统第三版\MS3\Keil\STARTUP.LST (11665, 2007-07-13)
实用单片机系统第三版\MS3\Keil\STARTUP.OBJ (749, 2007-07-13)
实用单片机系统第三版\MS3\Keil\system.lst (16085, 2007-03-20)
... ...

默认路径: D:\MCU51\ 适用于周立功公司的DP51实验板 Version:MS1.01-2003.7.17 修改:增加ASCII.C的一个ASCI码(7F),用于虚拟按键用 Version:MS1.10-2003.9.14 更改系统结构,便于打包 Version:MS1.11-2003.9.15 统一标准风格。 Version:MS1.21-2003.9.29 修改UART串口的命令解析程序,修改RTC的pcf8563中断部分。 Version:MS1.22-2003.10.4 精简IIC和smart_timer代码,添加define.h的宏定义。 Version:MS1.23-2003.10.7 修改system.c里的消息堆栈的宏定义 Version:MS1.24-2003.11.5 增加ii.c函数,支持对eeprom的打包 Version:MS1.25-2004.3.7 增加由PLD或者GPIO输出的模拟UART,在12MHz,6个CLOCK下速度为57.6K Version:MS1.26-2004.12.13 增加消息的优先级功能,消息类型的前4位为消息的优先级,后4位为消息的类型 Version:MS1.27-2005.1.2 精简了内核,增强了串口函数,并在define.h里增加了宏定义 /**************************************************************************/ Version:MS2 版本升级说明: 基于DP51板子开发的McuSystem获得了比较大的成功,但也表现出他的一些不足, 比如它的一些功能对目前开发来说没什么意思,而一些很实际的功能却没有,还有程序上也要有所完善。 为此,我们专门开发了一块MCU+PLD板子,我们把它叫做MS2,它带有USB,nandflash,PLD,支持ISP, 相应的我们针对 这个板子发布一个新的软件版本:MS2,以前的可以认为是MS1。此版本今后将集体开发 整合,而不再是我一个人开发,所 以在上面开发的每一个人都将有代号,而且这个版本的发布和管理权 将由我来负责或者由我授权,别人未经许可无权发布新版本。 个人代号: 王绍伟:wangsw Version:MS2.00-2005.6.2 /***************************************************************************/ Version:MS3 版本升级说明: 2005年到2007年,基于MS2版本,主要做了一些推广工作,并且把MS2作为华禹深圳研发中心软件招聘的面试软件, 也是公司内部嵌入式的培训软件,同时基于此版本,开发了一些项目,比如温度控制设备,步进电机实验板等。 这次版本的升级基于这两年来用户对此版本的一些问题的反应,以及自己对软件基础的加深所致, 主要将提供一个跟主流比较接近的编程风格,包括函数接口和函数库等,一些函数细节也将加以改进。 Version:MS3.00-2007.3.11 文件说明: boot.c是程序的入口,初始化后不停的读取消息,并处理消息 system.c为系统内核,他提供了消息机制(msg_queue_in和msg_queue_out)和系统节拍Timer2Server, 并调用例行程序 routine.c 处理按键,数码管等。 define.h为一些常用的宏定义,比如打印函数uprintf(),消息的声明,类型的声明 init.c为系统初始化 interrupt.c为中断一些初始化和外部中断的入口 led_key.c为led灯,数码管,按键扫描等一些外设 message.h为消息类型的宏定义 mmi.c为人机界面接口,用于编写菜单 putchar.c用于printf函数,修改了原printf的中断处理,改成查询处理 routine.c为例行程序处理 timer.c为定时器处理程序 uart.c为串口初始化及数据处理 程序的内核为boot.c和system.c,还有define.h 请先看这三个文件,其他的都可以认为是外设,系统的运转是靠消息来运转的。 说明文档 1: 中断响应问题,当在中断关闭时有一个中断过来,则系统会将它保存在中断 标记位上,当中断开启时才开始执行这个保存在标记位上的中断,所以中断 系统只能保持一个中断, EA跟各个独立的中断控制位在这个问题上的功能 是一样的.例子程序为: EA=0; //Time=0 ES=0; have Uart interrupt //Time=1; don't execute Uart interrupt; EA=1; //Time=2; ES=1; execute Uart interrupt; //Time=3; 2: 串行口的函数调用问题.在用printf函数时,TI必须为1,但本系统为了能用中断 接收Uart,ES=1,这样必然会跟TI=1产生冲突,也就是不停的中断响应,所以要用 printf函数,必须得TI=1,ES=0才行. 3: pdata 似乎不能用于外部声明的变量,data和xdata可以,这个有待于进一步验证 4: 串口通讯问题: 开机时UART会接收到一个不定的数据,这个主要是uart_init引 起的,要先TI=0,RI=0后REN=1,这个有待进一步的考证. 5: 位变量(U1)有些时候失效,需要加static或者改成U8,这个问题可能是位寄存器占用完了导致的 本人说明: 本人在中科院半导体所工作半年,在手机设计公司工作两年至今,以前是软件公司师, 现在为硬件工程师,主要的工作都在底层的硬件设计及手机的多媒体应用。两年前在 从周立功公司购买了DP51单片机开发板,感觉这个板子挺不错的,并且结合自己在这 个行业的实际情况,基于DP51编写了这套软件。之后用这套软件为公司,也为很多朋 友做了一些项目,包括指纹门禁系统,激光器测试系统,激光器老化系统,,轮胎生 产自动化控制系统。在这些开发过程中,同时教会了他们怎样使用这套系统,一般的 讲,具有一些C语言基础的,只要1,2天就可以直接上手使用,之后他们自己可以直 接调试。 很多朋友都感到这套系统简单易学,性能不错,尤其是它舍弃了对于单片机51来讲是 华而不实的RTOS,而又不是采用一般大家平常的大循环设计,并且他引入了手机设计中非 常重要的平台的概念(DP51为其硬件平台),系统的内核类似于RTOS,内部又有消息 机制,特别灵活,并且支持消息的优先级。 他们希望我把他推广,今天本人做了一些修改后把他介绍给大家。 McuSystem介绍: 现在这段时间RTOS非常热,可很多人往往为了用RTOS而用RTOS,其实很多很多的项目 一般的设计都已经可以了的,RTOS显得有些画蛇添足。对于一般的设计思路,往往要 做很多的工作,甚至整个软件的结构不知道怎么搭建,McuSystem主要就是解决以上的 问题提出的,真正为实用服务的一个系统,它全部用C语言编写,结构非常清晰,核心 是它的消息机制,解决很多普通设计中的一些问题,包括并发事件问题。并且这个消息 还支持优先级。我相信只要具有一般C语言水平的都能很快的看懂。 系统用Source Insight做编辑,keil为编译,DPFLASH下载,这个成了标准配置,目录 建在D:\MCU51\。这个程序是让大家去修改,以适合自己的平台用。 现在简单的说一下文件的构成:boot.c是入口程序,define.h是一些宏定义,system.c 是系统内核,包括节拍,消息都在这个里面,routine.c为例行程序,如键盘,数码管 显示都在这个里面控制,键盘是采用扫描的。 McuSystem面向对象: 中等规模的系统,代码一般在2,30K, 初学单片机并且想更上一层楼的,或者有些基础,想减少工作量的。 作者:王绍伟。 2004/12/14 DP-51完整电路图为张佳宝所画,用acrobat5.0以上打开,密码为zhangjiabao

近期下载者

相关文件


收藏者