- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c8051f020SPI-ATT7022通信
此程序实验板已调试通过
/*此程序接收UR0寄存器地址
读取此寄存器内容并从UR0口发出,以数组方式进行
(按寄存器读发)*/
/*主意事项:1、作为输入脚一定要设置成推挽方式
2、SPI只有发时才有时钟,所以读数据时一定要先发0
以激发时钟信号。
/**********************************************
文件描述: 三相电测量上报
功能说明: 测量ATT7022B完成
PCF8563上报定时(需校时)
FM24C256转换数据存储
UART0口用于RS232读数据
UART1控制无线模块上报数据
创建:2006年12月5日
/*********************************
*函数:main.
*入口:无
*出口:无
*功能说明:接收UART端口命令
执行读ATT7022B的数据
进行处理、存储和回发数据
********************************/
//*****************************
//包含的文件
//******************************
#include c8051f020.h
#include main.h
#include intrins.h
//*************************************************
//函数:init_sysclk(void)
//功能:时钟初始化
//入口:无
//出口: 无
//说明:使用外部时钟12M
//*************************************************
void init_sysclk (void)
{
uint i=0;
OSCXCN=0x67; //external oscillator with 12MHz crystal
for(i=0;i256;i++); // XTLVLD blanking
while(!(OSCXCN 0x80)); // Wait for crystal osc. to settle
OSCICN=0x88; //时钟丢失检测,选择外部时钟
CKCON = 0x00; //时钟分频
}
/*********************************
函数:void enable_wdog(void)
void disable_wdog(void)
功能:使能、禁止wdog
入口:无
出口:无
说明:
********************************/
void enable_wdog(void)
{
WDTCN=0xA5;
//允许看门狗定时器工作
}
void disable_wdog(void) //禁止看门狗定时器工作
{
WDTCN=0xDE;
WDTCN=0xAD;
}
/***********************************
函数:void init_ioport()
功能:端口配置及端口位定义
入口:无
出口:无
说明:
*************************************/
void init_ioport()
{
XBR0=0x07; //TXD0-P0.0 RXD0-P0.1,SPI_SCK-P0.2,SPI_MISO-P0.3
//SPI_MOSI-P0.4,SPI_NSS-P0.5,SDA-P0.6,SCL-P0.7,
XBR1=0X10; //INT1使能INT1--P1.2
XBR2=0x44; //端口I/O弱上拉允许,TX1-P1.0,RXD-P1.1交叉开关允许
P0MDOUT=0x08; //端口0输出方式寄存器:0--漏极开路
P1MDIN=0XFF; //端口1输入方式寄存器:0--配置为数字输入
P1MDOUT=0x00; //端口1输出方式寄存器,0--漏极开路
P1=0xff;
P2MDOUT=0x00; //端口2输出方式寄存器:0--漏极开路
P2=0xff;
P3MDOUT=0X00; //端口3输出方式寄存器:0--漏极开路
文档评论(0)