单片机实验报告——定时器

合集下载

单片机定时器实验报告

单片机定时器实验报告

一、实验目的1. 理解单片机定时器的工作原理和功能。

2. 掌握单片机定时器的编程方法,包括初始化、设置定时时间、启动定时器等。

3. 学会使用定时器实现定时功能,并通过实验验证其效果。

二、实验器材1. 单片机实验板2. 连接线3. 51单片机4. 计时器5. 示波器6. 电脑7. Keil软件三、实验原理定时器是单片机的一种重要外设,用于实现定时功能。

51单片机内部有两个定时器,分别为定时器0和定时器1。

定时器的工作原理是通过定时器计数器对机器周期进行计数,当计数器达到设定值时,定时器溢出,并产生中断请求。

定时器0和定时器1都具有四种工作模式,分别为:1. 模式0:13位定时器/计数器2. 模式1:16位定时器/计数器3. 模式2:8位自动重装模式4. 模式3:两个8位计数器本实验采用定时器0工作在模式1,实现50ms的定时功能。

四、实验步骤1. 将单片机实验板连接到电脑,并启动Keil软件。

2. 创建一个新的项目,并添加51单片机头文件(reg51.h)。

3. 编写定时器初始化函数,设置定时器0工作在模式1,并设置定时时间为50ms。

4. 编写定时器中断服务函数,用于处理定时器溢出事件。

5. 编写主函数,设置定时器中断,并启动定时器。

6. 编译并下载程序到单片机实验板。

7. 使用示波器观察定时器0的溢出信号。

五、实验代码```c#include <reg51.h>#define TIMER0_MODE1 0x01// 定时器0初始化函数void Timer0_Init() {TMOD &= 0xF0; // 清除定时器0模式位TMOD |= TIMER0_MODE1; // 设置定时器0工作在模式1TH0 = 0xFC; // 设置定时器0高8位初值TL0 = 0x18; // 设置定时器0低8位初值ET0 = 1; // 开启定时器0中断EA = 1; // 开启总中断TR0 = 1; // 启动定时器0}// 定时器0中断服务函数void Timer0_ISR() interrupt 1 {TH0 = 0xFC; // 重新加载定时器0高8位初值TL0 = 0x18; // 重新加载定时器0低8位初值// ... (其他处理)}void main() {Timer0_Init(); // 初始化定时器0while(1) {// ... (其他处理)}}```六、实验结果与分析1. 编译并下载程序到单片机实验板,使用示波器观察定时器0的溢出信号,可以看到定时器0每隔50ms产生一个溢出信号。

单片机定时器实验报告

单片机定时器实验报告

单片机定时器实验报告
单片机定时器实验报告
简介
•实验名称:单片机定时器实验
•实验目的:掌握单片机中定时器的工作原理及使用方法•实验设备:单片机开发板、电源等
实验内容
1.单片机定时器的基本概念和原理
2.单片机定时器的分类和特点
3.实验步骤和流程
–步骤1:搭建实验电路
–步骤2:编写单片机程序
–步骤3:下载程序到单片机
–步骤4:观察定时器的工作情况
4.实验结果和分析
实验结果
•在实验过程中,我们成功搭建了单片机定时器实验电路,并编写了相应的程序。

通过下载程序到单片机,观察到定时器按照预设
的时间间隔产生中断,并执行相应的任务。

•实验结果表明,我们掌握了单片机定时器的使用方法,可以实现定时功能。

实验分析
•单片机定时器是一种重要的计时和控制设备,广泛应用于各种电子设备中。

•通过本次实验,我们深入了解了单片机定时器的工作原理和使用方法,对于日后的电子设计和开发有着重要的意义。

实验总结
•通过本次实验,我们学习了单片机定时器的基本知识,掌握了单片机定时器的使用方法,并成功实现了定时功能。

•在实验过程中,我们发现了一些问题,并通过调试和修改程序进行了解决。

这对我们提高了动手实践和问题解决能力有很大帮助。

•通过本次实验,我们对于单片机定时器有了更深入的了解,为今后的学习和应用打下了坚实的基础。

参考资料
•《单片机原理与应用》
•单片机实验教材及课件。

单片机定时器计数器实验报告

单片机定时器计数器实验报告

单片机定时器计数器实验报告单片机定时器计数器实验报告篇一:单片机计数器实验报告计数器实验报告㈠实验目的1. 学习单片机内部定时/计数器的使用和编程方法;2. 进一步掌握中断处理程序的编程方法。

㈡实验器材1. 2. 3. 4. 5.G6W仿真器一台MCS—51实验板一台PC机一台电源一台信号发生器一台㈢实验内容及要求8051内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,使用8051的T1作定时器,50ms 中断一次,看T0内每50ms来了多少脉冲,将计数值送显(通过LED发光二极管8421码来表示),1秒后再次测试。

㈣实验说明1. 本实验中内部计数器其计数器的作用,外部事件计数器脉冲由P3.4引入定时器T0。

单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样,同时这就决定了输入波形的频率不能超过机器周期频率。

2. 计数脉冲由信号发生器输入(从T0端接入)。

3. 计数值通过发光二极管显示,要求:显示两位,十位用L4~L1的8421码表示,个位用L8~L5的8421码表示4. 将脉搏检查模块接入电路中,对脉搏进行计数,计算出每分钟脉搏跳动次数并显示㈤实验框图(见下页)程序源代码 ORG 00000H LJMP MAINORG 001BH AJMP MAIN1 MAIN:MOV SP,#60HMOV TMOD,#15H MOV 20H,#14H MOV TL1,#0B0H MOV TH1,#3CHMOV TL0,#00H;T0的中断入口地址 ;设置T1做定时器,T0做计数器,都于方式1工作 ;装入中断次数 ;装入计数值低8位 ;装入计数值高8位MOV TH0,#00HSETB TR1 ;启动定时器T1 SETB TR0 ;启动计数器T0 SETB ET1 ;允许T1中断 SETB EA ;允许CPU中断 SJMP $;。

单片机实验报告定时器

单片机实验报告定时器

一、实验目的1. 理解单片机定时器的原理及工作方式。

2. 掌握单片机定时器的编程方法,实现定时功能。

3. 学习使用定时器中断,处理定时器事件。

二、实验环境1. 硬件设备:MCS-51单片机实验板、示波器、电源等。

