c8051f020单片机基本配置方法

一.实验目的:

1.掌握优先权交叉开关译码器
2.掌握I/O交叉开关设置和引脚设置
3.掌握单片机内部和外部振荡器结构和配置方法
二.实验要求

  1. C8051F020 单片机系统时钟配置为外部晶体振荡器的二分频。记录相应配置寄存器的值。
  2. I/O 口交叉开关配置。UART0、SPI0、/INT0 和 T1 分配端口引脚。将 P1.0、 P1.1 和 P1.2 配置为模拟输入。记录相应配置寄存器的值。
  3. 在 P2.0 输出一个矩形波(频率自选),用示波器观察波形,并记录信号频率幅度;改变系统时钟为内部振荡器 4MHz,再次记录信号频率和幅度。

三.实验原理

  • C8051F 系列 MCU 振荡器每个 C8051F 系列 MCU 都有一个内部振荡器和一个外部振荡器驱动电路,每个驱动电路都能产生系统时钟,MCU 在复位后从内部振荡器启动。系统时钟可在内部振荡器和外部振荡器之间进行切换。也可以在选择内部振荡器时让外部振荡器保持在允许状态,这样可以避免在系统时钟被切换到外部振荡器时的启动延迟。外部振荡器具有很高的可配置性,为系统设置者提供了多种选择。时基信号可以从外部CMOS电平时钟源、晶体或陶瓷谐振器、RC 组合电路或外部电容获得。内部和外部振荡器的工作受两个 SFR 寄存器控制,即 OSCICN 内部振荡器控制寄存器和OSCXCN 外部振荡器控制寄存器。
  • C8051F020 交叉开关配置C8051F020单片机内部的数字和模拟资源可以通过P0~P3,32个I/O引脚使用。每个端口引脚都可以被定义为通用I/O(GPIO),又可以分配给一个数字外设或功能(例如:UART0 或/INT1),如图所示。其中P1口的引脚可以用做ADC1的模拟输入。设计者完全控制数字功能的引脚分配,只受I/O引脚数的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。
    端口 I/O 初始化包括以下步骤:
  1. 用端口输入方式寄存器(PnMDIN)选择所有端口引脚的输入方式(模拟或数字)。
  2. 用端口输出方式寄存器(PnMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽)。
  3. 将引脚分配给要使用的外设。
  4. 使能交叉开关(XBARE = ‘1’)。

四.实验代码

#include"c8051f020.h"
sbit wave=P2^0;
void stay(unsigned int x)
{
  unsigned int i,j;
  for(i=0;i<count;i++)
  for(j=0;j<=400;j++);
 }
 void main()
 {
   WDTCN=0xDE;
   WDTCN=0xAD;
   XBR0=0x06;//SPI0 UART0
   XBR1=0x0c;//INT0 T1
   XBR2=0x40;
   P1MDIN=0xF7;
   P2MDOUT=0xFF;
   OSCXCN=0xF7;
   stay(2);
   while(!(OSCXCN&0x80))
   {;}
   OSCICN=0x1d;//启用内部晶振
   //OSCICN=0x15;//启用外部晶振
   }
   while(1)
   {
     wave=!wave;
     stay(2);
    }
  }

c8051f020单片机基本配置方法
c8051f020单片机基本配置方法
c8051f020单片机基本配置方法
c8051f020单片机基本配置方法
c8051f020单片机基本配置方法
c8051f020单片机基本配置方法