下载此文档

c语言实验报告..doc


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
实验名称: 单片机 C 语言程序结构和设计( 实验 2、 3) 姓名_ __ 学号实验班号机器号一、实验目的: 1. 掌握单片机 C 语言程序结构; 2. 掌握单片机 C 语言程序调试方法; 3. 掌握 MSP430FG2553 基本 I/O 控制方法; 4. 巩固编写和调试单片机 C 语言程序方法; 5. 了解简单接口电路的控制方法; 6. 了解 MSP430 汇编格式的寻址方式和指令系统二、实验基本任务 1、练****调试程序内容:用跳线将实验板上的 8 个发光二极管与单片机连接。编写的程序 如下,功能是控制与单片机相连接的 8 个发光二极管在全亮与全灭这两种状态下循环变换。该程序没有语法上的错误, 但运行后不能实现上述现象, 请上机调试其中的问题, 指出程序的问题,并修改程序。答: 将单片机 P2 端口的 8 个引脚与 L1~L8 相连。电路如下: 原有程序为: 通过上机调试, 发现原程序有以下错误: 1 由于是 P2 端口上引脚与 LED 相接,所以应该设置 P2 而不是 P1 2应将 P2 端口调为基本 I/O 端口,仅通过 DIR 寄存器是不行的 3 源程序没有对 P2OUT 进行初始化,无法达到全亮全灭的效果 4 没有循环结构,无法达到全亮全灭的循环效果,可用 for(;;) 或 while(1) 结构 5d elay ()函数延时过短,人眼几乎无法感受亮灭的变化正确的程序应为: #include "" void delay(); int main( void ){ WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P2SEL=0; //将 P2 端口设为基本 I/O 端口 P2SEL2=0; P2DIR=0Xff; // 设置端口 2 为输出方向 P2OUT=0; // 初始化 P2 端口引脚, For(;;) { P2OUT=~P2OUT; delay();} } void delay() { unsigned int j; for (j=0;j<0xffff;j++); // 延时}2. 控制发光二极管的显示变化在任务 1 的连线基础上,编程控制 8 个发光二极管按下面的 2 种规律循环变换,即规律1→规律 2→规律 1→规律 2→……,如此循环反复。 1) 规律 1:8个 LED 灯顺时针一个一个单独点亮,即 L1亮 L2 …… L7亮 L8 亮, 每次只有一个灯亮,其他灯灭; 2) 规律 2:8个 LED 灯两两点亮,顺序为 L1和 L8, L2和 L7, L3和 L6, L4和 L5, 每次只有两个灯亮,其他灯灭; 答:程序如下: #include "" void delay(); void rule1(); void rule2(); int main( void ){ WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P2SEL=0; //将 P2 端口设为基本 I/O 端口 P2SEL2=0; P2DIR=0Xff; // 设置端口 2 为输出方向 P2OUT=0; // 初始化 P2 端口引脚, for(;;){ rule1(); rule2(); }} void rule1() // 规律 1 { unsigned char LED_0=0x01,LED_temp; LED_temp=LED_0; for(unsigned int i=0;i<8;i++) { P2OUT=~LED_temp; delay(); LED_temp=LED_temp<<1; }} void rule2() // 规律 2 { unsigned char LED_data[]={0x81,0x42,0x24,0x18}; for(unsigned int i=0;i<4;i++) { P2OUT=~LED_data[i]; delay(); }} void delay() { unsigned int j; for (j=0;j<0xffff;j++); // 延时} 思考: 如果选择用单片机的 P1 端口控制 8 个发光二极管,如何在实验板上设计连线、并编程实现任务 2 的功能? 答: 设计连线:将 P1 端口的 8 个引脚与 L1~ L8 对应相连。程序设计: 将原先程序中所有关于 P2 端口的操作都换为 P1 端口即可 3. 用按键控制发光二极管的显示变化在任务 2 基础上,增加 2 个按键与单片机的引脚相连,编程实现由按键控制发光二级管的显示变化:当按下实验板上的 K1 键时, 8 个发光二极管按任务 2 中的规律 1 变化; 当按下实验板上的 K2 键时, 8 个发光二极管按任务 2 中的规律 2 变化。答: 在实验 1

c语言实验报告. 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人分享精品
  • 文件大小0 KB
  • 时间2016-03-24