实验五 电子秒表显示器

更新时间:2023-10-19 01:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、 实验目的

掌握定时/计数器的工作原理,熟悉定时/计数器中断法编程与调试内容。

二、 实验内容

1、按照教材图A.62,绘制实验五电路原理图;

2、采用12MHz晶振,50ms T0定时方式1+中断(20次中断为1s)法编程; 3、实现如下功能:程序运行开始时先显示“00”,随后显示数值逐渐增大。待计数到59后,自动从“00”开始。

3、观察仿真结果,完成实验报告。

三、 实验要求

提交的实验报告中应包括:电路原理图,T0定时方式1中断原理阐述,源程序(含编程分析与源程序),运行效果图,实验小结。

提交实验报告的电子邮件主题及存盘文件名格式如,2005041220马晓明实验五。

1、电路原理图

Category Microprocessor ICs Data Converter Miscellaneous Capacitors Capacitors Resistors Resistors Optoelectronics

Reference U1 U3 X1 C1、C2 C3 R2~R8 R1 LED1、LED2 Value 80C51 ADC0808 CRYSTAL CAP CAP-ELEC RES RES 7SEG-COM-CAT-GRN 2、T0定时方式1中断原理阐述 定时计数基本工作原理

利用加1计数器对时钟脉冲或外来脉冲进行自动计数。计满溢出时引起中断标志(TFx)硬件置位。

定时时间t =(加1计数器的最大值-计数初值)×机器周期 =(2n-a)×12/fosc (?s) 计数初值a =2n -t ×fosc/ 12

装载计数初值 THx = a /256 TLx = a%6

Tx端

(X = 0、1)

原理图1

计数器的溢出空间可随计数初值改变→定时时间t 方式1——使用16位定时/计数器(THi+TLi)的基本原理

原理图2

3、C51程序(含程序流程图与源程序) 1,程序流程图

T0中断服务函数 主函数 关定时器T0,置T0中断工作方式 重装初值 是 设置定时常数 否 计够1s 数码显示初始化 秒数加1 是 计到60s 否 启动定时中断允许 秒数清0 等待中将秒数输出显示 开定时器T0

,2,源程序

#include #define unchar unsigned char

unchar DispTab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unchar i;

unchar count;

void timer0 (void) interrupt 1 {

TH0=-50000/256; TL0=-50000%6; i++;

if (i==20) {

i=0; count++; }

if (count==60) count=0; P0=DispTab[count/10]; P2=DispTab[count];

}

void main ( ) {

TMOD=0x01; TH0=-50000/256; TL0=-50000%6; P0=DispTab[count/10]; P2=DispTab[count]; EA=1; ET0=1; TR0=1;

do{}while(1);}

4、仿真运行效果(含运行截图与说明)

运行截图1

本文来源:https://www.bwwdw.com/article/97xf.html

Top