实验二 定时器程序设计121

时间:2019-05-14 07:34:28下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《实验二 定时器程序设计121》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《实验二 定时器程序设计121》。

第一篇:实验二 定时器程序设计121

一、实验目的学会使用单片机定时器产生定时中断,并利用定时中断产生更长时间延时。

二、实验设备及器件

IBM PC机

一台

DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台

三、实验内容

1.实验二 定时器程序设计

2.编写程序,使P10端口来控制LED闪烁 3.C语言程序

//1ms定时中断实现100ms发光管闪烁 #include“REG51.h” sbit LED=P1^0;void main(void){ TMOD = 0x01;//设置定时器模式 16位定时器

TL0 = 0x18;//设置定时初值

TH0 = 0xFC;//设置定时初值

TR0 = 1;//定时器T0开始计时

ET0=1;//开定时器中断

EA=1;

//开总中断

while(1);}

//******************** //1ms void pit0(void)interrupt 1(中断程序){ static unsigned char ms_cnt=0;//16 ffff TL0 = 0x18;//设置定时初值

TH0 = 0xFC;//设置定时初值

if(++ms_cnt==100){

ms_cnt=0;

LED=!LED;} } 定时器的由程序

直接汇编语言 ORG 0 AJMP MAIN ORG 0BH AJMP PIT0 MAIN: MOV TMOD,#01H MOV TH0,#18H MOV TL0,#0FCH SETB TR0 SETB ET0 SETB EA SJMP $

生成;********************************** PIT0: MOV TH0,#18H MOV TL0,#0FCH INC R7 CJNE R7,#100,PIT0_R MOV R7,#0 CPL P1.0 PIT0_R: RETI END

四 实验要求

学会使用并掌握单片机定时器中断来实现LED100ms闪烁。

五 实验步骤

1.调试运行本节实验程序。若程序无错误,编译并进行二进制转换,下载程序。

2.连接线路,将A2区的P10端口连接到D1区的任意LED接口。3.观察LED灯闪烁情况

第二篇:实验二 单片机定时器和计数器编程

仲恺农业工程学院实验报告纸

信息学院(院、系)专业班组单片机原理及接口技术课实验二单片机定时器/计数器编程

一、实验目的1、掌握单片机定时器/计数器的工作方式;

2、掌握单片机定时器/计数器的编程方法。

二、实验内容

1、学习单片机定时器/计数器的工作方式、初始化以及应用等;

2、利用单片机定时器/计数器编写程序驱动开发板上的led和蜂鸣器按一定规律工作。

三、实验设备

1、STC单片机开发板;

2、PC机以及串口线。

四、实验步骤

参考实验指导书。

五、实验总结

第三篇:C语言程序设计实验二

C语言程序设计实验

(二)[实验1]

1.实验题目

下列各题的算法用传统流程图及N-S流程图两种方式表示:

(1)输出图形(顺序结构)

★★★★★★★★

★★★★★★★★

★★★★★★★★

★★★★★★★★

(2)判断用户输入的字符是数字字符、字母字符还是其它字符。(选择结构)

(3)运用循环结构打印如下图形(for循环结构)。

◆◆◆

◆◆◆◆◆

◆◆◆◆◆◆◆

◆◆◆◆◆◆◆◆◆

(4)输入任意数N,求P的值(P=N!)(当型循环结构)

(5)输出1~N间20个不能被3整除的数列(直到型循环结构)

(6)计算并打印九九表。(直到型循环结构)

2.实验目标

(1)熟练掌握流程图表示算法的方法。

(2)熟练掌握结构化程序设计的三种基本结构。

[实验2] 变量的变化情况。

1.实验题目

有以下程序

#include

#definea 3*2+1

#defineA a*a+a

#defineb(3*2+1)

#defineB(b)*(b)+(b)

main()

{

int x1,x2;

int y1,y2;

x1=a*a;

y1=A*A;

x2=b*b;

y2=B*B;//换为y2=(A)*(A)结果是否相同

printf(“x=%d tty=%dn”,x1,y1);

printf(“x=%dtty=%dn”,x2,y2);

}用逐行断点测试方法,体会程序运行时各变量值的变化情况。

2.实验要求

(1)在上机实验之前先将每执行一条语句后变量x1、x2和y1、y2的预期结果写在相应语句旁。

(2)设置4个监视项x1、x2和y1、y2,断点逐行测试执行程序。

(3)每执行一条语句后,对比Watch窗口中变量x1、x2和y1、y2的值与预期的值是否一致,若不一致,请解释原因。