2. 软件环境:Keil C51、Proteus仿真软件。

三、实验原理1. 定时器概述定时器是单片机的一个重要组成部分,用于产生定时信号或测量时间。

MCS-51单片机内部有两个定时器,即定时器0和定时器1。

2. 定时器工作原理定时器通过内部计数器进行计数,当计数达到设定值时,产生一个定时中断,执行中断服务程序。

定时器的工作方式分为四种:方式0、方式1、方式2和方式3。

3. 定时器编程定时器编程主要包括以下几个步骤:(1)设置定时器工作模式:通过向定时器模式寄存器(TMOD)写入相应的值来设置定时器工作模式。

(2)设置定时器初值:通过向定时器寄存器(THx、TLx)写入相应的值来设置定时器初值。

(3)启动定时器:通过设置定时器控制寄存器(TCON)的相应位来启动定时器。

(4)编写定时器中断服务程序:当定时器溢出时,执行中断服务程序,实现相应的功能。

四、实验内容1. 实验一:定时器0定时50ms(1)硬件连接:将P1.0口连接到蜂鸣器。

(2)软件设计:- 设置定时器0工作在方式1,定时50ms。

- 开启定时器0中断。

- 编写定时器0中断服务程序,使蜂鸣器响50ms。

2. 实验二:定时器1计数脉冲(1)硬件连接:将P3.4口连接到信号发生器。

(2)软件设计:- 设置定时器1工作在方式2,计数P3.4口的脉冲信号。

- 开启定时器1中断。

- 编写定时器1中断服务程序,记录计数器计数值,并通过数码管显示。

3. 实验三:定时器0定时1s(1)硬件连接:将P1.0口连接到蜂鸣器。

(2)软件设计:- 设置定时器0工作在方式1,定时1s。

- 开启定时器0中断。

- 编写定时器0中断服务程序,使蜂鸣器响1s。

五、实验步骤1. 编写实验一程序,并使用Proteus进行仿真测试,验证程序功能。

单片机实习报告定时器

单片机实习报告定时器

单片机实习报告——定时器一、实习目的通过本次单片机实习,使我对单片机的工作原理和应用有更深入的了解,特别是定时器的工作原理和编程方法。

同时,培养我动手实践能力和团队协作能力,提高我在实际工程中的应用能力。

二、实习内容本次实习主要分为两个部分:定时器的原理学习和定时器的应用实践。

在原理学习部分,我通过阅读相关资料和教材,对定时器的工作原理、工作模式和编程方法有了深入的了解。

在应用实践部分,我参与了团队的项目,通过实际操作,对定时器的应用有了更直观的认识。

三、实习过程1. 定时器原理学习在定时器原理学习部分,我首先了解了定时器的基本概念,定时器是一种能够根据设定的时间间隔产生中断的硬件设备。

然后,我学习了定时器的工作原理,包括定时器的工作模式、计数器、控制寄存器等。

最后,我掌握了定时器的编程方法,通过编写程序实现定时器的定时功能。

2. 定时器应用实践在定时器应用实践部分,我参与了团队的项目。

我们选择了一个简单的应用场景,利用定时器实现一个周期性的信号输出。

我负责编写定时器的程序,设置定时器的工作模式和计数器值,实现定时器的定时功能。

同时,我还参与了团队的讨论,提出了改进意见和解决方案。

四、实习收获通过本次实习,我对定时器的工作原理和编程方法有了更深入的了解,掌握了定时器的应用方法。

同时,我在实际操作中培养了动手实践能力,提高了团队协作能力。

此外,我还学会了如何查阅相关资料和教材,提高了自己的自学能力。

五、实习总结本次实习让我对单片机的定时器功能有了更深入的了解,通过实际操作,使我对定时器的应用有了更直观的认识。

同时,本次实习培养了我的团队协作能力和动手实践能力,提高了我在实际工程中的应用能力。

在今后的学习和工作中,我将继续努力,不断提高自己的技能水平,为我国的电子科技事业做出贡献。

单片机定时器实验报告doc

单片机定时器实验报告doc

单片机定时器实验报告篇一:单片机实验报告——定时器实验四定时器实验自动化121班 36 张礼一.实验目的掌握定时器的工作原理及四种工作方式,掌握定时器计数初始值的计算,掌握如何对定时器进行初始化,以及程序中如何使用定时器进行定时。

二.实验仪器单片机开发板一套,计算机一台。

三.实验任务编写程序,使用单片机开发板上8位共阴极数码管的其中一位来显示0~9这九个字符,先从“0”开始显示,数字依次递增,当显示完“9”这个字符后,又从“0”开始显示,循环往复,每1秒钟变换一个字符,1秒钟的定时时间必须由定时器T0(或T1)提供。

开发板上的8位共阴极数码管与单片机的输入输出端口P1的硬件接线如图4-1所示,单片机P1口的8条数据线通过J3端子同时连接到 2片74HC573D锁存器的输入端,数码管的各个同名端分别连接后再与锁存器U2的8个输出端相连,每一位数码管的位选端分别与锁存器U3的8个输出端相连。

两片锁存器的输出使能端OE都恒接地,使得锁存器的内部数据保持器输出端与锁存器的输出端保持接通。

而U2的锁存使能端LE由P2.1控制,所以P2.1是段锁存;U3的锁存使能端LE由P2.0控制,所以P2.0是位锁存。

当锁存使能端为“1”时,则锁存器输入端的数据传送到输出端;当锁存使能端为“0”时,锁存器输入端的数据则不能传送到输出端;因此段码和位码通过锁存器分时输出。

汇编语言程序流程如图4-2:四.实验步骤:1.数码管的0~9的字型码表如下:2.参考图4-2所给的程序流程图编写实验程序。

(注:以下程序为两位60秒计数程序)#include sbit wei=P2^0; sbit duan=P2^1;char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};int i,j,k,num,shi,ge; void delay(int a) {for(i=0;i void display(int shi,int ge){wei=1;P1=0xfe;wei=0;duan=1;P1=table[shi];duan=0;wei=1; delay(5);P1=0xfd;wei=0; duan=1;P1=table[ge];duan=0; }void main() {TMOD=0x01;TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1; TR0=1; num=0; while(1) {delay(5);display(shi,ge); } }void T0_time() interrupt 1 {TH0=(65536-45872)/256; TL0=(65536-45872)%256; k++; if(k==20) { k=0; num++;if(num==60)num=0; shi=num/10; ge=num%10; } }3.实验接线,如图4-1。

