摇摇棒程序注释(已完成!!!!!)

摇摇棒程序注释(已完成!!!!!)
摇摇棒程序注释(已完成!!!!!)

LED摇摇棒的详细制作资料

大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。

LED摇摇棒很好地利用了人眼的视觉暂留特性。下图是基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。演示效果见自制LED摇摇棒展示【图】。

实物外形图:

基本原理与硬件电路设计:

16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。与LED点阵的显示有几分相仿。

硬件电路如下图(点击可放大)。系统电源VCC为5V,下载程序和调试时一定要保证5V电压,实际使用时用3节干电池串联4.5V即可。AT89S52单片机作为控制器,在它的P0、P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P0口的上拉电阻RA1不能少。串在LED公共端的二极管D1会产生一定的压降,用来保护LED,经实测LED点亮时两端电压为3V左右,在LED的安全承受范围内。K1是画面切换开关,用于切换显示不同内容;S1为水银开关。

水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。

硬件制作:

使用的是直径5mm的红色高亮LED,感觉太大了些,远看效果很好但近看时字不够连贯。建议使用直径为3mm的高亮LED,颜色可根据个人喜好选择。

水银开关里的水银珠很活跃,导致在接通时容易产生抖动,所以将水银开关斜向上放置(尖尖朝斜上方45°角),靠水银珠自身重力的作用减少抖动:

IC座里面隐藏元件,既美观又能保护元件:

软件设计:

/********************************************************** 程序名称:LED摇摇棒显示64*16像素

简要说明:外部中断方式INT0显示;取模方式:纵向取模、字节倒序编写:https://www.360docs.net/doc/2e12905814.html,

最后更新:08/11/15晚

**********************************************************/

#include

#define uchar unsigned char

#define uint unsigned int //宏定义

#define KEY P3_0 //定义画面切换按键

uchar KY; //KY作用在后面说明

uchar disp; //显示汉字指针

uchar pic=0,num=0; //pic为按键次数;num为中断次数

uchar code love[] = {

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0x0 0,0x20,

0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF 8,0x0F,

0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0x0 0,0x00,

0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x20,0x0 0,0x10,

0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0x8 2,0x20,

0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x00,0x00,0x00,0x0 0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,/*LOVE*/

};

uchar code loveyou[] = {

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,

0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xF C,0x3F,

0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xF C,0x00,

0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0

0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,/*心形图案*/

};

uchar code hehe[] = {

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x0 0,0x00,

0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x0 4,0x00,

0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x0 0,0x20,

0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x0 4,0x00,

0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x0 8,0x10,

0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x0 0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,/*呵呵o(∩_∩)o图案*/

};

unsigned char code hanzi[] = {

//-- 欢 --

0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,

0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,

0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10,

0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,

//-- 迎 --

0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F,

0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41,

0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42,

0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,

//-- 使 --

0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00, //64 0x04,0x80,0xF4,0x43,0x14,0x45,0x14,0x29,

0x14,0x19,0xFF,0x17,0x14,0x21,0x14,0x21,

0x14,0x41,0xF6,0xC3,0x04,0x40,0x00,0x00,

//-- 用 --

0x00,0x80,0x00,0x60,0xFE,0x1F,0x22,0x02, //92

0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F,

0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82,

0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00,

//-- 神 --

0x08,0x01,0x88,0x00,0x49,0x00,0xEE,0xFF, //128 0x58,0x00,0x88,0x00,0x00,0x00,0xF8,0x1F,

0x88,0x08,0x88,0x08,0xFF,0xFF,0x88,0x08,

0x88,0x08,0xFC,0x1F,0x08,0x00,0x00,0x00,

//-- 奇 --

0x40,0x00,0x40,0x00,0x44,0x00,0x44,0x3E,

0x64,0x12,0x54,0x12,0x4C,0x12,0x47,0x12,

0x4C,0x3F,0x54,0x42,0x74,0x80,0xC6,0x7F,

0x44,0x00,0x60,0x00,0x40,0x00,0x00,0x00,

//-- 魔 --

0x00,0x40,0x00,0x30,0xFE,0x8F,0x4A,0x80,

0xAA,0x5F,0x9A,0x4A,0xFE,0x2A,0xAA,0x1A,

0xCB,0x0F,0xAA,0x7A,0xFE,0x8A,0x9A,0xAA,

0xAA,0x8F,0x6B,0x80,0x22,0xE0,0x00,0x00,

//-- 幻 --

0x80,0x20,0xC0,0x30,0xA0,0x28,0x98,0x24,

0x87,0x22,0x80,0x21,0xC4,0x30,0x04,0x60,

0x04,0x00,0x04,0x20,0x04,0x40,0x04,0x80,

0x04,0x40,0xFE,0x3F,0x04,0x00,0x00,0x00,

//-- 摇 --

0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00, //-- 摇 --

0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00, //-- 棒 --

0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0xFF, 0x90,0x00,0x54,0x05,0x44,0x12,0xD4,0x15, 0x74,0x14,0x5F,0xFF,0xD4,0x14,0x54,0x15, 0x56,0x12,0x44,0x06,0x40,0x02,0x00,0x00, //-- ! --

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B, 0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };

