SAM8系列S3C825A型单片机及其软件设计
发布时间:2008/5/27 0:00:00 访问次数:612
    
    作者:贺兴华 张永亮 肖山竹
    
    摘要:以s3c825a为例介绍三星公司sam8系列单片机的内部结构及其软件开发环境,详细描述采用混合编辑法来对sam8系列单片机进行软件设计的一般方案,最后给出用混合编程法对s3c825a进行软件设计的具体应用实例。
    
    关键词:sam8系列单片机;openice i500;iar c编译器;混合编程
    
    引言
    
    三星sam8系列单片机是8位cmos型微控制器,该系列单片机具有功耗超低、多样型号、资源丰富、cpu时钟可调及软件对硬件控制灵活等优点,其中,s3c825a型是目前应用较为广泛的单片机。s3c825a与三星sam8系列其他单片机一样,其常用的开发环境是iar公司的iar embedded workbench集成开发资源,该环境支持混合编程,可以编辑、汇编和编译汇编语言和c语言的源文件,并且汇编程序与c程序可以共同相同格式的头文件,使得开发过程灵活方便,是一种高效的软件设计方法,具有广泛的应用前景。
    
    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)空间,该空间可作为系统控制寄存器空间和工作寄存器空间。
    
    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脚以
    
    作者:贺兴华 张永亮 肖山竹
    
    摘要:以s3c825a为例介绍三星公司sam8系列单片机的内部结构及其软件开发环境,详细描述采用混合编辑法来对sam8系列单片机进行软件设计的一般方案,最后给出用混合编程法对s3c825a进行软件设计的具体应用实例。
    
    关键词:sam8系列单片机;openice i500;iar c编译器;混合编程
    
    引言
    
    三星sam8系列单片机是8位cmos型微控制器,该系列单片机具有功耗超低、多样型号、资源丰富、cpu时钟可调及软件对硬件控制灵活等优点,其中,s3c825a型是目前应用较为广泛的单片机。s3c825a与三星sam8系列其他单片机一样,其常用的开发环境是iar公司的iar embedded workbench集成开发资源,该环境支持混合编程,可以编辑、汇编和编译汇编语言和c语言的源文件,并且汇编程序与c程序可以共同相同格式的头文件,使得开发过程灵活方便,是一种高效的软件设计方法,具有广泛的应用前景。
    
    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)空间,该空间可作为系统控制寄存器空间和工作寄存器空间。
    
    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脚以
上一篇:EPSON公司电话机基片一览表
上一篇:一种基于C51的多任务机制及应用