定时器的实验报告

定时器的实验报告

一、实验目的1. 理解定时器的基本原理和工作方式。

2. 掌握定时器的配置和使用方法。

3. 通过编程实现定时器的定时功能。

4. 学习定时器中断的应用。

二、实验环境1. 实验设备:单片机实验板、电源、连接线等。

2. 实验软件:Keil uVision 4、IAR EWARM等C语言开发环境。

三、实验原理定时器是一种用于实现时间延迟的硬件模块,它能够在预定的时间内产生中断或完成特定的操作。

定时器通常由计数器、控制寄存器、时钟源等组成。

定时器的工作原理是利用时钟源产生的时钟信号对计数器进行计数,当计数器达到预设值时,触发中断或完成特定操作。

四、实验内容1. 定时器基本配置(1)设置定时器模式:根据实验需求,选择定时器的工作模式(如模式0、模式1等)。

(2)设置定时器时钟源:选择定时器时钟源(如系统时钟、外部时钟等)。

(3)设置定时器计数初值:根据实验需求,设置定时器计数初值。

2. 定时器定时功能实现(1)编写程序初始化定时器:配置定时器模式、时钟源、计数初值等。

(2)编写定时器中断服务程序:在中断服务程序中实现定时功能,如控制LED闪烁、读取传感器数据等。

3. 定时器中断应用(1)配置定时器中断:设置定时器中断优先级、中断使能等。

(2)编写定时器中断服务程序:在中断服务程序中实现所需功能,如采集数据、发送数据等。

五、实验步骤1. 编写程序初始化定时器:设置定时器模式、时钟源、计数初值等。

2. 编写定时器中断服务程序:实现定时功能,如控制LED闪烁。

3. 编写定时器中断配置程序:设置定时器中断优先级、中断使能等。

4. 编译、下载程序:将编写好的程序编译生成HEX文件,通过编程器下载到实验板上。

5. 运行实验:观察实验现象,如LED闪烁频率、数据采集等。

六、实验结果与分析1. 定时器定时功能实现实验结果显示,定时器能够按照设定的定时时间产生中断,中断服务程序能够正确执行。

例如,LED闪烁频率与定时时间一致。

定时器实验报告

定时器实验报告

定时器实验报告
一、实验目的
学习如何在单片机中使用定时器,进一步理解定时器的工作
原理和使用方法。

二、实验器材
单片机开发板、电脑、LED灯或蜂鸣器等外部设备。

三、实验原理
定时器是一种内部的计时设备,可以通过设置定时器的工作
方式、计时单位和计时周期来完成不同的定时任务。

单片机上通常会有一个或多个定时器模块,我们可以通过配置和操作这些定时器模块来实现各种计时、延时、定时触发等功能。

四、实验步骤
1. 初始化定时器:设置定时器工作方式、计时单位和计时周期。

2. 启动定时器:开始计时。

3. 监测定时器中断:定时器计时完成后会触发中断。

4. 处理定时器中断:在中断服务程序中进行相应的操作,如
控制LED灯闪烁、发出蜂鸣器声音等。

5. 关闭定时器:计时完成后关闭定时器。

五、实验结果和分析
在实验中,我们可以通过设置不同的计时器工作方式、计时
单位和计时周期来实现不同的定时效果。

例如,如果将定时器设置为周期性计时方式,计时单位为微秒,计时周期为1000,
那么定时器每隔1毫秒(1000微秒)就会触发一次中断,我
们可以在中断服务程序中控制LED灯或蜂鸣器进行响应操作。

六、实验心得
通过本次实验,我进一步了解了定时器的工作原理和使用方法。

定时器是单片机中常用的功能模块,可以实现各种时间相关的功能。

掌握了定时器的使用,有助于提高单片机系统的定时、延时、调度等能力,为后续的项目开发和应用打下良好的基础。

单片机-实验二-定时器计数器实验

单片机-实验二-定时器计数器实验

实验二定时器/计数器实验一、实验目的1、掌握数码管动态驱动方式的工作原理;2、掌握单片机定时器中断服务程序的编写方法;3、掌握基于单片机定时器中断调度方式的数码管动态显示驱动程序的编写方法。

二、实验内容及要求单片机通过P1 端口连接独立数码管,INT0 引脚(P3.2)和T0 引脚(P3.4)各连接一个独立按键。

通过按键向T0 引脚输入负脉冲,单片机对其进行计数,并将计数值显示在独立数码管上。

观察门控位(GATE)对计数过程的影响。

三、实验设备硬件:PC 机,nKDE-51 单片机实验教学系统;软件:Keil C51 集成开发环境,FlashMagic 单片机程序烧写软件。

四、实验原理及步骤MCS-51 定时器/计数器的结构、功能及设置方法,请参考教材相关内容。

步骤如下:1、创建新项目:Project—New Project—命名、存储—CPU类型(philips P89C52X2)2、创建新程序:编译程序—完成后保存为“.c”格式3、添加程序:Target1—Source Group—add……(程序)4、检测程序:Project—Build Target5、选择烧录程序的方式(右键点target1--opption):output—Creat Execulate:Dubug Information Browse、Creat HexDebug 右侧选择use “Keil Monitor-51 Driver”6、选择程序执行点:在Debug程序烧路后,在开始执行的程序断点上鼠标右键—Set Program Counter7、Go执行五、实验过程1. 电路连接CPU 板上的P3.2 和P3.4(J4 或J8)和基本IO 板上的独立按键SW1 和SW3(J6)相连;CPU板上的P1(J2 或J6)和基本IO 板上的独立数码管LED1(J5)相连,连接方向为P1.0 和数码管的SEG_A 对齐。