/*****函数声明*****/

void display1(void);

void display2(void);

void display3(void);

void display4(void);

/*****n(us)延时子程序*****/

void DelayUs(uint N)

{

uint x;

for(x=0; x<=N;x++);

}

/*****中断服务程序*****/

void intersvr0(void) interrupt 0 using 1

{

KY=~KY; //每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只提取其中一次.只有在两个端点的时候,水银开关才会闭合!!!!!!!(从左向右摇才显示)。主函数中KY的值为0,当摇摇棒从右至左端时,KY=~KY,此时KY=1,当摇摇棒从左至右端时,KY=~KY,此时KY=0,然后继续执行下面的函数。

if(KY==0)

{

num++; //计算中断次数,作用是——例:12个汉字分为3次显示完(每次显示4个字),每中断10次切换

switch(pic) //选择画面 ,pic为按键次数

{

case 0:{display1();}break;

case 1:{display2();}break;

case 2:{display3();}break;

case 3:{display4();}break;

default:{display1();}

}

}

}

/*****显示子程序1(汉字)*****/

void display1(void)

{

uchar i;

if(num>10){disp++;num=0;} //12个汉字分为3次显示完(每次显示4个),每中断10次切换,disp的不同值代表不同的画面。

if(disp>2)disp=0; //disp有0,1,2三种选择!!!!

DelayUs(5200); //此处延时时间依各硬件差别而各不相同,试着调整使得显示内容居中即可

for(i=0;i<64;i++)

{ //disp=0的时候,显示第一个64行(即第一个画面),disp=1的时候,显示第二个画面。解析:hanzi[]中,共有12个汉字,每四个汉字为一个画面,在hanzi[]

中,每个汉字为4行8列,共32个16进制,由于纵向取模的原因,所以在取模软件中共为16行,4个汉字共为64行。在取模软件中16行64列即为一个画面。

P0=~hanzi[disp*128+i*2]; //disp=1时,为第二个画面,即从第五个字开始。此时 disp=1,i=0,所以P0=128,P1=129。

P2=~hanzi[disp*128+i*2+1];

DelayUs(100);

}

}

/*****显示子程序2(LOVE)*****/

void display2(void)

{

uchar i;

DelayUs(4000);

for(i=0;i<64;i++) //64列,16行。

{ //P0=0,P1=1,原因是纵向取模!!!

P0=~love[i*2];

P2=~love[i*2+1];

DelayUs(120);

}

}

/*****显示子程序3(心形图案)*****/

void display3(void)

{

uchar i;

DelayUs(4000);

for(i=0;i<64;i++)

{

P0=~loveyou[i*2];

P2=~loveyou[i*2+1];

DelayUs(120);

}

}

/*****显示子程序4(呵呵o(∩_∩)o图案)*****/

void display4(void)

{

uchar i;

DelayUs(4000);

for(i=0;i<64;i++)

{

P0=~hehe[i*2];

P2=~hehe[i*2+1];

DelayUs(120);

}

}

/*****主函数*****/

void main(void)

{

IT0=1;

EX0=1;

EA=1; //开中断,下降沿中断

KY=0;

while(1) //主程序中只检测按键

{

if(KEY==0) //画面切换键按下

{

DelayUs(10000); //按键去抖

if(KEY==0);

pic++;} //pic为按键次数,根据pic的值进行画面选择!!!!!!if(pic>3)pic=0;

}

}

/*****END*****/

LED摇摇棒制作详情含代码

【LED摇摇棒的详细制作资料【图】 大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。 LED摇摇棒很好地利用了人眼的视觉暂留特性。下图是基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。演示效果见自制LED摇摇棒展示【图】。 实物外形图(点击可放大):

基本原理与硬件电路设计: 16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。与LED点阵的显示有几分相仿。

硬件电路如下图(点击可放大)。系统电源VCC为5V,下载程序和调试时一定要保证5 V电压,实际使用时用3节干电池串联4.5V即可。AT89S52单片机作为控制器,在它的P0、P 2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P0口的上拉电阻R A1不能少。串在LED公共端的二极管D1会产生一定的压降,用来保护LED,经实测LED点亮时两端电压为3V左右,在LED的安全承受范围内。K1是画面切换开关,用于切换显示不同内容;S1为水银开关。 水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。 硬件制作: 使用的是直径5mm的红色高亮LED,感觉太大了些,远看效果很好但近看时字不够连贯。建议使用直径为3mm的高亮LED,颜色可根据个人喜好选择。

