商业联盟  用户: 密码: 注册  忘记密码
会员专区 会员手册 增值服务 帮助 商业论坛 “帖不够”广告信息


商业中国
博雅艺术
经营管理

专题
 
 您当前的位置:首页>>行业分类>>电子电气>>技术知识>>设计方案>>正文
SAM8系列S3C825A型单片机及其软件设计
  发布时间:2006-1-28 16:32:08 阅读次数:
来源:国外电子元器件 作者:贺兴华 张永亮 肖山竹
 

    关键词:SAM8系列单片机;OPENice i500;IAR C编译器;混合编程

引言

三星SAM8系列单片机是8位CMOS型微控制器,该系列单片机具有功耗超低、多样型号、资源丰富、CPU时钟可调及软件对硬件控制灵活等优点,其中,S3C825A型是目前应用较为广泛的单片机。S3C825A与三星SAM8系列其他单片机一样,其常用的开发环境是IAR公司的IAR Embedded Workbench集成开发资源,该环境支持混合编程,可以编辑、汇编和编译汇编语言和C语言的源文件,并且汇编程序与C程序可以共同相同格式的头文件,使得开发过程灵活方便,是一种高效的软件设计方法,具有广泛的应用前景。

1

1 S3C825A型单片机的内部结构

S3C825A的内部结构框图如图1所示。从图1可以该单片机具有以下特点:

●使用SAM88RC作为中央处理单元;

●具有48KB片内ROM和2096byte的寄存器空间;

●带有多达67个可编程I/O接口;

●具有2个8位的定时/计数器和2个16位定时/计数器;

●带有LCD驱动控制器;

●带有一个4输入的10bit A/D转换器;

●带有主从两个晶振接口。

1.1 存储空间分配

S3C825A型微控制器有2类存储空间,48KB内部掩膜可编程存储空间(ROM)和2096byte的内部寄存器空间。其中可编程存储空间主要用来存储程序代码和列表数据,它的起始256Byte(00H0FFH)用来存储中断矢量列表,未使用的空间也可用作代码存储空间,但中断矢量必须放在这段空间中。对S3C825A而言,当程序执行RESET后,ROM的起始地址是0100H。

    S3C825A共有2137个8位可编址寄存器,其中13byte用作CPU和系统控制寄存器,60byte用作接口控制和数据寄存器,16byte用作共享的工作寄存器,其余的2048byte用作通用寄存器(其中包括32byte的LCD显示寄存器),S3C825A的内部寄存器图2所示,它的内部寄存器空间实行页式管理,每一个页的上端64byte作为Set2空间,下端192byte作为主数据寄存器空间,共7页(第7页的00H-1FH为LCD显示数据寄存器空间)。另外扩展出的96byte可作为Set1的Bank0(64byte)和Bank1(32byte)空间,该空间可作为系统控制寄存器空间和工作寄存器空间。

2

1.2 A/D转换器

S3C825A内部集成了有一个4路输入10bit模/数转换器(A/D)。该A/D转换器可将每一路的模拟电平用连续的近似逻辑值表示,从而得到与之相等的10bit数字电平,其转换过程需要50个时钟周期。模拟信号输入端口是I/O Port3的P3.0~P3.2复用的,Port3的控制寄存器(P3CONH,P3CONL)可确定Port3是否用于A/D转换器的模拟信号输入,A/D转换器的控制寄存器(ADCON)控制P3.0~P3.2中哪一路作为A/D输入端口。输入信号模拟电平值要求在AVREF和AVSS之间。转换后的值放在ADDATAH/ADDATAL寄存器中,每次转换前必须将这2个寄存器清空。

1.3 LCD控制器

S3C825A内部集成了一个LCD控制器,可以直接驱动224点(28segX8com)的LCD面板。实际应用中只需要将要显示的数据存储在LCD显示寄存器(700H-71FH)中,然后通过配置LCD控制寄存器(LCON)和LCD模式控制寄存器(LMOD)来选择合适的帧刷新频率,LCD控制器就会自动地将要显示的内容从显示寄存器送到seg脚以进行显示输出,而不需要再进行其他的编程控制。

