清华大学计算机硬件基础实验2、3报告.docx
文本预览下载声明
实验目的:1. 掌握EW430 集成开发环境的使用2. 掌握EW430 下常用的View 和DEBUG 命令3. 了解MSP430F1xx 单片机结构4. 掌握P1~P6 基本输入/输出有关寄存器功能实验基本任务:掌握查看和修改寄存器、存储器、外围模块端口寄存器方法(1) 练习将CPU 寄存器 R4、 R5 分别修改为 0x1234, 0x5678(2) 练习将P2DIR、P2OUT 分别修改为0xFF、0xFF(3) 练习将地址为0200h 开始的5 个存储器单元改为0x12、0x34、0x56、0x78、0x90(4) 练习将地址为0210h 开始的6 个存储器单元改为“MSP430”对应的ASCII 码学习工程空间管理项目的方法了解 MSP430F1xx 单片机结构了解MSP430F149 单片机结构2)了解MSP430F135 单片机结构了解端口 P1~P6 的选择PxSEL、方向PxDIR、输入PxIN、输出PxOUT各寄存器功能1) 修改 P2DIR=0xFF,设置端口P2 为输出方向,按表2-1,修改P2OUT 的值,记录看到放光二极管L8~L1 的现象,并分析原因2)修改P1DIR=0x00,设置端口P1 为输入方向,按照表2-2,按下相应的按键,打开Register 窗口查看P1IN 的值,可用按位查看的方式查看P1IN 各位的值,见图2-6。注意:每按下实验板按键,需在Register 下退出P1/P2,比如选一次CPU register,然后再选P1/P2,重新查看P1/P2,否则P1IN 的值没有更新。5. 了解程序计数器PC(即R0寄存器)的变化规律1)已知复位后,MSP430F1xx 的PC 寄存器从存储器0xFFFE~0xFFFFH 单元获取一个字内容作为执行的第一条指令地址,请问该地址是多少?在实验中,程序执行的第一条指令是什么指令?用Go 命令执行程序,用break 可以暂停程序的执行,可查看当前寄存器的值,当前 PC 指针的值指向将要执行的指令。2)在调试器是FET DEBUG 下,如果将FFFE~FFFFh内存的内容改为1200h,可否?为什么?3)更改项目的属性设置,选调试器是simulator,编译、连接后,进入DEBUG,先将存储器FFFE~FFFFh的内容改为1200h,在 DEBUG 下用reset 操作复位后,观察此时PC 值的变化,再发 Go 命令执行程序,出现什么结果?为什么?实验结果:任务三MSP430F149存储系统空间分配存储系统起始地址末地址空间大小SFR(包含了所有外围模块内的I/O寄存器)0000h01ffh0.5KBRAM0200h09ffh2KBINFO1000h10ffh0.25KBFLASH1100hffffh59KB寄存器PC、SP、SR、R4~R15、CYCLECOUNTER、CCTIMER1、CCTIMER2。MSP430F135存储系统空间分配存储系统起始地址末地址空间大小SFR(包含了所有外围模块内的I/O寄存器)0000h01ffh0.5KBRAM0200h03ffh0.5KBINFO1000h10ffh0.25KBFLASHc000hffffh15KB寄存器PC、SP、SR、R4~R15、CYCLECOUNTER、CCTIMER1、CCTIMER2。MSP430F13x、MSP430F14x、MSP430F16x的引脚数目和功能与MSP430F149基本相同的,所以将实验板上的MCU更换为指定的MCU时,实验板系统仍能正常工作。同样道理,实验板系统对MSP430F157也基本兼容的。任务41.表2-1 I/O 寄存器P2OUT 和引脚P2.7~P2.0 的关系L8~L1 的状态P2.7~P2.0的逻辑值P2OUT=0x00全2OUT=0xFF全2OUT=0xBD第二和第七个灯亮,其他灯2OUT=0x6E第一、五、八个灯亮,其他灯因:引脚P2.7~P2.0与发光二极管相连,发光二极管的另一端接高电位,当引脚为1时,输出高电平,发光二极管不通,输出低电平时导通。2.表2-2 P1IN 和管脚P1.7~P1.0 的关系操作P1IN的值按下K30x7E同时按下K4、K50XE7同时按下K3、K10Xfa任务五1.该地址是0x1100,程序执行的第一条指令是init: MOV #SFE(CSTACK), SP,初始化堆栈指针2.不能,因为程序烧如单片机后,这段内存是只读内存3.PC值变为0x1200,发Go命令执行程序时,出现错误对话框,Illegal opcode found on address 0x1200。原因在于PC值为0x1200,程序下一条指令将
显示全部