实验报告_实验5 CC2530系统时钟的设置 希望大家认真梳理接口编程的思路!!
本次实验需写实验报告当堂上交
一、实验目的
1、理解CC2530系统时钟控制的原理; 2、掌握CC2530系统时钟编程的方法;
三、实验步骤
1、CC2530时钟的设置
(1) 补充程序使得LED1闪烁(红色注释的地方),必要时查阅cc2530的数据
手册,注意补充的地方不一定只有一条语句!! void led_init() {
P1SEL&=~(1<<0); P1DIR|=(1<<0);
//初始化LED1所链接的IO口 }
void clock_set() {
CLKCONCMD&=~ (1<<6); //选择32M外部晶振作为系统时钟源 while(CLKCONSTA & (1<<6)); //等待晶振稳定
/************* 000: 32 MHz 001: 16 MHz 010: 8 MHz
011: 4 MHz 100: 2 MHz 101: 1 MHz 110: 500 kHz 111: 250 kHz **************/ //设置系统时钟为32MHz CLKCONCMD&=~0x7; }
void main() {
clock_set(); led_init(); isLight=true; for(;;) {
isLight=!isLight; if(isLight==true) LED1=0; else
LED1=1; //修改LED1的状态
delay(10); } }
(2) 修改程序,让系统时钟频率工作在1MHz下,再运行,观察现象并解释原
因;
写出代码,解释原因
答:CLKCONCMD&=~0x5;因为101: 1 MHz
(3) 完善设置系统时钟的函数,并测试
/******************** 功能:设置系统时钟 参数:
bool isXOSC:true则选择外部32M晶振作为系统时钟源,反之则为内部16M RCOSC;
char prescaler:CLKCONCMD[2:0],与分频值 *********************/
void set_clock(bool isXOSC,char prescaler) { If(bool isXOSC:true) CLKCONCMD&=~(1<<6); Else CLKCONCMD|=~(1<<6); While (CLKCONSAT&(1<<6)) ;
CLKCONCMD&=~0x7; CLKCONCMD|=0x5; //请补充代码 }
3、实验所出现的问题、解决方法、心得
答:发现单片机需要平时多加练习,课前课后都要做好预习复习,不然上课会跟不上老师的进度,发现对单片机的编程还是不熟悉,还需要多加学习。
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育实验报告 - 实验5 CC2530系统时钟的设置 全文阅读和word下载服务。
相关推荐: