时钟综合实验,南京理工大学紫金学院单片机实验报告

时间:2024.3.31

单片机实验报告

 

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

一、  实验目的

1、 学习Proteus软件基本使用方法;

2、 掌握定时/计数器与外部中断工作原理;

3、 学习设计单片机控制的多位数码管扫描显示电路;

4、 理解数码管动态显示的原理。

二、  实验原理

AT89C51单片机为控制器,八位7段数码管分别显示小时的十位、小时的个位、连接符、分的十位、分的个位、连接符、秒的十位和秒的个位,其中数码管的位选口为P2口,段选口为P0口,小时、分和秒的能动态显示。定时器实现1秒准确定时,外部中断0引脚外接键盘BUTTON1,实现手动校分功能;外部中断1外接键盘BUTTON2,实现清零功能。

三、  实验内容

根据实验任务设计要求,在Keil软件中实现程序编辑、编译与执行等操作。对编译通过的过程可选择单步调试的方式来观察运行的结果,以及各个寄存器的值如何变化。参考程序流程:主程序流程:开始→变量赋初值→定时器T1赋计数初值→设置外部中断控制字→开中断→开计数器→送位选字→送段选码→延时→送位选字,定时器T1中断流程:定时器T1赋计数初值→到1秒了吗?→Y秒加1 or N结束→到1分钟了吗?→Y秒清零 or N结束→分钟加1→到60分钟了吗?→Y分钟清零 or N结束→结束,外部中断0流程:分钟加1→到60分钟了吗?→Y分钟清零 or N结束→结束,外部中断1:分钟清零→秒清零→结束。

1、程序代码:

#include<reg51.h>

#define uint unsigned int

#define uchar unsigned char

//共阳  0-9 

uchar dis_dat[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uchar k,second,minute,secondl,secondh,minutel,minuteh;

void init()

{

  k=20;

  second=0;

  minute=0;

  secondl=0;

  minutel=0;

  secondh=0;

  minuteh=0;

}

void Timeinit()

{

 TMOD=0x10;

 TH1=(65536-46082)/256;

 TL1=(65536-46082)%256;

 TR1=1;

 EA=1;

 ET1=1;

 EX0=1;

 EX1=1;

 IT0=1;

 IT1=1;

}

void delay()

{

 uchar i,j;

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

  for(j=0;j<100;j++);

}

void display(uchar a,b,c,d)

{

   P2=0x1f;

   P0=dis_dat[a];

   delay();

   P2=0x2f;

   P0=dis_dat[b];

   delay();

   P2=0x4f;

   P0=dis_dat[c];

   delay();

   P2=0x8f;

   P0=dis_dat[d];

   delay();

}

void main()

{

 Timeinit();

 init();

 while(1)

 {

  minuteh=minute/10;

  minutel=minute%10;

  secondh=second/10;

  secondl=second%10;

  display(minuteh,minutel,secondh,secondl);

 }

}

void Time1()interrupt 3

{

  TH1=(65536-46082)/256;

  TL1=(65536-46082)%256;

  k--;

  if(k==0)

  {

    k=20;

    second++;

    if(second==60)

    { 

     second=0;

     minute++;

     if(minute==60)

     {

      minute=0;

      second=0;

     }

    }

  }

}

void int_0()interrupt 0

{

  minute++;

  if(minute==60)

  {

   minute=0;

  }

}

void int_1()interrupt 2

{

 minute=0;

 second=0;

}

2.实验原理图

四、  小结与体会

通过此次实验我学会了利用定时/计数器与外部中断的工作原理,设计了一个简单的时钟,具备小时,分,秒计时与显示功能。


第二篇:定时器及外部中断实验,南京理工大学紫金学院单片机实验报告


单片机实验报告

实验名称:

定时器及外部中断实验

姓 名:

学 号: 班 级:

时 间:

通信 2013.11

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

一、 实验目的

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、程序设计流程

定时器及外部中断实验南京理工大学紫金学院单片机实验报告

(a)主流程图 (b)定时器中断流程图 (c)外部中断流程

三、 实验内容

1、 按流程编得代码:

#include<reg51.h>

#define uchar unsigned char

sbit p32=P3^2;

sbit p33=P3^3;

uchar num,a;

uchar b;

void main()

{

TMOD=0x01;

定时器及外部中断实验南京理工大学紫金学院单片机实验报告

定时器及外部中断实验南京理工大学紫金学院单片机实验报告

TH0=(65536-46082)/256; TL0=(65536-46082)%256; 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)%256; num++;

if(num==20)

{

num=0;

a++;

}

}

