实验报告芯片初始化实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广东技术师范学院实验报告
学院:自动化学院专业:班级:成绩:
姓名:学号:
组
别:
组员:
实验地点:教学楼603 实验日期:2013.5.22 指导教师签名:
实验二芯片初始化
一、实验目的
1.熟悉codewarrior开发环境,了解其基本操作。
2.掌握建立工程的方法,能够添加、编辑调试工程文件。
3.学会查看芯片数据手册,编写芯片初始化程序。
4.学会在程序中设置断点,观察系统内存和变量。
二、实验内容
本次实验新建一个简单的工程文件,学会芯片的各种初始化,包括锁相环,定时器,串口等。并下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。
三、预备知识
C语言的基础知识、程序调试的基础知识和方法。
四、实验设备及工具(包括软件调试工具)
硬件:飞思卡尔嵌入式开发平台、BDM下载仿真器、Pentium100以上PC
机、串口线。
软件:PC机操作系统Windows 98、Windows 2000或Windows XP,codewarrior 集成开发环境
五、实验步骤
1.建立工程,编写测试代码。
根据实验一,建立工程MCUInit。在主文件main.c添加以下指示灯测试代码:
#include
#include "derivative.h" /* derivative-specific definitions */
void main(void) {
/* put your own code here */
uint i,j;
DDRE = 0XFF; //设置PE口为输出
DDRB = 0XFF; //设置PB口为输出
PORTB = 0XFF; //设置初始值
PORTE = 0XFF;
EnableInterrupts; //开启总中断
for(;;) {
for(i=0; i<1000; i++){
for(j=0; j<1000; j++);
}
PORTE = ~PORTE;
// _FEED_COP(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
调试运行,查看运行效果。
2.初始化锁相环,设置总线频率。
(1)在新工程里面通过File->new text file或点击新建一个文件,保存到工程目录地下的Sources文件夹中,命名为MCUInit.c并将之添加进工程。参考MC9S12XS128芯片技术手册,编写一个锁相环初始化函数XS128_INIT_setbusclk(),将总线时钟频率由外部晶振提供的16MHz设置为32MHz。具体使用到的寄存器有:CLKSEL、REFDV、SYNR、PLLCTL、CRGFLG、POSTDIV等。参考代码如下:
(2)再新建一个文件MCUInit.h,同样保存到工程目录地下的Sources文件夹中,该文件为初始化MCUInit.c的说明头文件。添加进工程并在main.c的开头包含该头文件。在头文件中声明XS128_INIT_setbusclk函数。
(3)在主函数中调用XS128_INIT_setbusclk函数,编译后运行,查看运行效果。对照步骤1中没有设置锁相环LED灯闪烁的频率,理解设置总线时钟频率的意义。修改XS128_INIT_setbusclk函数将总线时钟频率设置成其他值,编译运行并观看效果。
3.初始化PIT定时模块。
(1)在MCUInit.c中编写一个函数PITInit()初始化PIT定时器,查阅MC9S12XS128芯片技术手册,设置一个50ms的定时中断。可能使用到的寄存器有:PITCFLMT、PITCE、PITMUX、PITMTLD0、PITLD0、PITCFLMT、PITTF、PITINTE。参考代码如下:
(2)在说明头文件MCUInit.h中声明该函数。并在主函数调用该定时中断初始化函数。
(3)对于中断函数,我们将使用重新定义的中断矢量表来处理。将中断处理文件isr.c拷贝到我们的Sources文件夹中并添加到工程中。
(4)打开isr.c。在语句“#pragma CODE_SEG __NEAR_SEG NON_BANKED”和“#pragma CODE_SEG DEFAULT”之间为中断处理函数区。在该区中编写一
个定时器中断处理函数(注意在函数名前面加关键字__interrupt),并在后面的中断矢量表中修改对应的入口函数名。
(5)编译调试运行,观看运行结果。
六、实验任务与问题
1、根据实验步骤完成锁相环和PIT定时器的初始化实验。
2、查阅MC9S12XS128芯片技术手册,自行编写串口、PWM输出、AD转化等初始化函数。
3、完成实验报告。
七、实验总结
通过这次实验,我学习了如何进行芯片初始化,明白了一个系统要在新的芯片运行所要进行的前期工作。