2. 程序设计按照实验要求,实验参考程序如下:#include <reg51.h>unsigned char code CharCode[] ={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};void main(void){unsigned char cc,count;TMOD = 0x05; // GATE=0,C/#T=1,Mode=2,工作于计数器模式TH0 = 0;TL0 = 0;TR0 = 1; // T0 开始运行,开启计数器P1 = CharCode[0]; // 显示 0count = 0;cc = TL0; // 设置变量初始值while(1) // 按一次 SW3,TL0 加 1{if(cc != TL0) // 计数值有变化{ cc = TL0; // 更新本次计数器值count ++; // 计数值+1if(count >= 10) count = 0; // 计数值>=10 则从 0 开始P1 = CharCode[count]; // 送数码管显示}}}3. 验证结果在Keil 中建立新工程,将上述程序代码加入工程,编译链接后,将生成的.HEX 文件烧写到单片机中,烧写完毕后复位单片机系统,按下SW3,观察数码管显示的计数值的变化,验证运行结果和设计要求是否相符。

单片机定时器实验

单片机定时器实验

实验三单片机内部定时器应用实验目的1、理解单片机内部定时器的工作原理及使用方法2、了解单片机定时中断程序的编写与调试方法3、掌握定时器的基本使用方法实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验原理1、单片机定时器的工原理MCS-51 单片机内部有两个16 位可编程的定时器/计数器T0 与T1。

它们即可用作定时器方式,又可用作计数器方式。

其中T0 由TH0 与TL0 计数器构成;T1 由TH1 与TL1 计数器构成。

工作于定时器方式时,通过对机器周期(新型51单片机可以对振荡周期计数)的计数,即每一个机器周期定时器加1,来实现定时。

故系统晶振频率直接影响定时时间。

如果晶振频率为12MHZ,则定时器每隔(1/12MHZ)×12=1us 加1。

工作于计数器方式时,对P3、4 或P3、5 管脚的负跳变(1→0)计数。

它在每个机器周期的S5P2 时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,计数器加1。

因此需要两个机器周期来识别一个有效跳变,故最高计数频率为晶振频率的1/24。

特殊功能寄存器TMOD 用于定时器/计数器的方式控制。

高4 位用于设置T1,低4 位用于设置T0。

如图4-7所示。

图4-7 定时器模式控制字格式TCON 寄存器用于定时器的计数控制与中断标志。

如图4-8所示。

图4-8 定时控制寄存器数据格式编写程序控制这两个寄存器就可以控制定时器的运行方式。

单片机内部定时器/计数器的使用,简而概之:(1)如需用中断,则将EA与相关中断控制位置1;(2)根据需要设置工作方式,即对TMOD设置;(3)然后启动计数,即对TR0或TR1置1。

(4)如使用中断,则计数溢出后硬件会自动转入中断入口地址;如使用查询,则必须对溢出中断标志位TF0或TF1进行判断。

2、 用定时器编写一个秒计时器假设系统使用的晶振频率为12MH Z ,即每个机器周期为1us 。

如使用方式1,则定时时间最长就是216×1us=65536us=65、536ms,小于1s 。

单片机实验电子钟报告

单片机实验电子钟报告

实验四 电子钟(定时器、中断综合实验)一、实验目的熟悉MCS51类CPU 的定时器、中断系统编程方法, 了解定时器的应用、实时程序的设计和调试技巧。

二、实验内容编写一个时钟程序, 产生一个50ms 的定时中断, 对定时中断计数, 将时、分、秒显示在数码管上。

三、程序框图主程序中断处理电子钟程序框图四、实验步骤 1.连线说明: E5 区A0 ←→ A3 区A0 E5 区CS ←→ A3 区CS5 E5 区CLK ←→ B2 区2MHzE5 区A.B.C.D ←→ G5 区A.B.C.D (排线每个8 位, 注意高低位一致) 2.时间显示在数码管上五、程序清单 ms50 DATA 31H ;存放多少个50ms sec DATA 32H ;秒 min DATA 33H ;分hour DATA 34H ;时buffer DATA 35H ;显示缓冲区EXTRN CODE(Display8)ORG 0000HLJMP STARORG 000BH ;定时器T0中断处理入口地址LJMP INT_Timer0ORG 0100HSTAR: MOV SP,#60H ;堆栈MOV ms50,A ;清零ms50MOV hour,#12 ;设定初值: 12:59:50MOV min,#59MOV sec,#50MOV TH0,#60 ;定时中断计数器初值MOV TL0,#176 ;定时50msMOV TMOD,#1 ;定时器0: 方式一MOV IE,#82H ;允许定时器0中断SETB TR0 ;开定时器T0STAR1: LCALL Display ;调用显示JNB F0,$CLR F0SJMP STAR1 ;需要重新显示时间;中断服务程序INT_Timer0: MOV TL0,#176-5MOV TH0,#60PUSH 01HMOV R1,#ms50INC @R1 ;50ms单元加1CJNE @R1,#20,ExitIntMOV @R1,#0 ;恢复初值INC R1INC @R1 ;秒加1CJNE @R1,#60,ExitInt1MOV @R1,#0INC R1INC @R1 ;分加1CJNE @R1,#60,ExitInt1MOV @R1,#0INC R1INC @R1 ;时加1CJNE @R1,#24,ExitInt1MOV @R1,#0ExitInt1: SETB F0ExitInt: POP 01HRETIHexToBCD: MOV B,#10DIV ABMOV @R0,BINC R0MOV @R0,AINC R0RETDisplay: MOV R0,#bufferMOV A,secACALL HexToBCDMOV @R0,#10H ;第三位不显示INC R0MOV A,minACALL HexToBCDMOV @R0,#10H ;第六位不显示INC R0MOV A,hourACALL HexToBCDMOV R0,#bufferLCALL Display8RETENDEXTRN CODE (Display8)BUFFER DA TA 60HORG 0000HAJMP MAINORG 000BHAJMP IT0PMAIN: MOV TMOD,#01HMOV 20H,#20HCLR AMOV 52H,A ;计数和显示MOV 51H,A ;空间清零MOV 50H,#50HMOV 40H,AMOV 41H,AMOV 43H,AMOV 44H,AMOV 46H,AMOV 47H,ASETB ET0SETB EAMOV TH0,#9EH ;计数器赋初值MOV TL0,#58HSETB TR0MOV 45H,#11HMOV 42H,#11HMOV R0,#BUFFERLCALL Display8HERE: AJMP HEREIT0P: PUSH PSWPUSH ACCMOV TH0,#9EH ;重新转入计数值MOV TL0,#58HDJNZ 20H,RETURN ;计数不满20返回MOV 20H,#20H ;重置中断次数MOV A,#01H ;秒加1ADD A,50HDA A ;秒单元十进制调制PUSH ACCCJNE A,#60H,SWS ;是否到60秒, 否则返回MOV A,#00HSWS: MOV R5,ASW AP AANL A,#0FHMOV 41H,AMOV A,R5ANL A,#0FHMOV 40H,A ;满60秒, 秒单元清零LCALL AAAPOP ACCMOV 50H,ACJNE A,#60H,RETURNMOV 50H,#00HMOV A,#01H ;分单元加1ADD A,51H ;分单元十进制调整DA APUSH ACCCJNE A,#60H,SWS1;是否到60分, 否则返回MOV A,#00HSWS1: MOV R5,A·SW AP AANL A,#0FHMOV 44H,AMOV A,R5ANL A,#0FHMOV 43H,ALCALL AAAPOP ACCMOV 51H,ACJNE A,#60H,RETURNMOV 51H,#00H ;满60分, 分单元清零MOV A,#01H ;时单元加1ADD A,52HDA APUSH ACCCJNE A,#24H,SWS2 ;是否到24小时, 否则返回MOV A,#00HSWS2: MOV R5,ASW AP AANL A,#0FHMOV 47H,AMOV A,R5ANL A,#0FHMOV 46H,ALCALL AAAPOP ACCMOV 52H,ACJNE A,#24H,RETURNMOV 52H,#00H ;满24小时, 时单元清零RETURN:POP PSWPOP ACCRETIAAA: MOV R0,#40H ;计数器的值赋MOV R1,#60H ;给显示空间MOV R5,#08HABC: MOV A,@R0MOV @R1,AINC R1INC R0DJNZ R5,ABCMOV R0,#BUFFERLCALL Display8RETEND六、思考题1.电子钟走时精度与哪些有关系?中断程序中给TL0赋值为什么与初始化程序中不一样?2、使用定时器方式二, 重新编写程序。

