- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SDCC程序库
SDCC程序库
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc222291731 简要参数 PAGEREF _Toc222291731 \h 1
HYPERLINK \l _Toc222291732 开发板定义 PAGEREF _Toc222291732 \h 1
HYPERLINK \l _Toc222291733 示例程序1闪烁灯 PAGEREF _Toc222291733 \h 2
HYPERLINK \l _Toc222291734 看门狗 PAGEREF _Toc222291734 \h 3
HYPERLINK \l _Toc222291735 定时器 PAGEREF _Toc222291735 \h 3
HYPERLINK \l _Toc222291736 定时器13位 PAGEREF _Toc222291736 \h 3
HYPERLINK \l _Toc222291737 定时器16位 PAGEREF _Toc222291737 \h 5
HYPERLINK \l _Toc222291738 定时器8位 PAGEREF _Toc222291738 \h 6
HYPERLINK \l _Toc222291739 定时器8位分离 PAGEREF _Toc222291739 \h 7
HYPERLINK \l _Toc222291740 串口 PAGEREF _Toc222291740 \h 9
HYPERLINK \l _Toc222291741 PWM示范程序 PAGEREF _Toc222291741 \h 10
HYPERLINK \l _Toc222291742 I2C示范程序 PAGEREF _Toc222291742 \h 12
HYPERLINK \l _Toc222291743 串口示范程序1 PAGEREF _Toc222291743 \h 15
HYPERLINK \l _Toc222291744 经典串口程序 PAGEREF _Toc222291744 \h 16
HYPERLINK \l _Toc222291745 串口接收数据设置IO口 PAGEREF _Toc222291745 \h 17
简要参数说明
单片机振荡频率11.0592MHz 90.42ns
机器周期:90.42ns*12=1085.04ns=1.085us
ALE:1.84MHz 544ns
X2:11.1MHz 90ns
开发板定义
K0 P00
K7 P07
LED2 对应P3.1
LED3对应 P3.2
while(1) //2.12us
{
P1_7=0; //1.08us
P1_7=1; //1.08us
P1_7=0; //1.08us
P1_7=1; //1.08us
P1_7=0; //1.08us
P1_7=1; //1.08us
}
以下为生成的汇编代码
; a.c:4: while(1)
00102$:
; a.c:6: P1_7=0;
clr _P1_7
; a.c:7: P1_7=1;
setb _P1_7
; a.c:8: P1_7=0;
clr _P1_7
; a.c:9: P1_7=1;
setb _P1_7
; a.c:10: P1_7=0;
clr _P1_7
; a.c:11: P1_7=1;
setb _P1_7
sjmp 00102$ //2.12us
示例程序1闪烁灯
#include 8051.h
void DELAY(void)
{
unsigned int i;
for(i=0;i2000;i++)
{
i=i;
}
}
void main(void)
{
while(1)
{
P0=0XFF;P1=0XFF;P2=0XFF;P3=0XFF;
DELAY();
P0=0X00;P1=0;P2=0;P3=0;
DELAY();
}
}
看门狗
看门狗寄存器定义:
__sfr __at(0xA6) WDTRST;
__sfr __at(0xA7) WDTPRG; //8051一般没有此定时器
打开看门狗:
WDTRST=0x1E;
WDTRST=0xE1;
对于11.0592MHZ 看门狗时间为17.8ms
可配置的看门狗
WDTPRG|=0x00 (2^14 - 1) machine cycles, 16. 3 ms @ FOS
文档评论(0)