水银开关里的水银珠很活跃,导致在接通时容易产生抖动,所以将水银开关斜向上放置(尖尖朝斜上方45°角),靠水银珠自身重力的作用减少抖动:

VFP程序中的常用语句

VFP程序中的常用语句 一.屏幕输出语句:格式:|表达式 功能:在屏幕上输出表达式的内容.1个问号为换行输出,2个问号为不换行输出 例:编制1个命令文件text.prg,保存到e:\myvfp中,统计"工资情况"表中的人数和工资总额. 程序文件内容: use 工资情况 count all to m sum all 工资 to n "人数为:",m "工资总额为:",n 二.注释语句: 格式:&&注释内容 功能:为程序中的语句作注释,注释内容不会执行. 三.输入字符串语句: 格式:accept 字符串 to 内存变量 功能:执行该语句时,暂停程序的运行,在屏幕上显示"字符串"的内容作为提示信息,等待用户通过键盘输入数据;输入数据后回车,输入的内容保存到指定的内存变量中,同时,程序继续向下执行 例:编写命令文件test2.prg,输入1个人名,在"职工档案"中查询该人员的档案信息. 程序文件内容: use 职工档案 accept "请输入待查职工姓名:" to name display 编号,姓名,性别 for 姓名=name use return &&该语句的功能是返回调用处 四.输入表达式语句: 格式:input 表达式 to 内存变量 说明: (1).该命令功能比accept强,accept只能输入字符型数据;而input可输入字符型、数值型、逻辑型和日期型 (2).使用input时,输入字符型数据时,必须加双引号等定界符;输入逻辑型数据时,要用圆点定界符(如.T.);输入日期型数据要用转换函数,如ctod("11/15/2005") 例:编写程序文件test3.prg,输入1个工资,查询工资为此数值的有多少人 程序文件内容: use 工资情况 input "请输入待查工资:" to gz list 编号,姓名,工资 for 工资=gz use return 五.清屏语句: 格式:clear

Java语言程序设计基础篇前三章课后习题要点