(完整word版)实验5定时器计数器实验报告

(完整word版)实验5定时器计数器实验报告

单片机实验五定时器/计数器设计实验报告一、实验内容1、采用12MHZ时钟频率的单片机,通过一个开关输入,触发定时计数.按下开关10次,计算按键的平均时间,并通过数码管显示出来。

二、实验目的1、了解定时器的各种工作方式。

2、掌握定时器/计数器的使用和编程方法。

三、实验设备win7系统下的proteus7.8和ceil4联调四、实验电路图五、程序代码#include<reg51。

h〉sbit P1_0=P1^0;unsigned char numcode[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88};unsigned char seqcode[4]={0x01,0x02,0x04,0x08};unsigned int num=0;void int1()interrupt 1{num++;TL0=0xb0;TH0=0x3c;}void DelayMS(unsigned int ms){unsigned char i;while(ms——)for(i=0;i<120;i++);}void main(){unsigned char i=0;unsigned char dspcode[4];unsigned long t;P3=numcode[i];ET0=1;EA=1;TH0=0x3c;TL0=0xb0;TMOD=0x01;while(1){if(P1_0==0){TR0=1;i++;P3=numcode[i];while(P1_0==0);TR0=0;if(i==10){t=((TH0〈〈8)+TL0)/1000;t=(t+50*num)/10;dspcode[0]=numcode[(t/1000)%10]^0x80;dspcode[1]=numcode[(t/100)%10];dspcode[2]=numcode[(t/10)%10];dspcode[3]=numcode[t%10];break;}}}while(1){for(i=0;i<4;i++){P2=seqcode[i];P0=dspcode[i];DelayMS(5);}}}六、实验结果七、实验小结通过实验,我了解了定时器的各种工作方式和定时器/计数器的使用和编程方法,为进一步学习打下基础.。

单片机定时器实训报告

单片机定时器实训报告

一、实训背景随着电子技术的不断发展,单片机作为嵌入式系统中的核心部件,得到了广泛应用。

定时器作为单片机的重要功能模块,能够实现定时、计数等功能,是单片机应用系统设计的关键技术之一。

为了提高学生的单片机应用能力,本次实训选取了基于51单片机的定时器应用作为实训内容。

二、实训目的1. 掌握51单片机定时器的基本原理和工作方式;2. 学会使用定时器实现定时、计数等功能;3. 培养学生动手实践能力和解决实际问题的能力;4. 提高学生对单片机应用系统的设计水平。

三、实训内容本次实训主要涉及以下内容:1. 51单片机定时器原理及工作方式;2. 定时器初始化编程;3. 定时器中断编程;4. 定时器应用实例:LED流水灯控制。

四、实训步骤1. 学习51单片机定时器原理及工作方式,掌握定时器的工作模式、定时器计数范围等参数;2. 编写定时器初始化程序,包括定时器模式选择、计数初值设置等;3. 编写定时器中断服务程序,实现定时功能;4. 编写LED流水灯控制程序,实现定时器中断触发LED流水灯效果;5. 将程序烧录到单片机中,进行实验验证。

五、实训结果与分析1. 定时器初始化编程:根据实训要求,设置了定时器模式、计数初值等参数,实现了定时器定时功能;2. 定时器中断编程:编写了定时器中断服务程序,实现了定时器中断触发功能;3. LED流水灯控制:通过定时器中断触发,实现了LED流水灯效果,验证了定时器应用实例的正确性。

在实训过程中,遇到以下问题及解决方法:1. 定时器计数初值设置错误:通过查阅资料,了解了定时器计数初值的计算方法,正确设置了计数初值;2. 定时器中断服务程序编写错误:通过分析程序,发现中断服务程序中存在逻辑错误,修改后程序运行正常。

六、实训心得通过本次实训,我深刻认识到以下内容:1. 定时器在单片机应用系统中的重要作用,掌握了定时器的基本原理和工作方式;2. 编程过程中,要注重代码的可读性和可维护性,提高编程效率;3. 在遇到问题时,要善于查阅资料,分析问题原因,并采取有效措施解决问题;4. 实训过程中,要注重理论与实践相结合,提高动手实践能力。

定时器实验实验报告(两篇)

定时器实验实验报告(两篇)

引言概述:正文内容:1.定时器的基本原理和工作模式:1.1定时器的定义和分类;1.2定时器的内部结构和主要部件;1.3定时器的工作原理和工作模式。

