- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SDCC简明手册
SDCC简明手册/
在windows下安装sdcc,并且设置path
1,测试编译器
char test;
void main(void) {
test=0;
}
执行sdcc -c test.c
生成 test.asm ,和 test.rel 文件 表示,编译成功sdcc test.c
连接库生成test.ihx文件#include string.h
char str1[10];
void main(void) {
strcpy(str1, testing);
}
执行:sdcc test1.c
生成test1.ihx文件,表示能够使用Unsigned char *p;
char (* __data fp) (void);
8051存储结构
00-1F:32字节 4个bank,R0-R7
20-2F:16字节 128个位
30-7F:89字节 通用
绝对地址
xdata at 0x7ffe unsigned int chksum;
__xdata __at(0x7ffe) unsigned int chksum;
__code __at (0x7ff0) char Id[5] = “SDCC”;
告诉编译器不要禁止访问
volatile __xdata __at (0x8000) unsigned char PORTA_8255;
定义I/O
__bit __at (0x80) MOSI;
中断服务程序
void timer_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文件烧录到单片机中,即可运行.
分三步走:
设置PATH路径
SDCC ***.C
PACKIHX ***.IHX****.HEX
烧录***.HEX到单片机
S51使用简介 (S51是8051的模拟器)
显示模拟器的配置 conf
显示硬件信息 i h port[2]
设置硬件数据 set hw port[0] 12
帮助 help ? ? t
退出 q
简单计算 expr 8+1
显示信息 show
显示sfr信息,get sfr p0 get sfr 0x90 get sfr p0 p1 p2 p3
设置数据 set mem sfr p0 0x55
设置位数据 set bit p1.4 0 set bit p2.5 1
显示状态 state
设置中断
显示所有中断 i b
S51的DOS下图形界面:
更多信息如下链接
http://mazsola.iit.uni-miskolc.hu/~drdani/embedded/s51/
使用Emulator 8051 V1.0 by TS Controls 进行仿真软件注册信息为:NImperial Falcon s/n:1911
可以使用周立功的TK STUDIO集成开发环境 加载SDCC进行开发,有模拟器功能。
/pro_tools/emluator/studio.asp
通过编译工具设置,设置最新版本的SDCC(安装SDCC后,在这里指定目录)
根据安装的SDCC目录按照下图进行选择
下面是一个简单的程序示例:
#include 8052.h
void init_timer0_16bit(void);
void main()
{
init_timer0_16bit();
while(1)
{
P1_1=!P1_1;
}
}
void init_timer0_16bit(void)
{
TMOD = 0xF0; /* Timer 0 mode 1 with software gate */
TMOD |= 0x01; /* GATE0=0; C/T0#=0; M10=0; M00=1; */
TH0 = 0x00; /* init values */
TL0 = 0x00;
ET0=1; /* enable timer0 interrupt */
EA=1; /* enable interrupts */
TR0=1; /* timer0 run */
}
void it_timer0(void) __interrupt(1) __using(1) /* interrupt address is 0x000b */
{
TF0 = 0; /* reset interrupt flag (already done by hardware)*/
TH0 = 0xff
您可能关注的文档
最近下载
- ISO∕IEC 42001-2023《信息技术-人工智能-管理体系》之7:“6策划-6.1 确定风险和机遇的措施”解读和应用指导材料(雷泽佳编制-2024A0).docx VIP
- 2025年高职单招计算机基础知识考试题库.pdf VIP
- 2025年卫生院岗位绩效考核细则.pdf VIP
- 网络信息安全知识培训.docx VIP
- 在线网课学习课堂《学术交流英语(哈工 )》单元测试考核答案.docx
- QLP YJC 0001-2023 汽车禁限用物质的限值及测量方法-ELV.pdf
- ISO∕IEC 42001-2023《信息技术-人工智能-管理体系》之10:“7支持-7.2能力”解读和应用指导材料(雷泽佳编制-2024A0).docx VIP
- 2025年常州机电职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 人教版三年级下册书法教案.pdf VIP
- 2025年全国国家版图知识竞赛(中小学组)题库及答案.doc
文档评论(0)