本帖最后由 suyong_yq 于 2014-8-28 20:28 编辑
概述(Overview)顾名思义,SDK51提供的是一个基于经典51单片机的基础固件程序库。经典51单片机集成非常有限的外设:2个可编程定时器(T0/T1)、2个外部中断(INT0/INT1)及1个异步串行通信收发器(UART)。然而,对于绝大多数小型的嵌入式设计来说,这些设备应用在一个简单的可编程电路板上已经足够了。UART使用定时器T1产生的波特率时钟,可以提供一个电路板同电脑的数据通信通道,定时器T0产生滴答,为应用系统的运行提供一个参考时基,两个外设中断可以实时地响应外部事件,监控电路板上的某些偶然的事件,并在第一时间做出反应。呵呵,这还是一个豪华阵容呢。SDK51就是实现了这些服务,为用C语言开发小型应用提供了一个小巧易用的开发平台。SDK51封装了底层硬件的控制,开发者只要像写普通软件那样调用几个简单好看的函数(总共只有12+1个函数,并且被分为4+1个功能模块),就可以让电路板听从吩咐了。啊哈,嵌入式开发真简单! 开发平台(Platform)工具链(Tool Chain)编译开发套件(IDE)KEIL和IAR两家公司都提供了C51的集成开发环境(IDE),开源软件SDCC也能够进行51单片机的开发,但从简单易用的角度上,KEIL的提供开发套件当之无愧地成为我的首选。这里我选择使用KEIL C51 V9.52。这是KEIL被ARM公司收购之后推出的一个版本,安装后软件的操作界面跟KEIL MDK for ARM 非常相似,这也是我选择这个软件进行开发的主要原因之一。在开发ARM单片机软件时,我就非常喜欢使用MDK。未注册的评估版本提供了足够的编译空间,老版本的KEIL C51开发套件限制创建可执行文件的代码部分不能超过2KB,不确定新版本有没有变化,至少我在验证样例程序的时候没有遇到任何限制。 ISP下载软件(Downloader)目前在国内用的最多51单片机应该是深圳宏晶公司的STC系列吧。不得不赞一句,STC的51单片机着实好用,种类多,价格便宜,最重要的是,片上集成了基于串口通信的ISP下载固件,并提供了非常好用的ISP下载上位机软件,简单易用,当然选择它啦。我在验证样例程序时使用的是STC_ISP V4.80。 串口调试终端(Terminal)串口调试终端有很多选择,开源小巧且好用的putty通常是我调试其它单片机的选择。但是,STC的ISP下载软件也集成了串口调试终端,并且有下载后自动打开串口的功能,真是太贴心了,索性就都用它了。 代码编辑器(Editor)这个对于开发并不是必要的,因为在编译开发套件中一般都会提供一个代码编辑器。然而,作为一个专业“码工”,应该有自己的常用的某一款或几款代码编辑器,使用同样的编辑界面编写所有的代码。在熟悉的环境下工作很容易进入状态,比如我就喜欢用Source Insight阅读有很多琐碎源文件的工程,这是一个商业软件,如果没有license,一次安装只能试用30天。不过对于使用51单片机开发的小型项目来说,我更喜欢用Sublime Text来编写代码,它除了拥有其它代码编辑器的关键字彩色等功能之外,最吸引我的是还是分屏显示和代码缩略图,让我深深沉醉在代码的世界无法自拔。这里秀一下我使用Sublime Text开发SDK51的编辑界面,如图1所示。
图1Sublime Text编辑界面
电路板(Board)51单片机本身是一个引脚分布比较稳定的平台,引脚的编号及功能、最小系统的电路图基本上都是一样的,电子发烧友们可以很容易地在STC单片机的参考手册中找到51单片机最小系统的电路图,然后DIY搭建一个简易的开发平台。 事实上我验证SDK51的硬件平台也是用万用板搭建的,略显简陋但非常好用,这也是我自己能拿出手的少数几块DIY的电路板之一。满足一下我的虚荣心,在这里也秀一下自己的作品。
图2 DIY的51单片机最小系统 简单介绍一下这块开发板的组成: 1. STC12LE5604AD为主控核心,接受供电范围为3.6-2.2V,4KB FLASH,756B SRAM,8路10位ADC采样。DIP-20封装。 2. 外部供电通过接线端子接入,通过自锁开关控制通断。搭载LM1117-3.3 LDO电源芯片,为整板提供3.3V的系统供电。 3. MAX3232串口电平转换芯片,稳定提供3.3V电平系统与232电平系统之间的转换。 4. 板载4个LED,其中一个为电源指示灯,一个为串口发送指示灯,两个可编程LED灯,可由主控芯片控制闪烁。 5. 板载3个按键,其中一个为复位按键,另外两个为可编程按键,分别接在外部中断的两个引脚上,当禁用外部中断时亦可通过GPIO轮询状态。 6. 板载一个蜂鸣器,控制端接入主控芯片,可通过GPIO和PWM控制发声。 7. 通过2.54mm标准的单排插针将P0端口引出,该端口已外接上拉排阻,同时还引出了4组3.3V和GND,方便外扩模块。
下载SDK51_V1.0
SDK51_V1.0.zip
(1.39 MB, 下载次数: 30)
|