单片机
返回首页

arm7 lpc2148力天电子 PLL实验(一)之PLL中断实验

2019-05-20 来源:eefocus

实验采用中断方式打开PLL,。添加蜂鸣器用于指示PLL锁定。


当PLL锁定成功后,蜂鸣器蜂鸣一声。实验程序如下所示,我是在IAR下面进行的调试,出现了两个警告,但不影响程序的运行。


#include

typedef unsigned char uint32;

void PLL_INT(void);

void Delayn(unsigned long n);

IRQEnable(void); 


//PLL中断函数

void PLL_INT(void)

{

  PINSEL0=0x00000000;  //设置所有引脚连接GPIO

  IO0DIR_bit.P0_22  = 1;

  

  PLLCON=3;  //PLL使能和连接

  PLLFEED=0xAA; //发送PLL馈送序列

  PLLFEED=0x55;

  

  IO0SET_bit.P0_22=1; //打开BEEP

  Delayn(1000000);      //延时

  IO0CLR_bit.P0_22=1; //关闭BEEP

  Delayn(1000000);      //延时

  

  VICIntEnClear=1<<12;  //禁止PLL_INT中断

  VICVectAddr=0x00;   //向量中断处理结果

}

//IRQ中断

IRQEnable(void)  //使能IRQ中断

{

  VICIntSelect=0x00000000;  //使能所有的通道为IRQ中断

  VICVectCntl0=0x20|12;     //PLL_INT分配到IRQ slot0,即最高优先级

  VICVectAddr=(uint32)PLL_INT; //设置PLL_INT向量地址

  VICIntEnable=1<<12;       //使能PLL_INT中断

}

main(void)

{

  PINSEL0=0x00000000;   //设置引脚连接GPIO功能

  /*配置IO接口*/

  PINSEL0 =1<<22;

  

  PLLCON=1;  //使能PLL

  PLLCFG=0x25; //设置M为6,P为2

  PLLFEED=0xAA; //发送PLL馈送序列

  PLLFEED=0x55;

  

  IRQEnable();   //使能IRQ中断

  PLL_INT();

  

  while(1);

}

//延时函数

void Delayn(unsigned long n)

{

  while(n--);

}



进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • PIC单片机控制的遥控防盗报警器电路

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 如何构建一个触摸传感器电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章