2.定时器的输入和输出特性:2.1定时器的输入信号类型和特征;2.2定时器的输出信号类型和特征;2.3定时器的输入输出电平和电流要求。

3.定时器的应用范围和功能:3.1定时器在数字电路设计中的应用;3.2定时器在模拟电路设计中的应用;3.3定时器在控制系统中的应用。

4.定时器的性能评估和优化方法:4.1定时器的准确性和稳定性评估方法;4.2定时器的响应速度和精度评估方法;4.3定时器的功耗和效率评估方法;4.4定时器的优化方法和技巧。

5.定时器在现代电子技术中的发展趋势:5.1定时器的集成化发展;5.2定时器的多功能化发展;5.3定时器的低功耗和高效率发展;5.4定时器的微型化和高密度集成发展。

总结:通过对定时器实验的探究和分析,我们深入了解了定时器的基本原理、工作模式、输入输出特性、应用范围、性能评估方法以及发展趋势。

定时器作为一种常见的电子元器件,在数字电路设计、模拟电路设计以及控制系统中起着重要的作用。

随着现代电子技术的发展,定时器将逐渐向集成化、多功能化、低功耗和高效率的方向发展。

在今后的电子技术应用中,定时器将继续产生重要的影响和作用。

通过本文的详细阐述,读者能够全面了解定时器的工作原理、输入输出特性、应用范围、性能评估方法以及发展趋势。

这对于学习电子技术的相关专业人士、电子工程师以及电子设备制造商来说,具有重要的参考价值。

引言:定时器是一种常见的电子设备,用于测量和控制时间。

定时器在日常生活中有着广泛的应用,比如在厨房中用于计时烹饪过程,在实验室中用于管理实验时间,甚至在电子设备中用于实现各种功能。

本实验报告旨在介绍定时器的基本原理和应用,探讨不同类型的定时器的工作原理和使用方法,并分析定时器的优缺点及其在实际应用中的局限性。

概述:定时器是一种能够按照设定的时间来产生输出信号的设备。

单片机定时器实验报告

单片机定时器实验报告

单片机定时器实验报告单片机定时器实验报告概述:单片机是一种集成电路,具有微处理器核心,用于控制和执行各种任务。

在嵌入式系统中,单片机的定时器是一个重要的组件,用于生成精确的时间延迟和周期性的信号。

本实验旨在通过使用单片机的定时器模块,学习和掌握定时器的基本原理和应用。

实验目的:1. 理解单片机定时器的工作原理;2. 掌握定时器的基本配置和使用方法;3. 实现定时器产生精确的时间延迟和周期性的信号。

实验器材:1. 单片机开发板;2. USB数据线;3. 电脑。

实验步骤:1. 连接单片机开发板和电脑,确保开发板与电脑正常通信;2. 打开开发板的开发环境软件,创建一个新的工程;3. 在工程中选择定时器模块,并进行基本配置,如选择定时器模式、预分频系数等;4. 编写程序代码,实现定时器功能。

可以选择定时产生一个精确的时间延迟,或者产生一个周期性的信号;5. 将程序代码下载到单片机开发板中,并运行程序;6. 观察实验结果,验证定时器的工作是否符合预期。

实验结果:经过实验,我们成功实现了单片机定时器的功能。

通过设置定时器的工作模式和预分频系数,我们可以生成精确的时间延迟和周期性的信号。

实验结果与预期一致,证明了定时器的可靠性和准确性。

实验总结:通过本次实验,我们深入了解了单片机定时器的原理和应用。

定时器作为嵌入式系统中的重要组件,具有广泛的应用前景。

掌握定时器的基本配置和使用方法,对于开发嵌入式系统和实现各种功能非常重要。

通过实验,我们不仅学到了理论知识,还掌握了实际操作的技巧和经验。

然而,单片机定时器的应用不仅仅局限于时间延迟和周期性信号的生成。

在实际工程中,定时器还可以用于测量脉冲宽度、频率计数、PWM波形生成等。

因此,我们在以后的学习和工作中,应该进一步探索和应用定时器的其他功能,以满足不同场景下的需求。

总之,单片机定时器是嵌入式系统中不可或缺的组件之一。

通过本次实验,我们对定时器的原理和应用有了更深入的了解。

实验三定时器实验实验报告

实验三定时器实验实验报告

实验三定时器实验实验报告一、实验目的1. 掌握定时器的基本概念;2. 学会使用定时器;3. 了解定时器的各种使用方法。

二、实验原理1. 定时器:定时器是单片机中一个重要的外设,是用来控制时间的。

AT89C51单片机中有2个定时器,它们分别是定时器0和定时器1。

定时器0和定时器1可以看作计时器,其作用是在每个指令的执行周期内加1,当计数器的值超过计数器的初始值后,会产生相应的中断信号来通知CPU。

2. 定时器的通用计数器模式:此模式中,定时器是单纯的计数器,没有和任何外设相连接,它的原理就是在每个时钟周期中向计数器加1,当计数器溢出时,就会产生中断信号,可以用来进行时间的计数,确定时间精度等应用。

此模式中,定时器将会和外部的时钟源相连接,通过在计数器内部计数,从而控制波形的输出,这种模式的应用非常广泛,如计时器、计时器、PWM波产生器等。

三、实验内容在本次实验中,我们将使用定时器的通用计数器模式来进行操作,首先需要配置定时器的工作模式,因为单片机中的定时器还有其他的工作模式,所以需要进行选择。

2. 设置定时时间及启动定时器在定时器配置好之后,需要将定时时间设置成所需的时间,并且启动定时器开始计时。

3. 检测中断并作出响应当定时器达到所设的时间时,会产生相应的中断信号,CPU会检测该中断信号并作出响应。

四、实验步骤首先选择所需的定时器,并进行相应的设置,比如计数器的内部工作频率,计时模式等。

根据需要的计时时间,将计数器的初始值设为所需的时间,在程序中添加相应的启动定时器的指令。

五、实验结果本次实验中,我们学会了使用定时器,并掌握了定时器的基本原理和使用方法,以及具体的应用方法。

定时器的应用非常广泛,是单片机的一个重要外设,相信在今后的学习和工作中,我们将会用到它,并更好地掌握它的应用。

定时器实验报告

定时器实验报告

定时器实验报告引言定时器是现代电子设备中常见的一种功能模块,它可以提供精确的时间计量和控制。