void X0()interrupt 0 {

a++;

while(!p32);

}

void X1()interrupt 2 {

a=0;

while(!p33);

}

2、将代码与电路图连接调试仿真,观察到现象:

定时器及外部中断实验南京理工大学紫金学院单片机实验报告

四、 小结与体会

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

更多相关推荐:
单片机实验报告

通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日1实验一单片机汇编语言程序设计一实验目的1学习MedWin或Keilc51仿真软...

单片机实验报告综合

单片机原理及应用实验报告姓名方恩山学号63120xx40110专业通信工程实验性质设计性班级20xx级1班指导教师许强实验项目名称万用交叉口交通灯控制器实验实验日期16周18周实验成绩实验评定标准一实验目的通过...

单片机实验报告

目录一实验一1二实验二7三实验三11四实验四15实验一定时计数器验证实验一实验目的熟悉定时计数器T0的特点学会合理选择定时方式并能根据具体情况结合软件的方式定时二实验设备及器件IBMPC机一台PROTEUS硬件...

单片机实验报告(基于51单片机)

滨江学院微机原理与接口技术综合实验报告题目:简易电子琴设计学号:学生姓名:XXX院系:滨江学院专业:指导教师:二OXX年月日【摘要】由于音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用…

单片机综合应用实验设计报告

目录广西大学行健文理学院单片机应用综合实验报告题目基于STC89S52单片机开发板的功能设计与应用学部班级姓名学号指导教师撰写日期2目录目录第一章课程设计要求及功能说明111课程设计要求112课程设计电路及功能...

单片机综合实验报告

摘要单片机应用技术课程为一门理论与实践相结合的课程本课程安排的实验旨在培养学生软硬件开发能力用编程语言及硬件设备实现串并行通讯计数定时ADDA等硬件接口的功能进一步加深对常用硬件芯片的了解和应用以及学习用单片机...

单片机综合实验报告

单片机综合实验报告题目秒表班级姓名学号指导老师时间20xx1214一实验内容应用AT89C51的定时器设计一个3位的LED数码显示作为秒表显示时间为0099s能显示到01秒二实验电路及功能说明设计了一个具有开始...

单片机综合实验报告

单片机综合实验报告题目班级姓名学号指导老师时间模拟真实交通灯0308406一实验内容用8255芯片的PAPB口低四位做输出口控制十二个发光二极管燃灭模拟十字路口交通灯管理并利用数码显示器进行倒计时显示采用单片机...

单片机综合实验报告 (2)

单片机综合实验单片机综合实验报告题目模拟真实交通灯班级10班姓名学号指导老师时间一实验内容用8255芯片的PAPB口低四位做输出口控制十二个发光二极管燃灭模拟十字路口交通灯管理并利用数码显示器进行倒计时显示采用...

单片机综合实验报告

目录第一章实验任务书111实验目的112实验设备113实验内容114实验扩展215实验要求2第二章设计构思221整体设计思路222程序各部分的设计3221键盘程序的设计3222显示程序的设计5223定时器中断子...

单片机综合实验报告格式

单片机综合实验报告格式在所做过的实验内容里挑选一个自己最有收获最有感想的实验内容综合实验报告标题可与实验名称不同一实验目的和要求二实验仪器设备三实验设计及调试一实验内容二实验电路画出与实验内容有关的简单实验电路...

单片机 综合性实验报告

本科学生单片机实验报告学号姓名学院物电学院专业班级10应电A实验课程名称单片机教师及职称副教授开课学期填报时间年云南师范大学教务处编印1一while语句控制P2口8位灯流水点亮的设计C语言程序includelt...

单片机综合实验报告(32篇)