(4)将语句“y2=B*B;”换为“y2=(A)*(A)”,测试结果是否相同,为什么?

(5)运行结束后查看输出结果,确认该结果是否与预期的值一致。

3.实验目标

(1)宏定义的正确定义。

(2)宏定义的正确使用。

第四篇:实验二 简单的C程序设计

实验二

简单的C程序设计

实验目的:

1.掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。

2.通过编程进一步理解和掌握运算符的确切含义和功能。

3.理解和掌握运算符与运算对象的关系,优先级和结合方向。

1.通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。

2.掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。3.掌握简单的C程序的查错方法。实验内容:

一、输入程序,观察输出结果,并对输出结果作出合理的解释。1./* e1.cpp */ #include void main()

{

float x;double y;x=213.82631;y=213.82631;printf(“%-4.2f,-6.2en”,x,y);}

输出结果: 解释:

2./* e2.cpp */ #include void main(){

char ch;

int k;

ch=’a’;k=10;

printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k);

printf(“k=%%dn”,k);

} 输出结果:

解释:

3./* e3.cpp */

#include void main(){ float a1,a2;

double b1,b2;

a1=3141.59;a2=0.000001;

b1=3141.59;b2=0.000001;

printf(“%f,%lfn”,a1+a2,b1+b2);

} 输出结果:

解释:

4. /* e4.cpp */ #include void main(){

float x=5/2,y=5.0/2;

printf(“x=%f,y=%fn”,x,y);} 输出结果:

解释:

二、编写程序。

1. 编程(c1.cpp)定义3个整型变量x,y,z和一个实型变量averge,计算并输出3个整数的平均值averge,其中x=y=1,z=0。观察运行结果。再将x,y,z和averge改为实型变量,再观察运行结果。理解整除和不同类型数据进行混合运算的转化规律,对结果进行合理的解释。源程序:

输出结果: 解释:

2. 改写程序(c2.cpp),针对上一题要求,采用从键盘用scanf()函数输入x,y,z的值。要求输出结果的形式为averge=…。

源程序:

输出结果: 解释:

3. 输入3个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b原来的值给c,把c中原来的值给a。源程序:

输出结果:

三、调示示例。1. 求华氏温度100。F对应的摄氏温度。计算公式:C=(5/9)(F-32),其中C表示摄氏温度,F表示华氏温度。源程序(有错误)#include void main(){

int celsius;fahr;fahr=100;celsius=5*(fahr-32)/9;printf(“fahr=d,celsius=%dn”,fahr,celsius);} 1)输入源程序。

2)实验一中用菜单完成编译、连接和运行,现在介绍工具栏的使用方法。在工具栏

或菜单栏上单击鼠标右键,出现如图所示的整个工具箱,在“编译”或“编译微型条”项前打上“√”。

图中第1个按钮为“Compile”(编译,Ctrl+F7),第2个按钮为“Build”(构件,F7),第4个按钮为“Build Execute”(执行,Ctrl+F5)。3)单击“编译”工具条中的第1个按钮,出现第一个错误信息:

Cannot open include file: 'stdoi.h': No such file or directory(不能打开stdoi.h)

改正(应该是stdio.h)后,重新编译,新产生的第一个错误信息是:

'fahr' : undeclared identifier(“fahr”变量没有定义)改正:将fahr前的分号改为逗号,重新编译,编译正确。

4)单击“编译”工具条中的第2个按钮,连接正确。

5)单击“编译”工具条中的第4个按钮,运行结果为 :

fahr=d,Celsius=100

不符合题目的要求,仔细检查源程序,发现函数printf()中的d应为%d,改正的,重新连接和运行,运行结果与题目要求的结果一致,程序调试结束。

2. 改错,计算某个数x的平方y,并以算术公式的形式输出x和y的值.请不要删除源程序中的任何注释。输入输出示例(假设x的值为3): 9=3*3 3*3=9 #include void main(){

int y;

y=x*x;

printf(“%d=%d*%d”,x);