本实验旨在通过对定时器的使用和调试,深入了解定时器的工作原理和应用。

一、实验目的本次实验的主要目的有三点:1. 了解定时器的基本原理和功能;2. 学会使用定时器进行时间计量和控制;3. 掌握定时器在电子设备中的应用。

二、实验装置和器材1. 单片机开发板;2. 电源;3. 连接线。

三、实验原理定时器是一种基于震荡电路和计数器的电子模块,通过内部的晶振或外接的时钟信号驱动,能够按照设置的时间间隔产生特定的脉冲或控制信号。

四、实验操作步骤1. 将开发板上的定时器模块与电源和单片机连接好;2. 在代码中设置定时器的工作模式和计数器初值;3. 运行程序,观察定时器是否正常工作;4. 尝试调整定时器的工作参数和配置,观察其对输出信号的影响。

五、实验结果与分析在本次实验中,经过不断的尝试和调试,我们成功实现了以下几个功能:1. 使用定时器生成1秒的周期信号,并控制LED灯的闪烁。

通过观察LED灯的亮灭状态,我们可以直观地判断定时器的工作是否正常。

2. 设定定时器的计数器初值为10,并在每次触发计数器溢出时输出一个特定的脉冲信号。

通过示波器测量输出信号的时间间隔,我们可以验证定时器的精度和稳定性。

3. 调整定时器的工作参数,如工作模式、计数器分频倍数等,观察对输出信号的影响。

我们发现不同的参数设置会导致输出信号的频率、占空比等发生变化,进一步验证了定时器的灵活性和可调性。

六、实验总结通过本次实验,我们对定时器的基本原理和使用方法有了更深入的了解。

定时器作为一种常用的电子模块,广泛应用于各种电子设备中,如计时器、时钟、PWM信号发生器等。

掌握定时器的使用技巧,可以为我们在电子设备的设计与开发中提供有力的支持。

实验中我们发现,定时器的性能主要受到两个因素的影响,即晶振或时钟信号的精度和定时器的配置参数。

在实际应用中,我们需要根据具体需求选择合适的硬件和适当的软件设置,以保证定时器的稳定性和精确性。

单片机定时计数实训报告

单片机定时计数实训报告

一、实验目的1. 理解单片机定时计数器的工作原理和编程方法。

2. 掌握定时计数器在中断程序中的应用。

3. 培养动手实践能力和编程能力。

二、实验器材1. 单片机实验板2. 信号发生器3. 电脑4. 示波器5. 蜂鸣器6. LED灯三、实验原理单片机的定时计数器是单片机的重要组成部分,主要用于定时、计数和产生脉冲信号等功能。

本实验主要利用定时计数器T0进行定时,并通过中断程序实现计数功能。

四、实验内容1. 定时器T0初始化:设置定时器T0为模式1,并设置初值,使定时器每隔50ms 产生一次中断。

2. 定时器中断程序:在中断服务程序中,读取外部输入信号的脉冲数,并更新显示。

3. 计数器功能实现:通过外部中断,实现对外部信号的计数功能。

4. 蜂鸣器控制:当计数达到一定值时,通过单片机控制蜂鸣器发出声音。

5. LED灯控制:根据计数器的值,通过单片机控制LED灯的亮灭。

五、实验步骤1. 连接实验板,设置好单片机、信号发生器、蜂鸣器、LED灯等硬件设备。

2. 编写程序,实现定时器T0的初始化、定时器中断程序、计数器功能实现、蜂鸣器控制和LED灯控制等功能。

3. 烧录程序到单片机,观察实验结果。

4. 调整程序,使实验结果符合预期。

六、实验结果与分析1. 定时器T0初始化成功,每隔50ms产生一次中断。

2. 定时器中断程序正确读取外部输入信号的脉冲数,并更新显示。

3. 计数器功能实现,成功对外部信号进行计数。

4. 蜂鸣器控制,当计数达到一定值时,蜂鸣器发出声音。

5. LED灯控制,根据计数器的值,LED灯亮灭变化。

七、实验总结1. 通过本次实验,掌握了单片机定时计数器的工作原理和编程方法。

2. 熟悉了定时计数器在中断程序中的应用。

3. 培养了动手实践能力和编程能力。

4. 发现了实验过程中存在的问题,并进行了调整。

5. 对单片机定时计数器有了更深入的了解,为以后的学习和应用打下了基础。

八、实验拓展1. 改进实验程序,实现定时计数器的定时精度调整。

单片机实验三 定时器实验

单片机实验三 定时器实验

实验三:定时器实验一、实验要求实验目的:了解MCS-51单片机中定时器/计数器的基本结构、工作原理和工作方式,掌握工作在定时器模式下的编程方法。

实验内容:设单片机的晶振频率f=12Mhz,使用T0定时100ms,在p1.2引脚产生周期为200ms的方波信号,并通过示波器观察P1.2的输出波形。

二、实验原理定时器和外部计数方式选择位C/TC/T=0为定时器方式,采用晶振频率的1/12作为计数器的计数脉冲,几对及其周期进行计数。

若选择12MHz晶振,则定时器的计数频率为1MHz。

C/T=1为计数方式,采用外部引脚的输入脉冲作为计数脉冲。

当T0或T1输入发生由高到低的负跳变时,计数器加1,其最高计数频率为晶振频率的1/24。

工作方式2当TMOD的M1、M0未为10是,计时器/计数器工作在工作方式2.当方式0、方式1用于循环重复定时计数时,计数器全部为0,下一次计数还得重新装入计数初值,这样编程麻烦,而且影响定时时间的精度。

方式2是能自动重新装入计数初值的8位计数器,可以解决这个问题。

方式2把16位计数器分成两个8为的计数器,低8为作为计数器使用,高8位用以保存计数初值,当低8位计数产生溢出是,将TF0或TF1置1,同时又将保存在高8位的计数初值重新自动装入低8位计数器汇总,又继续计数,循环重复。

计数初值X=2^8-t*f osc/12;其中t为定时时间。

初试化编程是,TH0和TL0(或TH1和TL1)都装入次X值。

方式2适用于作较为精确的脉冲信号发生器,尤其适用于串口波特率发生器。

