保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

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


③配置P1端口为数字输入模式,即P1MDIN=0xFF。P1端口低4位为键盘输出,高4位为输入,P1MDOUT=0x0FH(P1.0~P1.3为推挽方式,P1.4~P1.7为漏极开路方式),P1|=0xF0。

④使能交叉开关,即XBARE=1,XBR2=0x44。因为EMIFLE=0,交叉开关译码器将不跳过P0.7、P0.6、P0.5引脚,所以按优先权交叉开关译码表进行分配。UART0具有最高优先权,故P0.0分配给TX0、P0.1分配给RX0;SMBus的SDA、SCL分别分配在P0.2、P0.3引脚;UART1的TX1、RX1分别分配在P0.4、P0.5引脚;INT0分配在P0.6引脚;INT1分配在P0.7引脚。

⑤设置UART0的TX0引脚(TX0,P0.0)、UART1的TX1引脚(TX1、P0.4)为推换输出方式,即P0MDOUT=0x11。RX0、SDA、SCL、RX1、INT0和INT1是由交叉开关分配输入的,因此与其端口配置寄存器的值无关。

⑥P2、P3作为一般I/O端口初始化输入状态,即P2MDOUT=0x00、P2=0xFF和P3MDOUT=0x00、P3=0xFF。

引脚分配如表1所列。

表1 单片机引脚分配

引脚 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P1 P2 P3 功能 TX0 RX0 SDK SCL TX1 RX1 INT0 INT1 键盘 通用 通用

初始化程序如下:

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

《基于C8051F021的定位和报警移动终端设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/155549.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。