第1章计算机、程序和Java概述 1.1(显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun。 程序: 显示: 1.2(显示五条消息)编写程序,显示Welcome to Java五次 程序: 显示: 1.3(显示图案)编写一个程序,显示下面的图案:

程序: 显示: 1.4(打印表格)编写程序,显示以下表格: 程序: 显示:

1.5(计算表达式)编写程序,显示(9.5x4.5- 2.5x3)/(45.5- 3.5)的结果 程序: 显示: 1.6(数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果 程序: 显示: 1.7(近似求π)可以使用以下公式计算π: Π=4x(1-1/3+1/5-1/7+1/9-1/11+1/13+...) 编写程序,显示4x(1-1/3+1/5-1/7+1/9-1/11+1/13...)的结果。在程序中用1.0代替1 程序: 显示:

第2章基本程序设计 2.1(将摄氏温度转换为华氏温度)编写程序,从控制台读入double型的摄氏温度,然后将其转换华氏温度,并显示结果。转换公式如下所示: Fahrenheit-=(9/5)*celsius+32 (华氏度=(9/5)*摄氏度+32) 程序: 显示: 2.2(计算圆柱体的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱体的体积 面积=半径x半径xπ 体积=面积x高 程序: 显示:

2.3(将英尺转换为米)编写程序,读入英尺数,将其转换为米数并显示结果。一英尺等于0.305米。 程序: 显示: 2.4(将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转换成千克并显示结果。1磅等于0.454千克。 程序: 显示: 2.5(财务应用程序:计算小费)编写一个程序,读入一笔费用与酬金率,就算酬金和总钱数。例如,如果用户读入10作为费用,15%作为酬金率,计算结果显示酬金为$1.5,总费用为$11.5. 程序:

单片机创意摇摇棒制作word资料5页

# 创新设计16个LED灯的摇摇棒,可显示英文、图形及汉 字 # 仅需5种元器件(单片机、LED、导线、电池和塑料壳), 让DIY简单、快速 # 往返双程扫描,慢速摇动也可清晰显示 # 敲击字幕切换功能,无需按键操作 # 在软件上有很大的升级空间(包括双色显示、LED测光等)----------------------------------------------------------------------- [注意事项] --------------------------------------------------- -------------------- # HEX文件烧写时需选择“内部RC时钟” # 本制作采用STC12C5A60S2单片机,不可以用其他型号单 片机替代 # 惯性开关在制作时注意静止时开关柄到左右触点间的距 离应尽量相等 # 本制作无开关,不用时需取下电池或在电池间塞入绝缘纸 片

单片机采用STC12C5A60S2(1pcs) - 0805型贴片式LED灯(16pcs) - CR2032钮扣电池(2pcs) - 具有一定弹性的导线和废弃的元器件引脚 - 用来包装DIP40脚单片机的塑料壳(1pcs)- 确保单片机可以放入并有较大余地 - 用钳子将P0、P2接口所在一侧的引脚全部向外弯折 - 目的是保证将单片机放入塑料壳时不会左右乱窜 - 弯折时尽量不断放入塑料壳中比对 - 擦拭弯折后的引脚表面确保无污物可以顺利上锡

- 用摄子取出贴片LED灯并焊接在单片机引脚上 - 从P2.0引脚开始焊接左边焊LED负极(P2.0负极、P2.1 正极) - 依次焊接16个LED灯到P0.2引脚为止- 将一支废弃元器件引脚对折并焊接在弹性导线上 - 弹性导线的另一端焊接在单片机的第20脚上(GND)注 意掌握导线长度 - 将P1.3引脚弯折至芯片底部再用废弃元器件引脚向上延 长P1.2引脚 - 使之形成惯性开关的两个触点再把P1.4引脚略向内弯曲 形成侧撞触点 - 把一支废弃的元器件引脚焊接在单片机的第40脚上(VCC)- 再取一段导线将一端焊接在单片机的第20脚上(GND)- 导线另一端的接头处挂大量的锡

程序设计基础(知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

摇摇棒程序注释(已完成!!!!!)

LED摇摇棒的详细制作资料 大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。 LED摇摇棒很好地利用了人眼的视觉暂留特性。下图是基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。演示效果见自制LED摇摇棒展示【图】。 实物外形图:

基本原理与硬件电路设计: 16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。与LED点阵的显示有几分相仿。 硬件电路如下图(点击可放大)。系统电源VCC为5V,下载程序和调试时一定要保证5V电压,实际使用时用3节干电池串联4.5V即可。AT89S52单片机作为控制器,在它的P0、P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P0口的上拉电阻RA1不能少。串在LED公共端的二极管D1会产生一定的压降,用来保护LED,经实测LED点亮时两端电压为3V左右,在LED的安全承受范围内。K1是画面切换开关,用于切换显示不同内容;S1为水银开关。 水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。 硬件制作: 使用的是直径5mm的红色高亮LED,感觉太大了些,远看效果很好但近看时字不够连贯。建议使用直径为3mm的高亮LED,颜色可根据个人喜好选择。

水银开关里的水银珠很活跃,导致在接通时容易产生抖动,所以将水银开关斜向上放置(尖尖朝斜上方45°角),靠水银珠自身重力的作用减少抖动: IC座里面隐藏元件,既美观又能保护元件:

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

摇摇棒课程设计报告

重庆三峡学院 电子工艺工程设计报告书课程名称:基于单片机的摇摇棒 学院(系):电子与信息工程学院 年级专业:2012级电子信息工程(自动化) 学号: 201207014338 学生姓名:王平山 指导教师:谢辉 教师职称:教授 成绩: 制作日期2015 年6 月` 8 日

目录 一、作品摘要 (2) 二、作品说明 (2) 三、工艺流程 (3) 四、系统总体设计 (5) 五、硬件设计 (7) 六、软件设计 (8) 七、系统调试与分析 (9) 八、课程作品制作体会 (11) 九、附录 (12)

基于STC89C52的16LED摇摇棒设计 一、作品摘要 摘要:本设计以STC89C52单片机为中央控制器,利用视觉暂留效果和单片机外部中断技术,实现了在摇动过程中形成的扇形平面内清晰显示文字、字母、图像的Led显示棒的制作。整套系统由中央控制模块、Led显示模块、供电模块等部分组成。本设计实现了设计要求显示的内容。 关键字:Led 视觉暂留图案 二、作品说明 摇摇棒是如今流行的一种玩具,在各种聚会、节日中均见得到它的身影。本设计也追随着摇摇棒的原理,利用人眼的视觉暂留特性,通过STC89C52单片机对16只高亮度LED发光二极管进行控制,配合手的左右摇晃就可呈现一幅完整的画面。 下图是基于51单片机控制16只高亮度LED发光二极管构成的摇摇棒,

该摇摇棒具有如下功能: 1) 显示“欢迎使用神奇魔幻摇摇棒!”; 2) 显示心形图案; 3) 显示“LOVE”; 4) 可以通过开关实现转换,轮流显示并循环。 三、PCB制作工艺及流程 1、印制电路板的介绍 印制电路版(Printed Circuit Board,简称PCB),它是以一定尺寸的绝缘板为基材,以铜箔为导线,经特定工艺加工,用一层或若干层导电图形(铜箔的链接关系)以及设计好的孔(如元件孔、机械安装孔、金属化过孔等)来实现元件间的电气连接关系,它就像在纸上印刷上去似的,故得名印制电路板或称印刷线路板。在电子设备中,印制电路板可以对各种元件提供必要的机械支撑,提供电路的电气连接并用标记符号把板上安装的各个元件标注出来,以便于插件、检查及调试。 按照在一块板上导电图形的层数,印制电路板可分为一下三类。 1)单面板 指仅一面又导电图形的电路板,也称单面板。 2)双面板 指两面都有导电图形的电路板,也称双层板。其两面的导电图形之间的电连接通过过孔来完成。 3)多层板 由交替的导电图形层及绝缘材料层叠压粘合而成的电路板。除电路板两个面有导电图形外,内部还有一层或都多层相互绝缘的导电层,各层之间通过金属化过孔实现电气连接。它主要应用于复杂的电路设计。 PCB设计流程 1、印制电路板的设计的一般步骤 1)绘制印制电路板 主要任务是绘制摇摇棒原理图,并且确保无误后,生成网络表,用与PCB设计时自动布局。 2)规划电路板 主要完成确定电路板的物理边界,电气边界,电路板的层数,各种元件的封装形式和布局要求等任务

基本的程序语句

第二章基本的程序语句 2.1目的和要求 1、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它 们赋值的方法,了解以上类型数据输出时所用的格式转换符。 2、学会使用C的有关算术运算符,及包含这些运算符的表达式, 3、自增(++)和自减(--)运算符的使用。 4、掌握基本的输入输出函数scanf( )、getchar( )、printf( )和putchar( )函数的基本功 能、调用方法、输入/输出格式控制规定等。 2.2相关知识 1、变量和常量 常量和变量是C语言数据处理的基本对象。 (1)常量分为数、字符和字符串 数分为整数和实数。整数可以使用十进制、八进制和十六进制表示;实数只使用十进制,采用一般形式和指数形式具体表示。 字符常量用单引号括起来的一个字符表示,字符常量的值是该字符的ASCII 码值。 字符串常量用双引号括起的一串字符表示,字符串在内存存贮时,自动在其尾部加上一个空(NULL)字符。 (2)变量按照数据类型定义 基本数据类型有字符型、整型、单精度浮点类型和双精度浮点型,由基本数据类型的数据长度不同及有无符号又可派生多种类型。 2、算术表达式 算术表达式是用算术运算符和括号将运算对象连接起来,且符合C语法规则的式子。 C语言在不同数据类型混合运算时会按规则自动转换成相同的数据类型后再进行运算。即C编译自动把参与运算的各种常量和变量转换为它们中间数据长度最长的数据类型进行计算,但赋值操作按把赋值号右边类型转换成赋值号左边类型的原则进行。如果希望在一个算术表达式中按用户的要求确定结果的类型,则必须采用强制类型转换符号进行操作。 3、运算符 (1)算术运算 单目运算:-,++,―― 双目运算:+,-,*,/,% (2)关系与逻辑运算 关系运算的结果是1和0,若关系表达成立,则其值为1,否则为0。 逻辑运算的结果是真或假,如果为真,定义其值为1,如果为假,定义其值为0。 4、编程中应注意 (1)用整型(int 、short、long)说明变量时,要注意变量的取值范围,否则将出意想不到的错误;字符常量和字符串常量是有区别的。 (2)运算符的运算优先顺序;关系运算符中的等号(==)不要写成赋值号;逻辑运算中,当有&&和|| 联结的表达式时,按从左至右顺序运算,且一旦能确定结果便终止后面的运算。

matlab基本语句

matlab 基本语句 1.循环语句for for i=s1:s3:s2 循环语句组 end 解释:首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。 例:求1到100的和,可以编程如下: sum=0 for i=1:1:100 sum=sum+i end 这个程序也可以用while语句编程。 注:for循环可以通过break语句结束整个for循环. 2.循环语句while 例:sum=0;i=1; while(i<=100) sum=sum+i;i=i+1; end 3.if语句 if(条件) 语句 end if(条件) 语句 else 语句 end if(条件) 语句 elseif 语句 end 4.关系表达式: =,>,<,>=,<=,==(精确等于)

5.逻辑表达式:|(或),&(且) 6.[n,m]=size(A)(A为矩阵) 这样可以得到矩阵A的行和列数 n=length(A),可以得到向量A的分量个数;如果是矩阵,则得到矩阵A的行与列数这两个数字中的最大值。 7.!后面接Dos命令可以调用运行一个dos程序。 8.常见函数: poly():为求矩阵的特征多项式的函数,得到的为特征多项式的各个系数。如 a=[1,0,0;0,2,0;0,0,3],则poly(a)=1 -6 11 -6。相当于poly(a)=1入^3+(-6)入^2+11入+(-6)。 compan():可以求矩阵的伴随矩阵. sin()等三角函数。 MATLAB在数学建模中的应用(3) 一、程序设计概述 MATLAB所提供的程序设计语言是一种被称为第四代编程语言的高级程序设计语言,其程序简洁,可读性很强,容易调试。同时,MATLAB的编程效率比C/C++语言要高得多。 MATLAB编程环境有很多。常用的有: 1. 命令窗口 2. word窗口 3. M-文件编辑器,这是最好的编程环境。 M-文件的扩展名为“.m”。M-文件的格式分为两种: ①l M-脚本文件,也可称为“命令文件”。 ②M-函数文件。这是matlab程序设计的主流。l 保存后的文件可以随时调用。 二、MATLAB程序结构 按照现代程序设计的观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构是:顺序结构、选择结构和循环结构。其中顺序结构是最基本的结构,它依照语句的自然顺序逐条地执行程序的各条语句。如果要根据输入数据的实际情况进行逻辑判断,对不同的结果进行不同的处理,可以使用选择结构。如果需要反复执行某些程序段落,可以使用循环结构。 1 顺序结构 顺序结构是由两个程序模块串接构成。一个程序模块是完成一项独立功能的逻辑单元,它可以是一段程序、一个函数,或者是一条语句。 看图可知,在顺序结构中,这两个程序模块是顺序执行的,即先执行<程序模块1>,然后执行<程序模块2>。 实现顺序结构的方法非常简单,只需将程序语句顺序排列即可。 2 选择结构 在MATLAB中,选择结构可由两种语句来实现。

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

摇摇棒的制作流程(附带程序和原件清单)

摇摇棒的制作 大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。 LED摇摇棒很好地利用了人眼的视觉暂留特性。下图是基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。 实物外形图:

基本原理与硬件电路设计: 16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。与LED点阵的显示有几分相仿。 硬件电路如下图(点击可放大)。系统电源VCC为5V,下载程序和调试时一定要保证5V电压,实际使用时用3节干电池串联4.5V即可。AT89S52单片机作为控制器,在它的P0、P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P0口的上拉电阻RA1不能少。串在LED公共端的二极管D1会产生一定的压降,用来保护LED,经实测LED点亮时两端电压为3V左右,在LED的安全承受范围内。K1是画面切换开关,用于切换显示不同内容;S1为水银开关。 水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。

硬件制作: 使用的是直径5mm的红色高亮LED,感觉太大了些,远看效果很好但近看时字不够连贯。建议使用直径为3mm的高亮LED,颜色可根据个人喜好选择。

水银开关里的水银珠很活跃,导致在接通时容易产生抖动,所以将水银开关斜向上放置(尖尖朝斜上方45°角),靠水银珠自身重力的作用减少抖动: IC座里面隐藏元件,既美观又能保护元件:

C语言中流程控制语句

C语言中流程控制语句(在Turbo C2.0中) (if, while,do-while,continue,break, for, switch,return) _1981/blog/item/528c122dcca9f335359bf73e.html 条件语句的一般形式为: if(表达式) 语句1; else 语句2; 上述结构表示: 如果表达式的值为非0(TURE)即真, 则执行语句1, 执行完语句1从语句2后开始继续向下执行; 如果表达式的值为0(FALSE)即假, 则跳过语句1而执行语句2。 注意: 1. 条件执行语句中"else 语句2;"部分是选择项, 可以缺省, 此时条件语句变成: if(表达式) 语句1; 表示若表达式的值为非0则执行语句1 , 否则跳过语句1继续执行。 2. 如果语句1或语句2有多于一条语句要执行时, 必须使用"{"和"}" 把这些语句包括在其中, 此时条件语句形式为: if(表达式) { 语句体1; } else { 语句体2; } 3. 条件语句可以嵌套, 这种情况经常碰到, 但条件嵌套语句容易出错, 其原因主要是不知道哪个if对应哪else。 例如: if(x>20||x<-10) if(y<=100&&y>x) printf("Good"); else printf("Bad"); 对于上述情况, Turbo C2.0规定: else语句与最近的一个if语句匹配, 上例中的else与if(y<=100&&y>x)相匹配。为了使else与if(x>20||x<-10)相匹配, 必须用花括号。如下所示: if(x>20||x<-10) { if(y<=100&&y>x) printf("Good"); } else printf("Bad"); 4. 可用阶梯式if-else-if结构。 阶梯式结构的一般形式为: if(表达式1)

C语言程序设计基础测试题-答案

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2] 下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4] 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6] C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8] 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

摇摇棒 实验报告

系 别: 电子信息系 专 业: 通信工程专业 班 级: B080307 学 号:B08030722 姓 名: 张维国 指导教师: 张妮 实习题目: 摇摇棒的设计 实习地点: 电子实验室 教务处印制 2011 年 9 月 4 日 生产实习报告

指导教师填阅

前言今年暑假学校为了使我们没有去富士康实习的同学有事可 做,给我们安排了很多的实习和课程设计。这次生产实习摇摇棒的制作 就是其中一个,本次实习介绍了一种新型的LED彩灯控制系统的设计 方法,以AT-89C51单片机作为主控核心,与按键、水银开关等较少的 辅助硬件电路相结合,利用软件实现对LED彩灯进行控制。本系统具 有体积小、硬件少、电路结构简单及容易操作等优点。 基本原理与硬件电路设计: 16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。与LED点 阵的显示有几分相仿。 系统电源VCC为5V,下载程序和调试时一定要保证5V电压,实际使用时用2个钮扣电池。AT89S51单片机作为控制器,在它的P0、 P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电 平点亮。P0口的上拉电阻RA1不能少。串在LED公共端的二极管D1 会产生一定的压降,用来保护LED,经实测LED点亮时两端电压为3V 左右,在LED的安全承受范围内。K1是画面切换开关,用于切换显示 不同内容;K3为水银开关。 水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇 棒从左向右摇动时将内容显示出来。 硬件制作: 使用的是直径3mm的红色LED,颜色可根据个人喜好选择。 水银开关里的水银珠很活跃,导致在接通时容易产生抖动,所以将水银开关斜向上放置(尖尖朝斜上方45°角),靠水银珠自身重力的作 用减少抖动 1 实习目的 1.非常重要的实践教学环节

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

脚本程序基本语句

脚本程序基本语句 由于MCGS脚本程序是为了实现某些多分支流程的控制及操作处理,因此包括了几种最简单的语句:赋值语句、条件语句、退出语句和注释语句,同时,为了提供一些高级的循环和遍历功能,还提供了循环语句。所有的脚本程序都可由这五种语句组成,当需要在一个程序行中包含多条语句时,各条语句之间须用“:”分开,程序行也可以是没有任何语句的空行。大多数情况下,一个程序行只包含一条语句,赋值程序行中根据需要可在一行上放置多条语句。 赋值语句 赋值语句的形式为:数据对象 = 表达式。赋值语句用赋值号(“=”号)来表示,它具体的含义是:把“=”右边表达式的运算值赋给左边的数据对象。赋值号左边必须是能够读写的数据对象,如:开关型数据、数值型数据以及能进行写操作的内部数据对象,而组对象、事件型数据对象、只读的内部数据对象、系统函数以及常量,均不能出现在赋值号的左边,因为不能对这些对象进行写操作。 赋值号的右边为一表达式,表达式的类型必须与左边数据对象值的类型相符合,否则系统会提示“赋值语句类型不匹配”的错误信息。 条件语句 条件语句有如下三种形式: If 〖表达式〗 Then 〖赋值语句或退出语句〗 If 〖表达式〗 Then 〖语句〗 EndIf If 〖表达式〗Then 〖语句〗 Else 〖语句〗 EndIf 条件语句中的四个关键字“If”、“Then”、“Else”、“Endif”不分大小写。如拼写不正确,检查程序会提示出错信息。 条件语句允许多级嵌套,即条件语句中可以包含新的条件语句,MCGS脚本程序的条件语句最多可以有8级嵌套,为编制多分支流程的控制程序提供了可能。 “IF”语句的表达式一般为逻辑表达式,也可以是值为数值型的表达式,当

C++语言程序设计基础考试卷.doc

1. 在面向对象的程序设计C++中, 当用cin> cout输入、输出时程序头部要() 2. 3. A、#include C、#include 类的概念是() A、对象的抽象。 C、同一类数据的集合。 C++源程序文件的扩展名为 A、. CPP B 、 D 、 B 、 D 、 # i nc1ude< i ostream. h> #include 同一类记录的集合。 所有对象的集合。 C、.DLL D 、 .EXE 有二维字符数组char s[4] [6] = ( "zhang” , " gao"," 4. cout?*s [2],屏幕上显示 A、gao B、tang 编译程序的功能是() tang” , ” wang” },执行程 C、g D 、 考试试卷 2007 — 2008学年2学期时间ioo分钟 C++语言程序设计基础课程64学时3学分考试形式:闭卷专业年级:总分100分,占总评成绩追% 注:此页不作答题纸,请将答案写在答题纸上 一、单选题(本题24分,每小题1分) A、将汇编语言程序转换为目标程序 B、将汇编语言程序转换为高级语言程序 C、将高级语言程序转换为目标程序 D、将高级语言程序转换为汇编语言程序 6,下面的函数声明中,哪一个是” void BC(int a, int b); ”的重载函数?() A、int BC(int a, int b) void BC(int a, char b) C^ float BC(int a, int b, int c = 0) D、void BC(int a, int b=0) 7.设&和b为整型变量,执行语句比(a=2+3,&*4),a+5;后a和b的值为 A、5, 10 B、20, 25 C、5, 25 D、5, 20

第六讲顺序结构程序与基本语句(二)

第六讲顺序结构程序与基本语句(二) 一、教学目标 1、知识与技能 理解程序顺序结构的执行流程,掌握赋值语句和输入输出语句,能够编写简单的顺序结构的程序,以解决生活中的一些计算问题。 2、方法与过程 本节从简单的问题入手,如求圆的面积,让学生初步掌握赋值语句和输入输出语句的使用方法及其功能。进而转入较为复杂的问题,如编写程序使从键盘上输入一个三位数,然后反方向输出,并且运用到上一章所学的运算符、表达式等,对知识进行巩固,课程安排形成循序渐进的梯度,充分挖掘学生潜力,让有余力的学生可以有更大空间。 3、情感态度和价值观 程序设计选取的题目与高一所学的数学、物理中学到的新知识有密切的联系,从而激发学生对程序设计的追求和向往。 二、重点难点 1、教学重点 (1)赋值语句和输入输出语句的使用 (2)程序顺序结构的执行流程 (3)能编写程序解决简单的应用题 2、教学难点 根据题目写出正确的程序 三、教学过程 (一)赋值语句 PASCAL有两个语句可以改变变量的值。赋值语句是其中之一(另一个是读语句)。赋值,顾名思义,就是把一个值赋予某个量。可以这理解:变量相当于装东西的容器,赋值的过程就是把东西放进容器的过程。赋值语句格式如下: 变量:=表达式; 写赋值语句有以下几点要注意: 1、赋值号“:=” 赋值号由两个字符构成,是一个运算符。如果把这两个字符拆开,那么这两个字符就是别的意思了:“:”是分隔符而“=”是关系运算符,判定两个对象是否相等。刚刚写程序的同学要特别注意这一点。 例:a,b:integer;——是一个说明语句。“:”是变量表和变量类型的分隔符a=b——是一个表达式。它的值是一个布尔类型的量:TRUE或FALSE a:=3;——是一个语句。把整型常量值3赋给整型变量a 2、变量要先说明 在赋值号左边出现的变量,要在程序头的说明部先加以说明,否则编译时出错。 3、表达式必须要有确定的值 赋值号右边出现的表达式,必须是可以求值的。也就是说,经过运算之后,能得出一个具体的、确定的值出来。大家想一想,如果连表达式自己都不知道自己的值是多少,怎么还能把值“赋予”别人呢? 4、赋值号两边的数据类型必须相同或相容

MATLAB 语言程序设计基础(1)

%第二章MATLAB 语言程序设计基础% % MATLAB 基本命令简介 % MATLAB 程序设计语言基础 % 基本数学运算 % MATLAB语言流程控制 % MATLAB 函数的编写 % 二维图形绘制 % 三维图形绘制 % 二维图形 % 基本平面 % plot % fplot%f(x) %fplot('tanh',[-2 2]) % loglog%双对数图形 % semilogx%x轴对数图形 % semilogy %zoom %meshgrid

% 特殊平面 %polar %bar %barh %compass %comet %errorbar %feather %hist 二维直方图%histc 直方图记数%rose 角度直方图%stairs %stem 柄形图 %stem3 %pie 饼形图 % 注释命令 % grid % gtext % text % legend % title

% xlabel,ylabel % 三维图形 % % 三维曲线,面填色命令 % comet3 三维彗星 % fill3 % 三维图形等高线 %clabel 二维等高线图中添加高度标签 % [x,y] = meshgrid(-2:.2:2); % z = x.*y.*exp(-x.^2-y.^2); % [C,h] = contour(x,y,z); % clabel(C,h); %contour %contourc 低级等高线图形计算命令。计算等高线矩阵c %contour3 三维空间等高线图 %contourf 填充二维等高线图 %contour,contour3和contourf %pie3

相关文档
最新文档