三、程序设计1、程序流程图图 1 定时器实验流程图2、程序代码ORG 0100HMAIN: MOV A, 0HMOV TMOD, #61H ;外部引脚脉冲计数,工作方式2MOV TL1, #0FFHMOV TH1, #0FFH ;计数1次,以CP1.0为脉冲连接计数器CPL P1.0SETB TR1;LP1: CPL P1.2LP2: MOV TL0, #0B0HMOV TH0, #3CH ;一次计数50ms,P1.0的脉冲周期为100msSETB TR0LP3: JBC TF0, LP4SJMP LP3LP4: CPL P1.0JBC TF1, LP1SJMP LP2END四、程序验证1、在Proteus中连接电路图如下:图 2 定时器实验电路图2、将程序导入A T89C523、按键观察电路中示波器波形:图 3 示波器上显示的周期为200ms的方波示波器1格为50ms,故产生的波形周期为200ms。

定时器的定时实验报告

定时器的定时实验报告

一、实验目的1. 理解定时器的基本原理和工作方式。

2. 掌握定时器定时功能的实现方法。

3. 学习使用定时器中断进行时间控制。

4. 培养动手实践能力和问题解决能力。

二、实验环境1. 硬件:PC机一台,单片机实验系统一套,定时器模块。

2. 软件:Keil Vision 4软件,实验指导书。

三、实验原理定时器是单片机中用于实现时间控制的重要外设。

本实验采用定时器模块,通过编程实现对时间的精确控制。

1. 定时器的基本原理定时器由计数器、预置寄存器和控制逻辑组成。

计数器用于记录定时器的计数次数,预置寄存器用于设置定时器的计数初值,控制逻辑用于控制定时器的启动、停止和中断。

2. 定时器的工作方式定时器主要有以下两种工作方式:定时方式:定时器计数到预置值时,产生定时中断,完成定时任务。

计数方式:定时器对外部事件进行计数,计数到预置值时,产生计数中断。

3. 定时器中断定时器中断是定时器完成定时任务的一种方式。

当定时器计数到预置值时,产生中断请求,CPU响应中断后执行中断服务程序。

四、实验内容1. 定时器初始化:设置定时器的计数初值、工作方式、中断使能等。

2. 定时器启动:启动定时器开始计数。

3. 定时器中断处理:编写中断服务程序,实现定时任务。

五、实验步骤1. 搭建实验电路:根据实验指导书连接电路,包括单片机、定时器模块和外部设备。

2. 编写程序:初始化定时器:设置定时器的计数初值、工作方式、中断使能等。

启动定时器:启动定时器开始计数。

编写中断服务程序:在中断服务程序中实现定时任务。

3. 编译程序:使用Keil Vision 4软件编译程序。

4. 下载程序:将编译后的程序下载到单片机中。

5. 观察实验现象:观察外部设备的变化,验证定时器定时功能的实现。

六、实验结果与分析1. 实验现象:定时器模块按照预设的时间间隔产生中断,执行中断服务程序。

2. 实验分析:定时器定时功能的实现:通过设置定时器的计数初值,可以精确控制定时器的时间间隔。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.上机调试、运行程序。
5.记录实验程序。
6.分析实验中出现的问题。
7.独立完成实验报告。
五.实验总结:
通过本实验,我对定时器有了更深刻的理解。更熟练的应用定时器中断。并且我还额外扩展了本实验,实现了两位计数。收获甚多。
sbit duan=P2^1;
char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int i,j,k,num,shi,ge;
void delay(int a)
{
for(i=0;i<a;i++)
for(j=0;j<100;j++);
实验四 定时器实验
自动化121班1202100236张礼
一.实验目的
掌握定时器的工作原理及四种工作方式,掌握定时器计数初始值的计算,掌握如何对定时器进行初始化,以及程序中如何使用定时器进行定时。
二.实验仪器
单片机开发板一套,计算机一台。
三.实验任务
编写程序,使用单片机开发板上8位共阴极数码管的其中一位来显示0~9这九个字符,先从“0”开始显示,数字依次递增,当显示完“9”这个字符后,又从“0”开始显示,循环往复,每1秒钟变换一个字符,1秒钟的定时时间必须由定时器T0(或T1)提供。
TL0=(65536-45872)%256;
k++;
if(k==20)
{
k=0;
num++;
if(num==60)num=0;
shi=num/10;
ge=num%10;
}
}
3.实验接线,如图4-1。
用一条8芯的杜邦线将单片机的P1与开发板的J3端子相连;用2条单芯杜邦线将单片机的P2.0、P2.1分别与开发板的位锁存(A)和段锁存(B)相连;用1个跳线将J50的两个端子连接,用于给数码管提供电源。
}
void display(int shi,int ge)
{
wei=1;
P1=0xfe;
wei=0;
duan=1;
P1=table[shi];
duan=0;
delay(5);
wei=1;
P1=0xfd;
wei=0;
duan=1;
P1=table[ge];
duan=0;
delay(5);
}
void main()
汇编语言程序流程如图4-2:
四.实验步骤:
1.数码管的0~9的字型码表如下:
0
1
2
3
4
5
6
7
8
9
0x3f
0x06
0x5b
0x4f
0x66
Байду номын сангаас0x6d
0x7d
0x07
0x7f
0x6f
2.参考图4-2所给的程序流程图编写实验程序。(注:以下程序为两位60秒计数程序)
#include <reg52.h>
sbit wei=P2^0;
开发板上的8位共阴极数码管与单片机的输入输出端口P1的硬件接线如图4-1所示,单片机P1口的8条数据线通过J3端子同时连接到2片74HC573D锁存器的输入端,数码管的各个同名端分别连接后再与锁存器U2的8个输出端相连,每一位数码管的位选端分别与锁存器U3的8个输出端相连。两片锁存器的输出使能端 都恒接地,使得锁存器的内部数据保持器输出端与锁存器的输出端保持接通。而U2的锁存使能端LE由P2.1控制,所以P2.1是段锁存;U3的锁存使能端LE由P2.0控制,所以P2.0是位锁存。当锁存使能端为“1”时,则锁存器输入端的数据传送到输出端;当锁存使能端为“0”时,锁存器输入端的数据则不能传送到输出端;因此段码和位码通过锁存器分时输出。
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
num=0;
while(1)
{
display(shi,ge);
}
}
void T0_time() interrupt 1
{
TH0=(65536-45872)/256;
相关文档
最新文档