第一范文网 - 专业文章范例文档资料分享平台

单片机定时器及外部中断实验

来源:用户分享 时间:2025/8/23 12:50:23 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

单片机实验报告

实验名称:

姓 名: 学 号: 班 级: 时 间:

定时器及外部中断实验

高知明 110404320 通信3班 2014.5

南京理工大学紫金学院电光系

一、 实验目的

1、理解定时/计数器的工作原理; 2、掌握外部中断的基本处理方法; 3、学习中断处理程序的编程方法;

二、 实验原理

1、P1口为计数值输出口,利用定时器实现1秒定时,计数初值为0,每隔1秒加1;另外,外部中断0引脚外接键盘BUTTON,按键使得显示数值加1。电路原理图如图:

2、系统板上硬件连线

把“单片机系统”A2区的J61接口的P1.0~P1.6端口与D1区的J52接口相连。 把“单片机系统”A2区的INT0端口用导线连接到D1区的KEY1端口上。 3、程序设计流程

开始 定时器赋初值 变量初始化 i-- TMOD初始化 i=0? 定时器赋初值 N Y 设置外部中断模式 a++ 出中断 开中断 (b)定时器中断流程图

P2口显示输出值 (a)主流程图

三、 实验内容

1、代码:

#include

#define uchar unsigned char

sbit p32=P3^2; sbit p33=P3^3; uchar num,a; uchar b; void main() {

a++ (c)外部中断流程

TMOD=0x01;

TH0=(65536-46082)/256; TL0=(65536-46082)%6; EA=1; ET0=1; TR0=1; TF0=0; EX0=1; IT0=0; EX1=1; IT1=0; P1=0xff; a=0; while(1) {

b=a+(a/10*6); P1=b; if(b==160) {

a=0; } } }

void T0_time()interrupt 1 {

TH0=(65536-46082)/256; TL0=(65536-46082)%6; num++; if(num==20) {

num=0; a++; } }

void X0()interrupt 0 { a++;

while(!p32); }

void X1()interrupt 2 { a=0;

while(!p33); }

2、电路图:

四、小结与体会

通过此次实验,我更深地理解了定时/计数器的工作原理,掌握了外部中断的基本处理方法以及在学习中断处理程序的编程方法

搜索更多关于: 单片机定时器及外部中断实验 的文档
单片机定时器及外部中断实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c66pgn1g85b3ef8k93tpi_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top