2 S3C825A的软件开发环境

2.1 在线仿真器OPENic i500

AIJIsysterm公司为三星SAM8系列单片机提供了一套有效的在线仿真器——OPENice i500,该仿真器可以运行在windows 95/98/2000/NT等操作系统下,具有可选的CPU时钟资源(最高可达80MHz)和高达64kbyte的仿真代码存储器,同时内嵌功能强大的代码编辑器,可支持基于RS232的高速代码下载(最高下载速度可达115200b/s),同时支持C语言编译/调试(IAREW,CSPY),因此,应用此仿真器可以大大提高程序调试开发的效率。

2.2 SAM8的开发环境

SAM8系列单片机常用的开发软件是IAR公司提供的基于IAR Embedded Wordbench的集成开发环境,该开发系统集IAR C编译器、汇编器、连接器、代码编辑器、工程管理器及C-SPY调试器于一体,可以编辑、汇编和编译汇编语言和C语言的源文件,而且汇编程序和C程序可共用相同格式的头文件,是一个功能强大的开发环境。该集成开发平台(IDE)可在Windows 98/ME/NT4/2000/XP下进行工程管理、运行属性设置、代码编辑和调试等。其中内部IAR C语言编码器的功能强大,能支持ISO/ANSI标准C语言编译,且具有多样的代码大小和编译速度模式以及可选的堆栈模式。此外,还支持SAM8扩展关键字,同时支持C语言和汇编语言的混合程序编译。

    该开始环境集成有基于通用指令集的重定位宏汇编器,且内嵌C语言预处理程序,可接受所有的C语言宏定义。而集成的IAR XLINK连接器支持灵活的代码段和数据段重定位,并可根据重定位模块提供的信息将若干个应用程序所需要的可重定位代码模块文件组装成一个程序,从而产生可执行的目标代码。此外,环境中的C-SPY调试器具有多种测试分析功能,支持单步调试,控制程序运行到指定位置(Go to Cursor/Go to Label/Go to Address),调试返回(Go to Return)、实时跟踪变量、寄存器(Register Groups)、存储器(Memory)等,这些都在很大程序上提高了开发效率。

3 混合编程的软件设计

在对SAM8系列单片机进行软件开发过程中,用C语言编程具有开发周期短、可读性强、可移植性好和修改方便等优点,但是C程序反汇编生成的汇编代码往往较长。若直接用汇编语言编程,虽然编制的程序较短,但开发周期长,修改也不方便,所以,较好的解决方法是把程序的框架或主体部分用C语言编写,而将执行效率要求较高的部分用汇编语言来编写。下面主要介绍针对SAM8系列单片机进行混合编程的软件设计方法。

3.1 IAR C语言编译器的函数参数传送规则

IAR C语言编译器规定函数参数传递有2种方式,即寄存器传递和堆栈传递。传递顺序是从左至右,具体采用哪种方式传递取决于函数参数的类型。

本新闻共2页,当前在第1页  1  2  

 
行业知识    
机械电子 能源化工 矿产物流 建材房产 纺织家电 手机通讯 医卫医改 财经商务 股票期货
媒体动漫 广告旅游 教育农业 餐饮娱乐 钢铁汽车 政策法律 碑帖青铜 书法国画 陶瓷收藏

相关新闻                    办公软件应用
·AVR单片机捕获中断实现红外线解码
·PIC18FXX8单片机通用同步异步收发器编程
·AT89C52单片机 ARINC429航空总线接口设计
·C51系列单片机设计物体分级设备测量光幕
·用ZHX1010实现单片机之间的红外通信
热点新闻
 
相关 连接  
 
 
站内搜索
    
最新新闻
·绿色能源的五种优势
·太阳能
·可燃冰
·氢能
·天然气
·乙醇汽油
·生物质能
·风能
·水能
·核能

热点话题         行行出状元!
 
Google
关键词导航
商业 机械 创业 车床 化工 期货 股票 财经
 
 
 
Google
 
Web www.Bizing.com