/* 输出

printf(“d*%d=%d”,y);

}

改正后的源程序:

实验报告要求

将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

第五篇:课程设计论文--基于labview的定时器程序设计

基于labview的定时器程序设计

目录

1.程序设计背景„„„„„„„„„„„„„„„„„„„„„„„„„„3

1.1.labview定时器的介绍„„„„„„„„„„„„„„„„„„„„„3

2.程序介绍„„„„„„„„„„„„„„„„„„„„„„„„„„„„3

a、主要用途和功能„„„„„„„„„„„„„„„„„„„„„„„4

b、前面板图和主要部件的功能„„„„„„„„„„„„„„„„„„„5

c、程序框图„„„„„„„„„„„„„„„„„„„„„„„„„„„6

3.程序改进„„„„„„„„„„„„„„„„„„„„„„„„„„„„8

4.程序界面及层次关系„„„„„„„„„„„„„„„„„„„„„„9

5.存在的一些问题„„„„„„„„„„„„„„„„„„„„„„„„10

6.程序来源说明„„„„„„„„„„„„„„„„„„„„„„„ 10

1.程序设计背景

定时器在家用电器中经常用于延时自动关机、定时。延时自动关机用于:收音机、电视机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电及延时自停电源等。定时可用于:照相机曝光、定时闪光、定时放大、定时调速、定时烘箱、冰箱门开定时报警、水位定时报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等。例如空调中的定时器,在工作一段时间后便能自动切断电源停止工作。夏季夜间使用,入睡前先设好预定时间,等睡熟后到了预定时间,空调自动关机。方便节能。定时器除了应用于家电之外 还广泛应用于工农业生产和服务设施,军事等。发展前景

传统的定时器大多数是发条驱动式、电机传动式或电钟式等机械定时器,部分电子器械中也有试用时间继电器的。相对于传统的定时器,电子定时器的体积小,重量轻。造价低。精度高、寿命长,而且安全可靠,调整方便,适于频繁的使用。同时随着现代电子技术的不断发展,定时器也在不断更新,朝着更多用途,更高精度,更小体积发展着。

Labview的定时器:

1.为什么要使用定时: 一般来说在循环中,我们都会添加一个定时器。他们的作用主要有2 个:

1.控制代码执行的速率:简单的来说,如果在循环中添加了定时,就可以控制循环以一定间隔重复执行;或者在串口通信中,在发送指令后等待指定的时间再读返回值。

2.降低CPU 占用率:如果没有设置定时,CPU 的大部分资源会一直被该线程占用,而无法执行其他线程。2.定时VI 用法:

在LabVIEW 中的常用定时有等待(ms)倍毫秒

1. 等待(ms)

该VI 的输入端为整型,单位是ms。指定代码执行的时间间隔。举例来说,连入VI 的输入为10ms,如果循环中代码的运行时间是3ms,那么每次循环的时间是10ms;如果循环中代码的运行时间是14 毫秒(大于10ms),那么每次的循环的时间是14ms。

(Windows 下软件定时的精度在1 个ms 左右,所以实际的情况会有1ms 左右的误差)

2. 等待到下一个整数倍毫秒

该VI 输入为整型,单位是ms。该VI 将定时和系统的时钟对应起来,使用该定时VI 后,代码将在系统时钟为定时时间的整数倍执行。使用该定时VI 的第一次运行时间间隔是不确定的。比如设定定时为1000ms,对于第一次运行,无论当前时间是50ms 还是850ms,都将在下一次1000ms 的整数倍时间第二次运行该代码,那么实际的间隔分别是950ms 和150ms。

3.定时的精度: 对于上面提到的定时VI,输入的单位都是ms,但是实际运行的最小间隔在2ms 以上。这是因为Windows 操作系统中,对线程的操作最小的间隔是2ms。

4.使用定时的注意事项:

在使用等待到下一个整数倍毫秒时需要注意,当该VI 处于等待状态时,整个线程都将处于等待状态。在对时间要求较高的实时系统中,往往不可以简单的将该定时VI 和代码并行的放置。

,和等待到下一个整数程序介绍

a、主要用途和功能 在测量过程中,有时需要测量、记录数据在2小时内的分布情况(稳定性、波动性);有时需要每10分钟测量一次数据并保存结果。这就需要有一个定时器或倒计时器来控制测量的过程,利用“已用时间”快速vi做了一个既有“定时”功能又有“倒计时”功能的vi,基本上满足应用程序的设计要求。

该vi的定时精度不是很高,大概在正、负1s左右,基本上可以满足工程上的使用要求。

b、前面板图和主要部件的功能

定时时间选择——这是一个枚举控件,用来选择定时或倒计时的时间间隔。设计时定义了一些常用时间的数据列表。

定时器(倒计时器)——这是一个开关控件,用来选择是定时功能还是倒计时功能。开始计时后将被灰化(运行时不可再操作)。

停止(开始)——这是一个开关控件,用来控制是否开始计时。开始计时后将被灰化(运行时不可再操作)。

定时持续时间——这是一个字符显示控件,用来实时显示定时或倒计时的时间间隔数值。

强行停止计时——这是一个开关控件,用来强行停止计时过程(退出计时)。

c、程序框图

整个程序框图

程序在执行时,首先通过选择按钮,选择是定时器模式还是倒计时模式,然后经过每局按钮确定定时时间,再按下开始,若在定时器模式下,则定时显示时间从0递增到枚举选择的时间,此过程中按钮变灰,不可用,到点时,由开始转为停止,所有键可用。倒计时器模式与此过程大致相同,唯一不同便是计数从预设值递减为0。程序在执行过程中可用确定强制退出键退出。

计时的功能由“已用时间”实现,枚举的数值为其上限,在定时器模式,已用时间直接输出到格式化日期,再到时间显示控件。在倒计数器模式,已用时间输出数据先与枚举数做减法运算,在输入到格式化日期。

中断循环由已用时间的结束输出、强行停止键、过程错误输出三者通过逻辑与接到中止键。

程序改进

上述程序过于简单,现做改进如下:

1.将枚举控件用一个数值输入控件代替,这样就可以自行确定定时或倒计时的时间,从而扩大了程序适用的范围。(注意输入的数值以分钟记)

2.为了更好的达到倒计时预警的效果,现加入LED灯进行倒计时小于10时的显示,从而更加直观,鲜明,同时为了不影响程序的观看效果,LED灯只在倒计时的最后10秒出现,其余情况皆为不可见。3.在程序设计中使用属性节点,比如本例中:利用属性节点将程序运行过程中的操作限定在唯一性上,可以降低操作者的误操作可能性。本程序运行时,要么等待定时结束,要么由操作者强行停止计时。

4.新增一个图片下拉表,它的可视性与LED灯的情况相同。

5当定时时间到时,发出声音报警。整体程序图

程序界面

存在的一些问题

本程序的定时显示精确性不高,例如LED灯的数字无法做到同步显示等等。程序来源说明

本文原程序来源于http://tieba.baidu.com/p/1585935847 9

下载实验二 定时器程序设计121word格式文档
下载实验二 定时器程序设计121.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    实验二 Linux shell程序设计总结范文

    实验二 Linux shell程序设计 一、 实验目的 熟悉linux shell 简单程序设计 二、 实验内容 1、 变量引用。在用户主目录下运行如下命令 $dir_1=/11/22 $echo $dir_1 $echo d......

    Java程序设计实验2

    学 生 实 验 报 告 册 课程名称: 学生学号: 所属院部: (理工类) 专业班级: 学生姓名: 指导教师: 20 ——20 学年 第 学期 金陵科技学院教务处制 实验报告书写要求 实验报告......

    UML程序设计实验指导书

    《UML程序设计》 实验指导教程 适合专业:计算机类专业 浙江树人大学信息科技学院 2016.02 课程与实验综述 第一部分实验综述 一.课程简介及实践要求: 《UML程序设计》是以介绍......

    Java程序设计实验5篇

    学 生 实 验 报 告 册 课程名称: 学生学号: 所属院部: (理工类) 专业班级: 学生姓名: 指导教师: 20 ——20 学年 第 学期 金陵科技学院教务处制 实验报告书写要求 实验报告......

    UML程序设计实验指导书

    《UML程序设计》 实验指导教程 适合专业:计算机科学技术09 浙江树人大学信息科技学院 2012.02 课程与实验综述 第一部分实验综述 一.课程简介及实践要求: 《UML程序设计》是以......

    实验报告二、单片机定时器的综合应用

    院系 物理与电子信息学院 姓名 吴凯 实验室 S2312 课程 单片机原理与应用 试验项目编号专业 电子与电子信息工程班级10电专(2)学号 1060710057同组人/组号/指导老师肖鹏程日期......

    实验五 定时器、串行口以及人机交互综合编程

    仲恺农业工程学院实验报告纸信息学院 (院、系)专业班组单片机原理及接口技术课实验五定时器、串行口以及人机交互综合编程 一、实验目的 1、巩固掌握单片机定时器、串行口、键......

    《C语言程序设计》实验四

    电子科技大学 计算机 学院 标 准 实 验 报 告 (实验)课程名称C语言程序设计 电子科技大学教务处制表电 子 科 技 大 学 实 验 报 告四 学生姓名:学 号:指导教师:刘 勇 实验地点:......