失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 定时器计数器实验C语言程序 实验二 单片机定时器和计数器编程

定时器计数器实验C语言程序 实验二 单片机定时器和计数器编程

时间:2024-04-05 08:12:51

相关推荐

定时器计数器实验C语言程序 实验二 单片机定时器和计数器编程

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

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

一、实验目的

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

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

二、实验内容

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

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

三、实验设备

1、STC单片机开发板;

2、PC机以及串口线。

四、实验步骤

参考实验指导书。

五、实验总结

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

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

一、实验目的

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

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

二、实验内容

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

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

三、实验设备

1、STC单片机开发板;

2、PC机以及串口线。

四、实验步骤

参考实验指导书。

五、实验总结

院系 物理与电子信息学院

姓名 吴凯

实验室 S2312

课程 单片机原理与应用

试验项目编号

专业 电子与电子信息工程班级10电专(2)学号 1060710057同组人/组号/指导老师肖鹏程日期成绩试验项目名称单片机定时器的综合应用

一、实验目的

1.进一步熟悉Keil uVision2软件的应用;

2.进一步熟悉Proteus7.8软件的应用;

3.掌握单片机软件延时和定时器的使用方法;

4.掌握用C语言编写方波发生器和彩灯控制器的方法。

二、实验环境

1.微机一台;

2.Proteus7.8电路设计和仿真软件;

3.Keil uVision2编译和调试软件;

三、实验原理

图1是单片机实现1KHz方波发生器的电路原理图,P00接示波器,时钟电路接在单片机的DIP

18、DIP19,复位电路接在单片机的DIP9,DIP31接Vcc。 注意:所有元器件要按实物重新封装。

用C语言编写程序,使该电路的功能为,上电后示波器显示1KHz的方波。当示波器显示的方波频率不是1KHz时,修改程序,使示波器显示标准的1KHz方波。

图1单片机输出控制电路原理图

C语言1KHz方波发生器的程序

图2是单片机实现彩灯控制器的电路原理图,P00接8只LED,时钟电路接在单片机的DIP

18、DIP19,复位电路接在单片机的DIP9,DIP31接Vcc。 注意:所有元器件要按实物重新封装。

用C语言编写程序,使该电路的功能为,上电后8只LED灯显示彩灯滚动效果。修改程序,使彩灯显示效果发生变化。

图2彩灯控制器电路原理图

C语言彩灯控制器的程序

四、实验步骤

1.在Proteus ISIS环境下设计一个用单片机产生1KHz方波发生器的电路原理图,P00接示波器,时钟电路接在单片机的DIP

18、DIP19,复位电路接在单片机的DIP9,DIP31接Vcc。

2.在Keil uVision2环境下,用C语言编写单片机实现1KHz方波发生器的程序,编译生成hex文件。

3.将生成的hex文件加载到单片机,运行仿真,观察现象,记录结果;

4.在Proteus ISIS环境下设计一个用单片机产生彩灯控制器的电路原理图,P0接8只LED灯,时钟电路接在单片机的DIP

18、DIP19,复位电路接在单片机的DIP9,DIP31接Vcc。

5.在Keil uVision2环境下,用C语言编写单片机实现彩灯控制器的程序,编译生成hex文件。

6.将生成的hex文件加载到单片机,运行仿真,观察现象,记录结果;

五、实验记录与处理

1. 单片机产生1KHz方波发生器的实验结果

图3为1KHz方波发生器的仿真图。

图3 1KHz方波发生器仿真图

当延时常数为(),方波频率为(当延时常数为(),方波频率为(数据处理:从以上数据我们可以看出,

2.彩灯控制器的仿真结果

数据处理:从以上数据我们可以看出,

;。 ) )

六、思考题

1.简述单片机定时的几种方法?每种方法举例具体说明。 答:

2.与单片机的定时器有关的SFR有几个?每个SFR具体说明。 答:

七、实验小结

通过实验我熟悉了

实验三

定时/计数实验

一、实验目的

1、理解单片机的定时/计数原理,掌握定时/计数程序的编写方法。

2、掌握定时/计数器在定时、计数、频率测量等方面的应用。

3、学会使用PROTEUS中VSM虚拟示波器观察波形。

二、实验设备

计算机一台;单片机实验仪一台;Keil C51和Proteus软件。

三、实验内容

利用定时计数器1,编程实现从P1.0、P1.1、P1.2三个I/O引脚分别输出频率为0.25Hz、50 Hz、1k Hz的方波信号。利用P1.0、P1.

1、P1.2三个I/O引脚所接的三个LED灯或利用示波器进行观察。已知fosc=12MHz。

四、实验电路图

图1 8路LED灯控制原理图

五、实验接线

P1.0、P1.1、P1.2三个I/O引脚接J12的三个引脚(即三个LED灯)。

六、思考题

1、简要写出实现该实验的方案(要有必要的计算)。

2、单片机定时/计数器的“加一”操作和单片机运行主程序是同时工作(并行工作)的,还是有先后顺序的?单片机运行中断程序和运行主程序是同时工作(并行工作)的,还是有先后顺序的?

3、单片机定时/计数器的定时与计数的区别是什么,软件上分别应如何设置?

4、在该实验的基础上,输出的三路信号的占空比可以分别为1/2,1/3,1/4吗?

七、实验报告要求 实验目的

1、实验目的

2、实验设备

3、实验内容

4、实验流程图

5、实验源程序

7、思考题解答

8、实验总结及心得体会

一、 实验目的

学会使用单片机定时器产生定时中断,并利用定时中断产生更长时间延时。

二、实验设备及器件

IBM PC机

一台

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

三、实验内容

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灯闪烁情况

如果觉得《定时器计数器实验C语言程序 实验二 单片机定时器和计数器编程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。