SDCC简明手册.docx

上传人:b****8 文档编号:23867483 上传时间:2023-05-21 格式:DOCX 页数:12 大小:381.15KB
下载 相关 举报
SDCC简明手册.docx_第1页
第1页 / 共12页
SDCC简明手册.docx_第2页
第2页 / 共12页
SDCC简明手册.docx_第3页
第3页 / 共12页
SDCC简明手册.docx_第4页
第4页 / 共12页
SDCC简明手册.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

SDCC简明手册.docx

《SDCC简明手册.docx》由会员分享,可在线阅读,更多相关《SDCC简明手册.docx(12页珍藏版)》请在冰豆网上搜索。

SDCC简明手册.docx

SDCC简明手册

SDCC简明手册

仅探讨针对8051,针对windows环境下的应用。

在上搜索,并下载SDCC

在windows下安装sdcc,并且设置path

1,测试编译器

chartest;

voidmain(void){

test=0;

}

执行sdcc-ctest.c

生成test.asm,test.sym,test.lst和test.rel文件表示,编译成功

-c表示不进行连接

执行:

sdcctest.c

连接库生成test.ihx文件

test1.c

#include

charstr1[10];

voidmain(void){

strcpy(str1,"testing");

}

执行:

sdcctest1.c

生成test1.ihx文件,表示能够使用string.h库

以上,正常,证明SDCC能够正常工作。

输入packihxtest1.ihx>test1.hex用于生成intelhex文件

数据类型

data/near默认(smallmemorymodel),内部RAM

__dataunsignedchartest_data

xdata/far默认(largememorymodel)外部RAM

__xdataunsignedchartest_xdata

idata间接

__idataunsignedchartest_idata

变量使用:

#_test_idata_test_data等

pdata

__pdataunsignedchartest_pdata;

code

__codeunsignedchartest_code;

bit位类型变量

__bittest_bit;

定义SFR

__sfr__at(0x80)P0;

__sfr16__at(0x8C8A)TMR0;

__sbit__at(0xd7)CY;

指针变量

__xdataunsignedchar*__datap;

__dataunsignedchar*__xdatap;

__xdataunsignedchar*__codep;

__codeunsignedchar*__codep;

Unsignedchar*p;

char(*__datafp)(void);

8051存储结构

00-1F:

32字节4个bank,R0-R7

20-2F:

16字节128个位

30-7F:

89字节通用

绝对地址

xdataat0x7ffeunsignedintchksum;

__xdata__at(0x7ffe)unsignedintchksum;

__code__at(0x7ff0)charId[5]=“SDCC”;

告诉编译器不要禁止访问

volatile__xdata__at(0x8000)unsignedcharPORTA_8255;

定义I/O

__bit__at(0x80)MOSI;

中断服务程序

voidtimer_isr(void)__interrupt

(1)__using

(1)

{

}

中断号

描述

中断地址

0

外部0

0x0003

1

定时器0

0x000b

2

外部1

0x0013

3

定时器1

0x001b

4

串口

0x0023

5

定时器2

0x0026

N

0x0003+8*n

.HEX文件烧录到单片机中,即可运行.

分三步走:

1,设置PATH路径

2,SDCC***.C

3,PACKIHX***.IHX>****.HEX

4,烧录***.HEX到单片机

S51使用简介(S51是8051的模拟器)

1,显示模拟器的配置conf

2,显示硬件信息ihport[2]

3,设置硬件数据sethwport[0]12

4,帮助help?

?

t

5,退出q

6,简单计算expr8+1

7,显示信息show

8,显示sfr信息,getsfrp0getsfr0x90getsfrp0p1p2p3

9,设置数据setmemsfrp00x55

10,设置位数据setbitp1.40setbitp2.51

11,显示状态state

12,设置中断

13,显示所有中断ib

S51的DOS下图形界面:

更多信息如下链接

http:

//mazsola.iit.uni-miskolc.hu/~drdani/embedded/s51/

使用Emulator8051V1.0byTSControls进行仿真

软件注册信息为:

Name:

ImperialFalcons/n:

1911

可以使用周立功的TKSTUDIO集成开发环境加载SDCC进行开发,有模拟器功能。

通过编译工具设置,设置最新版本的SDCC(安装SDCC后,在这里指定目录)

根据安装的SDCC目录按照下图进行选择

下面是一个简单的程序示例:

#include"8052.h"

voidinit_timer0_16bit(void);

voidmain()

{

init_timer0_16bit();

while

(1)

{

P1_1=!

P1_1;

}

}

voidinit_timer0_16bit(void)

{

TMOD&=0xF0;/*Timer0mode1withsoftwaregate*/

TMOD|=0x01;/*GATE0=0;C/T0#=0;M10=0;M00=1;*/

TH0=0x00;/*initvalues*/

TL0=0x00;

ET0=1;/*enabletimer0interrupt*/

EA=1;/*enableinterrupts*/

TR0=1;/*timer0run*/

}

voidit_timer0(void)__interrupt

(1)__using

(1)/*interruptaddressis0x000b*/

{

TF0=0;/*resetinterruptflag(alreadydonebyhardware)*/

TH0=0xff;/*initvalues*/

TL0=0xfa;

P1_0=!

P1_0;/*P1.0togglewheninterrupt.*/

}

通过在工程窗口的SourceFiles右键选择“构建目标工程”生成目标文件

通过下面进行工程的参数配置

可以设置仿真的时钟频率等参数

通过下面菜单启动调试(也可通过快捷键进行)

可以对“输入/输出口”“定时/计数器”等进行观察。

跟踪窗口中的特征时间1.098us正是11.0592MHz的一个机器周期的时间。

也可以使用伟福的软件对.HEX进行反汇编,然后进行仿真模拟。

生成.HEX文件,可以用全面所述的命令行的方式进行生成

SDCC***.C

PACKIHX***.IHX>****.HEX

http:

//www.wave-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1