120的板子做好了,一直也没有去学习,虽然现在在比赛准备期间,但是自己忙里偷闲吧,找时间学习下。
第一个简单程序
#include <c8051f120.h>
void delay(
{
}
//------------------------------------------------------------------------------------
// Function PROTOTYPES
//------------------------------------------------------------------------------------
void PORT_Init (void);
//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
void main (void) {
}
//------------------------------------------------------------------------------------
// PORT_Init
//------------------------------------------------------------------------------------
//
// Configure the Crossbar and GPIO ports
//
void PORT_Init (void)
{
}
从main函数可以看出,本程序过程时
1) 关看门狗定时器(WDT)
这是c8051f单片机与51单片机不同之一 在默认的情况下单片机的看门狗是打开的
2)SFR寄存器配置
特殊功能寄存器(SFR) 控制着C8051F单片机的资源 如何去利用
SFR运用SFRPAGE寄存器选择相应的页号
SFRPAGE=CONFIG_PAGE;这句话的意思是选择系统与端口的配置页
3)端口配置
XBR2=0X40;//交叉开关控制端口0 1 2 3 的引脚使能
4)while程序
PXMDOUT=0XFF; 为推免输出
PXMDOUT=0X00; 为漏极开路输出
补充知识:
所有端口引脚的缺省方式均为漏极开路。每个端口引脚都有一个内部弱上拉部件,在缺省情况下该上拉器件被使能,在引脚与VDD 之间提供阻性连接(约100 k?)。弱上拉部件可以被总体禁止,通过向弱上拉禁止位(WEAKPUD,XBR2.7)写‘1’实现。当任何引脚被驱动为逻辑‘0’时,弱上拉自动取消;即输出引脚不能与其自身的上拉部件冲突。对于端口1 的引脚,将引脚配置为模拟输入时上拉部件也可以被明确禁止。
在推挽方式,向端口数据寄存器中的相应位写逻辑‘0’将使端口引脚被驱动到GND,写逻辑‘1’将使端口引脚被驱动到VDD。
在漏极开路方式,向端口数据寄存器中的相应位写逻辑‘0’将使端口引脚被驱动到GND,写逻辑 ‘1’将使端口引脚处于高阻状态。