用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

基于C8051F021的定位和报警移动终端设计

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:57:11
I/O端口初始化输入状态,即P2MDOUT=0x00、P2=0xFF和P3MDOUT=0x00、P3=0xFF。

引脚分配如表1所列。

表1 单片机引脚分配

引脚P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1P2P3
功能TX0RX0SDKSCLTX1RX1INT0INT1键盘通用通用

初始化程序如下:

void System_init(){

WDTCN=0xdeh; //禁止看门狗

WDTCN=0xadh;

EMI0CF=0x00;

XBR0=0x05; //使能UART0、SMBus

XBR1=0x14; //使能UART1,使能交叉开关和弱上拉,禁止外部寄存器低端口ALE、WR、RD由交叉开关寄存器或地址锁存器决定I/O端口配置

P0MDOUT=0x11; //TX0、TX1为推挽输出,RX0、SDA、SCL、RX1、INT0和INT1是由交叉开关分配输入的,因此与其端口配置寄存器的值无关

P2MDOUT.0=0x0; //把P2.0位初始化为输入方式,用作LCD的命令/数据的辨别

P2.0=1;

//初始化为4×4键盘接口

P1MDIN=0xFFH; //配置P1端口为数字输入模式

P1MDOUT=0x0FH; //配置P1.0~P1.3为推挽方式,P1.4~P1.7为漏极开路方式

P1=0xF0; //P1端口低4位为输出,高4位为输入

P3MDOUT=0x00; //将P3口设置为输入方式

P3=0xFF;

IE=0x85; //使能INT0、INT1并按默认的优先权进行切换

}

;UART0初始化函数;定时器1为UART0波特率源

void UART0_init(){

SCON0=0x50; //UART工作模式为1,8位数据位,使能RX

TMOD=0x20; //定时器1工作模式2,8位自动重载

TH1=-(SYSCLK/9600/16);//按波特率设置定时器1的重载值

TL1=TH1; //设置定时器1的初始值

CKCON=0x10; //使用系统时钟SYSCLK作为时基

PCON=0x80; //SCOD0=1

TR1=1; //启动定时器1

}

;UART1初始化函数;配置定时器4为串口波特率源

void UART1_Init(void){

SCON1=0x50; //SCON1:模式1,8位UART,使能RX

T4CON=0x30; //停止定时器;清除中断标示;使能UART波特率模式

RCAP4=-(SYSCLK/9600/32);//按波特率设置定时器T4重载值

T4=RCAP4; //给定时器4赋初值

T4CON=0x04; //(TR4=1)启动定时器4

TI1=1; //清除HW_UART接收和发送中断

}

;SMBus初始化函数

void SMBus_init(){

SMB0CN=0x04h; //配置SMBus在应答周期发送确认ACK

SMBOCR=0x60; //时钟速率大约10μs,根据SMBOCR公式计算

SMB0CN=0x40h; //使能SMBus

}

6 总结

该该端具有功耗低、集成度高、数据处理速度快以及数据通信实时性强等特点,可广泛应用于个人、出租车和长途车辆的定位和报警。由于其利用GSM网的电路型数据业务进行无线数据通信,其通信费用相对比较高。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:33,156.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号