实验5:串行口、定时器、外中断综合应(电子钟)
中断及蜂鸣器实验报告
一、实验目的1. 理解中断系统的基本原理和工作方式。
2. 掌握51单片机中断系统的使用方法。
3. 学习使用蜂鸣器进行声音输出。
4. 通过实验,加深对中断系统和蜂鸣器应用的理解。
二、实验原理1. 中断系统:中断系统是计算机系统中用于处理外部事件的一种机制。
当CPU正在执行程序时,如果发生了某个外部事件,CPU会暂停当前程序的执行,转而处理这个外部事件,处理完毕后再返回原来程序继续执行。
中断系统主要由中断源、中断控制器、中断服务程序等组成。
2. 51单片机中断系统:51单片机具有5个中断源,分别是外部中断0、外部中断1、定时器/计数器中断0、定时器/计数器中断1和串行口中断。
每个中断源对应一个中断请求标志,当某个中断请求标志被置位时,CPU会响应中断,并调用对应的中断服务程序。
3. 蜂鸣器:蜂鸣器是一种电磁声音变换器,它利用电信号的变化产生声音。
当给蜂鸣器提供合适的电压和频率时,蜂鸣器会发出声音。
三、实验内容与步骤1. 实验器材:51单片机实验板、蜂鸣器、连接线、电源等。
2. 实验步骤:(1)搭建实验电路:将蜂鸣器连接到51单片机的P1.0端口,为蜂鸣器提供合适的电压和频率。
(2)编写程序:使用C语言编写程序,实现以下功能:a. 初始化中断系统:设置中断优先级,使外部中断0具有最高优先级。
b. 编写外部中断0的中断服务程序:当外部中断0发生时,控制蜂鸣器发出声音。
c. 编写主程序:使CPU不断检测外部中断0是否发生,当发生时调用中断服务程序。
(3)编译程序:使用Keil软件编译程序,生成可执行文件。
(4)下载程序:使用51单片机实验板将编译好的程序下载到单片机中。
(5)测试实验:给外部中断0输入信号,观察蜂鸣器是否发出声音。
四、实验结果与分析1. 实验结果:给外部中断0输入信号时,蜂鸣器发出声音,说明中断系统工作正常。
2. 分析:a. 通过实验,我们了解了中断系统的工作原理和51单片机中断系统的使用方法。
《微机原理与接口技术》实验指导书
《微机原理与接口技术》课程实验指导书实验内容EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求✧实验一实验系统及仪器仪表使用与汇编环境✧实验二简单程序设计实验✧实验三存储器读/写实验✧实验四简单I/0口扩展实验✧实验五8259A中断控制器实验✧实验六8253定时器/计数器实验✧实验七8255并行口实验✧实验八DMA实验✧实验九8250串口实验✧实验十A/D实验✧实验十一D/A实验✧实验十二8279显示器接口实验EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求EL-8086-III微机原理与接口技术教学实验系统是为微机原理与接口技术课程的教学实验而研制的,涵盖了目前流行教材的主要内容,该系统采用开放接口,并配有丰富的软硬件资源,可以形象生动地向学生展示8086及其相关接口的工作原理,其应用领域重点面向教学培训,同时也可作为8086的开发系统使用。
可供大学本科学习《微机原理与接口技术(8086)》,《单片机应用技术》等课程提供基本的实验条件,同时也可供计算机其它课程的教学和培训使用。
为配合使用EL型微机教学实验系统而开发的8086调试软件,可以在WINDOWS 2000/XP等多种操作系统下运行。
在使用本软件系统调试程序时,可以同时打开寄存器窗口、内存窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为汉字下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
一、基本特点EL型微机教学实验系统是北京精仪达盛科技有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
系统具有以下特点:1、系统采用了模块化设计,实验系统功能齐全,涵盖了微机教学实验课程的大部分内容。
单片机习题答案
《单片机应用技术》习题答案第一章概述1. 什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。
在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设2.什么是接口电路? CPU与接口电路连接一般应具有哪些信号线?外部设备与接口电路连接一般应具有哪些信号线?CPU通过接口电路与外部输入、输出设备交换信息,一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。
CPU为了实现选取目标外部设备并与其交换信息,必须借助接口电路。
一般情况下,接口电路通过地址总线、控制总线和数据总线与CPU连接;通过数据线(D)、控制线(C)和状态线(S)与外部设备连接。
3. 存储器的作用是什么?只读存储器和随机存储器有什么不同?存储器具有记忆功能,用来存放数据和程序。
计算机中的存储器主要有随机存储器(RAM)和只读存储器(ROM)两种。
随机存储器一般用来存放程序运行过程中的中间数据,计算机掉电时数据不再保存。
单片机_实验名称:电子时钟
实验名称:电子时钟20世纪末,电子技术获得飞速发展,在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
数字钟早已成为人们日常生活中的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、娱乐带来了极大的方便。
由于数字集成电路技术的发展以及采用了先进的石英技术,使得数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
尽管目前市场上已经有现成的集成电路芯片出售,价格便宜、使用方便,但是鉴于数字钟电路的基本组成包含了数字电路的主要组成部分,因此进行数字钟的研究,对我们对单片机的学习有着非常重要的意义。
单片机数字时钟具有编程灵活,便于电子钟功能的扩充,精度高等优点,同时还能用电子钟发出各种控制信号,本设计主要用8051单片机配合LED数码显示管、蜂鸣等器件,采用24小时计时方式,最小显示到分钟,通过LED灯的闪烁体现秒的计数,兼有闹钟的作用,以蜂鸣来体现闹钟时间的到达。
关键字:单片机汇编语言数字时钟实验设计一、实验目的1、学会应用8051定时器时间及时处理;2、学习按键扫描电路的应用;3、掌握LED数码管动态显示的设计方法;4、掌握汇编语言的简单编程。
二、实验任务及设计要求设计要求:利用实验平台上的4个LED数码管,设计带有闹铃功能的数字时钟。
1、在4位数码管上显示当前时间,计时格式为“时时分分”2、由LED闪烁做秒显示3、利用按键可以对时间及闹钟进行设置,并可显示闹铃时间。
当闹铃时间到蜂鸣器发出声响,按停止键可使闹铃声停止。
三、工作原理及设计思路1、综述:我们设计的该系统主要分为时钟计时、校时和闹钟三个模块。
利用单片机定时器完成计时功能,定时器1计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理60秒时分钟加1,60分钟时小时加1,小时达到24时,全部清零,重新计时。
中断及定时器实验报告
一、实验目的1. 理解中断和定时器的基本概念及工作原理。
2. 掌握51单片机中断系统和定时器的配置方法。
3. 学会使用中断和定时器实现特定功能,如延时、计数等。
4. 培养动手实践能力和问题解决能力。
二、实验原理中断是计算机系统中的一种机制,允许CPU在执行程序过程中,暂停当前程序,转去执行另一个具有更高优先级的程序。
51单片机具有5个中断源,包括两个外部中断(INT0、INT1)、两个定时器中断(定时器0、定时器1)和一个串行口中断。
定时器是51单片机内部的一种计数器,可以用于产生定时中断或实现定时功能。
51单片机有两个定时器,即定时器0和定时器1。
定时器可以工作在模式0、模式1、模式2和模式3。
三、实验内容及步骤1. 实验内容一:外部中断实验(1)实验目的:掌握外部中断的使用方法,实现按键控制LED灯的亮灭。
(2)实验步骤:- 使用Keil for 8051编译器创建项目。
- 根据电路原理图连接电路。
- 编写程序,配置外部中断,实现按键控制LED灯的亮灭。
2. 实验内容二:定时器中断实验(1)实验目的:掌握定时器中断的使用方法,实现LED灯闪烁。
(2)实验步骤:- 使用Keil for 8051编译器创建项目。
- 根据电路原理图连接电路。
- 编写程序,配置定时器中断,实现LED灯闪烁。
3. 实验内容三:定时器与外部中断结合实验(1)实验目的:掌握定时器与外部中断结合使用的方法,实现按键控制LED灯闪烁频率。
(2)实验步骤:- 使用Keil for 8051编译器创建项目。
- 根据电路原理图连接电路。
- 编写程序,配置定时器中断和外部中断,实现按键控制LED灯闪烁频率。
四、实验结果与分析1. 外部中断实验:成功实现了按键控制LED灯的亮灭。
当按下按键时,LED灯亮;松开按键时,LED灯灭。
2. 定时器中断实验:成功实现了LED灯闪烁。
LED灯每隔一定时间闪烁一次,闪烁频率可调。
3. 定时器与外部中断结合实验:成功实现了按键控制LED灯闪烁频率。
定时器计数器中断综合实验
报告成绩:教师签字:批改日期:评语:学生实验报告课程名称单片机原理及接口技术姓名实验名称定时器/计数器、中断综合实验班级实验目的掌握51系列单片机中断系统及定时器的工作原理及使用技巧学号实验日期实验内容(1)P1 口做输出口,接八只发光二极管,高电平点亮,控制一个. 方向循环点亮8只LED,每个LED点亮时间为50ms;(2)在以上基础上加外部中断内容,由外部中断请求时,8只LED全亮(3)P1 口做输出口,接八只发光二极管,高电平点亮,控制一个方向循环点亮8只LED,每个LED点亮时间改为2s实验地点实验组号实验设备计算机 wave6000程序 lab2000p试验箱同组人1.实验电路及连线本次试验不做要求2.程序流程图本次实验无3.源程序(1 ORG 0000H MOV TL0,#58HLJMP MAIN SETB EAORG 0003H SETB ET0ORG 000BH SETB TR0LJMP SER0 SJMP $ORG 1000H SER0:MOV TH0,#9EHMAIN: MOV A,#01H MOV TL0,#58HLOOP: MOV P1,A RL AMOV TMOD,#01H MOV P1,AMOV TH0,#9EH RETIEND(2ORG 0000H SER0:MOV TH0,#9EHLJMP MAIN MOV TL0,#58HORG 0003H RL ALJMP SER1 MOV P1,AORG 000BH RETILJMP SER0 SER1:PUSH ACCORG 1000H PUSH PSWMAIN: MOV A,#01H MOV A,#0FFH LOOP: MOV P1,A MOV P1,AMOV TMOD,#01H LCALL DELAY MOV TH0,#9EH POP PSWMOV TL0,#58H POP ACCSETB EA RETISETB ET0 DELAY:MOV R7,#0FFH SETB TR0 L1:MOV R6,#0FAH SETB EX0 DJNZ R6,$SETB IT0 DJNZ R7,L1SJMP $ RETEND(3 ORG 0000H SETB EALJMP MAIN SETB ET0ORG 000BH SETB TR0LJMP SER0 SJMP $ORG 1000H SER0:MOV TH0,#9EH MAIN: MOV A,#01H MOV TL0,#58H LOOP: MOV P1,A DJNZ R0,EXIT MOV R0,#28H MOV R0,#28HMOV TMOD,#01H RL AMOV TH0,#9EH MOV P1,AMOV TL0,#58H EXIT:RETIEND4.结果记录及分析(1)结果: P1 口做输出口,接八只发光二极管,高电平点亮,控制一个方向循环点亮8只LED,每个LED点亮时间为50ms;分析:用定时器方式0,使用定时功能,定时器以中断方式工作。
定时器中断实验报告
定时器中断实验报告一、实验目的通过定时器中断实验,掌握定时器的基本原理和应用,了解中断的概念和实现,学习如何使用汇编和C语言编写中断服务程序。
二、实验原理1. 定时器的基本原理定时器是一种能够精确控制时间的功能模块,其主要功能是在一定的时间间隔内产生一次中断信号。
定时器一般由计数器和控制逻辑电路组成。
计数器向控制逻辑电路传递计数值,控制逻辑电路对计数器进行控制,当计数值达到设定值时,控制逻辑电路会产生中断信号。
2. 中断的概念和实现中断是指CPU在执行某个程序的过程中,由于某些特定事件的发生,需要立即停止正在执行的程序,转而去执行与特定事件相关的处理程序的过程。
中断信号通常是由外部设备产生的,例如定时器中断、串口中断等,也可以由软件产生。
中断的实现需要安装中断服务程序,中断服务程序是指与中断处理相关的程序段。
中断发生时,CPU会暂停当前的执行,转而执行中断服务程序。
中断服务程序完成处理后,CPU会返回到原来的执行状态。
中断服务程序通常由汇编或C语言编写,需要遵循一定的规则和约定。
三、实验材料1. STC89C52单片机板;2. 电脑、Keil μVision5软件;3. 串口调试助手软件。
四、实验过程1. 硬件连接将STC89C52单片机板上的P3口与LED灯连接,通过拨码开关设定定时器的时钟频率。
2. 编写程序在Keil μVision5软件中编写程序,在程序中设置定时器的时钟频率和中断周期。
在中断服务程序中控制LED灯的闪烁。
3. 烧录程序将编写好的程序烧录到STC89C52单片机板中。
4. 测试启动单片机板,观察LED灯是否按照预定的周期闪烁。
通过串口调试助手软件,可以实时观察定时器中断的触发情况。
五、实验结果经过测试,程序能够正常运行,LED灯按照预定的周期闪烁,定时器中断触发正常,符合预期要求。
六、实验总结通过本次实验,我掌握了定时器的基本原理和应用,了解了中断的概念和实现,学习了如何使用汇编和C语言编写中断服务程序。
51单片机定时器实验内容
51单片机定时器实验内容
51单片机定时器实验的内容可以根据不同的需求和目的进行调整,以下是
一些可能的实验内容:
1. 定时器初始化实验:实验目标是了解如何初始化51单片机的定时器,包括设置定时器的工作模式、计数值、初始值等。
实验中可以编写代码,让定时器在初始化后自动开始计时,并在达到指定时间后产生中断或输出信号。
2. 定时器中断实验:实验目标是了解如何使用51单片机的定时器中断功能,实现定时器在达到指定时间后自动触发中断,并在中断服务程序中执行特定的操作。
实验中可以编写代码,让定时器在达到指定时间后自动进入中断服务程序,并在其中执行特定的操作,如点亮LED灯等。
3. 定时器PWM输出实验:实验目标是了解如何使用51单片机的定时器PWM输出功能,实现定时器输出PWM波形。
实验中可以编写代码,让定时器输出不同占空比的PWM波形,并通过调整占空比来控制LED灯的亮
度等。
4. 定时器与外部事件同步实验:实验目标是了解如何使用51单片机的定时器与外部事件同步,实现定时器在外部事件发生时自动开始计时或停止计时。
实验中可以编写代码,让定时器在外部事件发生时自动开始计时或停止计时,并在达到指定时间后执行特定的操作。
以上是一些常见的51单片机定时器实验内容,通过这些实验可以深入了解51单片机的定时器工作原理和用法,并提高编程技能和硬件控制能力。
定时计数器和中断系统的综合应用实验报告收获与体会
定时计数器和中断系统的综合应用实验报告收获与体会这是一个比较开放性的问题,我尝试给出一个比较全面的回答,希望能够帮到你。
一、实验目的通过对定时计数器和中断系统的综合应用实验,掌握以下技能:1. 掌握定时计数器和中断系统的原理及其在嵌入式系统中的应用。
2. 熟悉51单片机中定时器的使用方法。
3. 熟悉51单片机中中断系统的使用方法。
4. 熟悉C语言中的定时器和中断编程。
二、实验内容1. 实验原理定时计数器是嵌入式系统中非常重要的一个部分,它可以周期性的计时,通过计数值的比较输出指定的脉冲信号。
51单片机中的定时器有4个,分别为Timer0、Timer1、Timer2、Timer3。
不同的定时器有不同的计数器位数和工作模式,可以根据应用场景进行选择。
中断系统是嵌入式系统中另一个非常重要的部分,可以在特定的条件下自动触发,优先处理中断事件。
在51单片机中,中断分为外部中断和定时器中断。
通过中断系统,可以高效地实现对各种外部事件的实时响应。
2. 实验步骤本实验分为两个阶段,第一阶段设计一个定时计数器程序,通过P1口的LED灯输出定时器的计数值,第二阶段在第一阶段的基础上,结合中断系统,设计一个定时器中断程序,通过P0口的LED灯输出中断事件的计数值。
第一阶段:(1)配置定时器,设置定时器的工作模式和计数器初值。
(2)在定时器的中断处理函数中,实现计数器值的输出。
(3)通过P1口连接LED灯,输出计数器值。
第二阶段:(1)配置定时器和中断系统,设置定时器的工作模式和计数器初值,以及中断的优先级和中断处理函数。
(2)在中断处理函数中,实现计数器值的输出和中断事件计数值的计算。
(3)通过P0口连接LED灯,输出中断事件的计数值。
三、实验结果通过实验,我掌握了51单片机中定时计数器和中断系统的使用方法,熟悉了C语言中的定时器和中断编程。
在第一阶段的实验中,我成功地输出了定时器的计数值,通过LED灯显示在P1口。
单片机习题集及其规范标准答案12
习题一1.什么是单片机,和微机相比较,它有什么优点?2.请叙述51系列单片机的主要产品及其特点。
3.除51系列单片机外,常用的单片机还有哪些型号,各有什么优点?4.单片机中常用的数制有哪些,它们之间相互如何转换?5.计算机中常用的二进制编码有哪些,请分别予以叙述。
6.(1)10和(-1)10的原码、反码和补码分别是多少?习题二1.单片机主要应用在什么领域?2. 89C51单片机包含哪些主要逻辑功能部件? 各有什么主要功能?3.89C51单片机EA端如何使用?4.什么是机器周期、指令周期?89C51指令周期、机器周期和时钟周期的关系如何?当主频为12MHz时,一个机器周期等于多少微秒?执行一条最长的指令需多少微秒?5.如何认识89C51存储器空间在物理结构上可划分为四个空间,而在逻辑上又可划分为三个空间?各空间的寻址范围、寻址方式是什么?6.89C51有哪些主要的特殊功能寄存器,分布在哪里?7.内部RAM低128B从功能和用途方面,可划分为哪三个区域?8.89C51内部RAM有几组工作寄存器?每组工作寄存器有几个工作寄存器?寄存器组的选择由什么决定?9.89C51的外部RAM和I/O口是如何编址的,如何寻址?10.89C51的程序存储器的寻址空间是多少,如何区别片内程序存储器和片外程序存储器的?11.89C51的位寻址区在哪里,位寻址空间是多少?12.什么是堆栈,什么是SP,89C51的堆栈位于什么地方,复位后堆栈指针初值是多少,一般将SP设置为多少?进栈、出栈时堆栈指针将怎样变化?13.单片机包括哪两种复位方式,在单片机应用系统中为何需要系统复位,复位后主要寄存器的状态如何?14.89C51的P3口各引脚的第二功能是什么?15.89C51有几种低功耗方式,如何进入和退出?习题三1.什么是指令,什么是指令系统?2.89C51总共有多少条指令,分为哪几类?3.89C51有哪些寻址方式,各自的寻址空间如何?4.说明下列指令中源操作数采用的寻址方式。
电子实习数字钟实验报告
数字钟实验报告一、实验目的1. 学习数字电路的设计与实践,提高动手能力。
2. 了解和掌握数字电子钟的工作原理及制作方法。
3. 培养严谨的科学态度和良好的团队协作精神。
二、实验任务及要求1. 设计并制作一个具有时、分、秒显示功能的数字电子钟。
2. 电子钟应具备校时功能,能手动调整时、分。
3. 电子钟在24小时内整点报时,从59分50秒开始,每2秒钟响一声,共响5次。
4. 电子钟在6--22点之间每整点报时,23--5点之间整点不报时。
三、实验原理及设计思路1. 实验原理数字电子钟主要由石英晶体振荡器、分频器、计数器、译码器、显示器等组成。
石英晶体振荡器产生1Hz的基准信号,分频器将1Hz信号分频得到秒信号,计数器对秒信号进行计数实现时、分、秒的显示,译码器将计数器的输出信号转换为显示器所需的信号,显示器以数字形式显示时间。
2. 设计思路(1)选用合适的石英晶体振荡器,确保电子钟的走时准确。
(2)设计分频器,将1Hz信号分频得到秒信号。
(3)设计计数器,实现时、分、秒的计数功能。
(4)设计译码器,将计数器的输出信号转换为显示器所需的信号。
(5)设计显示器,以数字形式显示时间。
(6)设计校时电路,实现手动调整时、分功能。
(7)设计整点报时电路,实现整点报时功能。
四、实验步骤1. 搭建石英晶体振荡器电路,确保输出1Hz的基准信号。
2. 设计并搭建分频器电路,将1Hz信号分频得到秒信号。
3. 设计并搭建计数器电路,实现时、分、秒的计数功能。
4. 设计并搭建译码器电路,将计数器的输出信号转换为显示器所需的信号。
5. 设计并搭建显示器电路,以数字形式显示时间。
6. 设计并搭建校时电路,实现手动调整时、分功能。
7. 设计并搭建整点报时电路,实现整点报时功能。
8. 调试并优化电路,确保电子钟的正常运行。
五、实验结果与分析1. 实验结果经过以上步骤,我们成功制作了一个具有时、分、秒显示功能的数字电子钟。
实验结果显示,电子钟走时准确,能手动调整时、分,整点报时功能正常,符合实验要求。
定时器及中断实验报告
定时器及中断实验报告定时器及中断实验报告引言在计算机科学领域,定时器和中断是非常重要的概念。
定时器可以用于测量时间、控制程序执行速度等,而中断则可以提高系统的响应能力和处理效率。
本实验旨在通过实际操作,加深对定时器和中断的理解,并验证其在实际应用中的作用和效果。
实验目的1. 理解定时器和中断的概念、原理以及作用。
2. 掌握定时器和中断的编程方法和技巧。
3. 通过实验验证定时器和中断在实际应用中的效果和作用。
实验器材1. 单片机开发板2. 电脑3. USB数据线实验步骤1. 连接单片机开发板和电脑,确保通信正常。
2. 打开开发板的开发环境,创建一个新的工程。
3. 在工程中添加定时器和中断相关的库文件。
4. 编写代码,在主函数中初始化定时器和中断,并设置相应的参数。
5. 编译并下载代码到开发板上。
6. 运行程序,观察定时器和中断的效果。
实验结果通过实验,我们成功实现了定时器和中断的功能,并观察到以下结果:1. 定时器可以精确地测量时间,实现定时功能。
2. 中断可以在特定条件满足时打断程序的执行,提高系统的响应能力。
3. 定时器和中断的结合使用,可以实现更复杂的功能,如周期性任务的执行等。
实验分析定时器和中断是计算机系统中常用的功能模块,其应用广泛。
通过本实验,我们深入理解了定时器和中断的概念和原理,并通过实际操作验证了其在实际应用中的作用和效果。
定时器和中断的结合使用,可以实现更复杂的功能,提高系统的响应能力和处理效率。
结论本实验通过实际操作,加深了对定时器和中断的理解,并验证了其在实际应用中的作用和效果。
定时器和中断是计算机系统中非常重要的功能模块,掌握其编程方法和技巧对于开发和优化系统具有重要意义。
通过进一步学习和实践,我们可以更好地应用定时器和中断,提高系统的性能和可靠性。
参考文献[1] 《嵌入式系统原理与实践》[2] 《单片机原理与应用》[3] 《计算机组成与设计:硬件/软件接口》。
电子时钟实验报告电子时钟
电子时钟实验报告一、实验目的学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。
二、设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟,要求:1.在4位数码管上显示当前时间,显示格式为“时时分分”;2.由LED闪动做秒显示;3.利用按键可对时间及闹玲进行设置,并可显示闹玲时间。
当闹玲时间到蜂鸣器发出音乐,按停止键使可使闹玲声停止。
三、工作原理及设计思路利用单片机定时器完成计时功能,定时器0计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现LED显示。
闹铃声由交流蜂鸣器产生,电路如右图,当P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。
四、电路设计及描述(1) 硬件连接部分:在ZKS-03单片机综合实验仪上有四位共阳LED数码管,其标号分别为LED1~LED4。
为了节省MCU的I/O口,采用串行接口方式,它仅占用系统2个I/O口,即P1.0口和P1.1口,一个用作数据线SDA,另一个用作时钟信号线CLK,它们都通过跳线选择器JP1相连。
由于采用共阳LED数码管,它的阴极分别通过限流电阻R20~R27连接到控制KD_0~KD_Q7。
这样控制8个发光二极管,就需要8个I/O口。
但由于单片机的I/O 口资源是有限的,因此常采用实验电路所示的串并转换电路来扩充系统资源。
串并转换电路其实质是一个串入并处的移位寄存器,串行数据再同步移位脉冲CLK的作用下经串行数据线SDA把数据移位到KD_0~KD_Q7端,这样仅需2根线就可以分别控制8个发光二极管的亮灭。
而P0口只能作地址/数据总线,P2口只能作地址总线高8位,P3.0、P3.1作为串行输入、输出接口,实验仪上单片机可用作I/O的口仅有:P1.0--P1.7 ,8位;P3.2、P3.3、P3.4、P3.5 ,4位。
定时器及中断实验报告
定时器及中断实验报告定时器及中断实验报告引言近年来,随着科技的不断发展,计算机技术在各个领域得到了广泛应用。
定时器和中断是计算机系统中非常重要的组成部分,能够帮助我们实现各种功能和任务。
本文将介绍定时器和中断的原理和应用,并结合实验结果进行分析和讨论。
一、定时器的原理和应用定时器是计算机系统中的一种硬件设备,用于计量时间间隔并触发相应的操作。
它通常由一个时钟源和一个计数器组成。
时钟源产生固定的脉冲信号,计数器根据时钟源的信号进行计数,当计数值达到设定的阈值时,定时器会触发一个中断信号,通知处理器执行相应的操作。
定时器在计算机系统中有广泛的应用。
例如,操作系统可以利用定时器来实现任务调度,确保各个任务按照一定的时间片轮转执行。
此外,定时器还可以用于测量时间间隔,计算程序运行时间,以及实现各种定时任务等。
二、中断的原理和应用中断是计算机系统中的一种机制,用于打破程序的顺序性,以响应外部事件或异常情况。
当发生中断事件时,处理器会立即中断当前的执行任务,保存当前的上下文信息,并跳转到中断处理程序来处理中断事件。
处理完成后,再返回到原来的执行任务。
中断可以分为硬件中断和软件中断。
硬件中断由硬件设备触发,例如定时器到达设定阈值、外部设备请求等。
而软件中断则是由程序主动触发,例如调用系统函数、执行软件异常等。
中断在计算机系统中的应用非常广泛。
它可以用于处理外部设备的输入输出,例如键盘、鼠标、打印机等。
同时,中断还可以用于处理各种异常情况,例如除零错误、越界访问等。
通过中断机制,计算机系统能够实现更高效、更灵活的任务处理和异常处理。
三、实验设置和结果分析为了更好地理解定时器和中断的原理和应用,我们进行了一系列的实验。
实验使用的是一款基于8051单片机的开发板,通过编写相应的汇编程序来实现定时器和中断的功能。
首先,我们设置了一个定时器,将时钟源设置为1MHz,计数器的初始值为0,阈值为1000。
然后,我们在中断处理程序中编写了一段代码,用于在定时器触发中断时进行相应的操作。
中断及定时器实验报告
中断及定时器实验报告中断及定时器实验报告引言:中断是计算机系统中一种重要的机制,它可以打破程序的顺序执行,响应外部事件的发生。
中断的引入使得计算机可以同时处理多个任务,提高了系统的效率和可靠性。
定时器是中断的一种常见应用,它可以在一定时间间隔内产生中断信号,实现定时任务的功能。
本实验旨在通过编程实现中断和定时器的功能,并测试其正确性和稳定性。
一、实验目的1. 学习中断的概念和原理;2. 掌握中断的编程方法和中断处理程序的编写;3. 理解定时器的工作原理和应用场景;4. 实现定时器的功能,并测试其正确性和稳定性。
二、实验过程1. 硬件准备在实验中,我们使用了一台基于8051单片机的开发板,通过连接外部电路和开发板的引脚,实现对定时器的控制。
2. 软件编程首先,我们需要在开发板上搭建一个简单的电路,包括一个LED灯和一个按钮。
然后,我们使用汇编语言编写中断处理程序,实现当按钮按下时,LED灯闪烁的功能。
具体的编程步骤如下:(1)设置中断向量表:将中断处理程序的地址存储到中断向量表中,以便系统在中断发生时能够正确地跳转到相应的处理程序;(2)初始化定时器:设置定时器的计数器初值和工作模式;(3)编写中断处理程序:当中断发生时,执行相应的处理程序。
在本实验中,我们编写了一个简单的中断处理程序,当按钮按下时,将LED灯的状态取反;(4)启用中断:使能中断,使得系统能够响应外部事件的发生。
3. 实验测试将编写的程序下载到开发板上,并连接相应的电路。
按下按钮,观察LED灯是否按照预期的频率闪烁。
通过调整定时器的计数器初值和工作模式,可以改变LED灯闪烁的频率。
三、实验结果经过多次实验测试,我们发现中断和定时器的功能正常,LED灯能够按照预期的频率闪烁。
通过改变定时器的计数器初值和工作模式,我们成功地实现了LED灯闪烁频率的调节。
实验结果表明,中断和定时器是一种有效的方法,可以实现对外部事件的及时响应和定时任务的精确控制。
数字电子钟课程设计实验报告
数字电子钟课程设计实验报告1. 引言本实验旨在设计一个数字电子钟,通过对电子元件的运用和数字电路的设计,实现显示当前时间和日期的功能。
在实验过程中,我们将学习数字电子钟的工作原理,熟悉数字电子元件的连接与使用,并运用已学知识进行设计和实现。
2. 设计思路为了设计一个完整的数字电子钟,我们需要考虑以下几个方面的内容:2.1 时钟模块时钟模块是数字电子钟的核心部分,用于记录和显示当前时间。
我们可以使用实时时钟(RTC)模块来实现这一功能。
RTC模块可以精确地计时,并提供与微处理器的接口。
2.2 显示模块数字电子钟的显示模块需要能够显示当前时间和日期。
常见的显示模块包括LED数码管和液晶显示屏。
我们可以根据实际需求选择合适的显示模块。
2.3 控制模块为了方便用户对数字电子钟进行设置和操作,我们需要设计一个控制模块。
用户可以通过控制模块来调整时间、日期等参数,并进行其他操作。
3. 设计步骤3.1 连接电子元件首先,我们需要连接时钟模块、显示模块和控制模块。
按照时钟模块和显示模块的规格说明,将它们与微处理器连接起来。
同时,根据控制模块的需求,连接控制模块与微处理器。
3.2 编写代码编写代码是实现数字电子钟功能的关键步骤。
在代码中,我们需要实现时钟模块的读取和计时功能,显示模块的显示功能,以及控制模块的参数调整和操作功能。
3.3 调试和测试完成代码编写后,我们需要对数字电子钟进行调试和测试。
首先,确保时钟模块的读取和计时功能正常。
然后,验证显示模块的显示功能是否正确。
最后,通过控制模块进行参数调整和操作,确保所有功能都能够正常运行。
4. 实验结果经过设计、编写代码、调试和测试,我们成功地实现了数字电子钟的功能。
我们的数字电子钟可以准确地显示当前时间和日期,并且具备参数调整和操作功能。
5. 总结与讨论本次实验通过设计数字电子钟,我们对数字电路的基本原理和设计方法有了更深入的理解。
通过实践,我们掌握了连接电子元件、编写代码、调试和测试的基本技能,并成功地实现了数字电子钟的功能。
外部中断,定时器与串行口综合实验
硬件实验八外部中断,定时器与串行口综合实验一.实验目的1.进一步巩固外部中断,定时计数器和串行口的原理2.进一步巩固外部中断,定时计数器使用和编程方法3.进一步巩固串行口与PC机通信的实现方法二.实验内容独立按键按下后,单片机每隔3s将内部的RAM60H开始的存储单元中的数据发送到串行口,并在PC上的串行调试助手上显示。
再次按下,则停止传送。
若继续按下,则继续传送。
以此类推。
三.实验连线用杜邦线将P3.0口和独立按键连接起来四.实验说明本实验结合外部中断,定时计数器和串行口的知识,实现数据定式传输。
独立按键的按下将产生从高到低的电平变化,可作为外部中断的输入信号。
主程序中,应首先对外部中断,定时计数器和串行口进行初始化。
在外部中断程序中判断是发送还是停止发送,若需要发送数据则开启定时器,若停止发送数据则关闭定时器。
在定时器中断服务程序中发送数据。
五.实验代码及其现象程序代码:#include<reg52.h>#define uchar unsigned char#define uint unsigned intchar code table[]="communication engineering kingsam 1006052150"; char *p;uint i;int k=0;char overtime,flag;void init() //初始化函数{TMOD=0x21; //置工作方式TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=0xfd;TL1=0xfd;EA=1;EX0=1;ET0=1;IT0=1;ES=1;TR1=1; //启动定时器R1SCON=0x40;p=0x60;p=table;}void int0() interrupt 0 //外部中断子函数{if(flag==0){flag=1;TR0=1;}else{flag=0;TR0=0;}}void T0_interrupt() interrupt 1 //定时器T0中断函数{TH0=(65536-50000)/256;TL0=(65536-50000)%256;i++;if(i==60) //定时3秒{i=0;overtime=1;}}void main() //主函数{init();while(1){if(overtime==1){*p=table[k++];SBUF=*p;p++;while(TI==0);TI=0;overtime=0;if(k==42){k=0;}}}}实验思路:本实验要求实现按下独立按键之后,单片机每隔3s将内部RAM60H开始的存储单元中的数据发送到串行口,并在PC上的串口调试助手上显示。
单片机定时器及外部中断实验报告
单片机实验报告(二)实验名称:定时器及外部中断姓名:张昊学号:110404247班级:通信2班时间:2013.11南京理工大学紫金学院电光系一、实验目的1、学习定时/计数器的应用;2、学习外部中断技术的基本使用方法;3、学习中断处理程序的编程方法。
二、实验原理(1)以P1口作为输出口,定时器实现1s定时,实现显示数的1s加1,外部中断0键盘外接BUTTON,实现对显示数快速加1的控制。
(2)系统板上硬件连线把“单片机系统”A2区的J61接口的P1.0~P1.6端口与D1区的J52接口相连。
把“单片机系统”A2区的INT0端口用导线连接到D1区的KEY1端口上;三、实验内容利用定时器中断控制1s的输出,使用外部中断0使得显示的数加1. 程序如下:#include<reg51.h>#define uchar unsigned char#define uint unsigned intvoid delay(){uint x,y;for(x=100;x>0;x--)for(y=110;y>0;y--);}uchar m,flag;void main(){uchar a,b;TMOD=0x01;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EX0=1; EX1=1; PX1=1; ET0=1; EA=1; 中断开启TR0=1;m=0; P1=0;while(1){while(flag==0); flag=0;if(m==100) m=0;m++;a=m/10;b=m+a*6;P1=b;}}void timer0() interrupt 1 using 0{uchar t;TH1=(65536-50000)/256;TL1=(65536-50000)%256;if(t<20) t++;else { flag=1; t=0; }}void exter0() interrupt 0 using 1{if(INT0==0) delay();if(INT0==0) flag=1;}void exter1() interrupt 2 using 2{if(INT1==0) delay();if(INT1==0) m=0;}将编译好的程序下载到仿真电路中四、小结与体会通过本次定时器中断实验,我对定时器的工作原理有了更加深入的理解,这也是建立在向同学请教的基础上。
微机原理与接口技术综合实验电子钟实验报告
微机原理综合实验:电子钟实验要求8253每1s产生中断请求给8259,中断服务程序利用8255控制数码管,构建一个电子钟。
一、实验原理(相关芯片大致介绍)1.82548254 是Intel 公司生产的可编程间隔定时器,是8253 的改进型,比8253 具有更优良的性能。
8254 具有以下基本功能:(1)有3 个独立的16 位计数器。
(2)每个计数器可按二进制或十进制(BCD)计数。
(3)每个计数器可编程工作于6 种不同工作方式。
(4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。
(5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。
(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。
计数初值公式为:n=fCLKi÷fOUTi、其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。
2.8259Intel公司专为控制优先级中断而设计开发的芯片,包括中断源优先级排队、辨别中断源以及提供中断矢量的电路,无需附加任何电路,用户只需对8259 进行编程,就可以管理8 级中断,并选择优先模式和中断请求方式。
同时,在不需增加其他电路的情况下,通过多片8259 的级连,能构成多达64 级的矢量中断系统。
管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU 传送中断类型号。
3.8255并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。
CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。
8255 可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。
实验5 综合实验
实验五综合实验一、实验目的1.掌握中断系统的硬件和软件编程。
2. 模拟交通灯控制二、实验内容1.硬件设计:用P1.0、P1.1、P1.2控制东西通道的红、黄、绿灯;用P1.3、P1.4、P1.5控制南北通道的红、黄、绿灯。
P0口接LED七段数码管显示秒数。
外部中断0实现紧急5秒控制。
2.软件设计:先是东西红灯、南北绿灯亮;然后东西红灯、南北黄灯亮;接着东西绿灯、南北红灯亮;东西黄灯、南北红灯亮,这样一直循环,各状态维持5秒钟。
3.设计过程:(1)写出各种状态代号下P1的值,并写成数组。
(2)先用延时程序循环执行各种状态。
(3)再用定时中断改写,执行各种状态。
(4)最后完善程序,如加上时间显示、外部中断等等。
4. 出现紧急情况时,按下按键K1用中断方式实现南北、东西红灯持续亮5秒。
注意保护现场。
三、实验步骤及参考例子在Protues中,外部中断实验原理图。
四、程序编写实验五定时中断实验学院:专业:年级:实验时间:姓名:学号:组:_______ 指导教师:一、实验目的1.掌握中断系统的硬件和软件编程。
2. 模拟交通灯控制二、实验内容1.硬件设计:用P1.0、P1.1、P1.2控制东西通道的红、黄、绿灯;用P1.3、P1.4、P1.5控制南北通道的红、黄、绿灯。
P0口接LED七段数码管显示秒数。
外部中断0实现紧急5秒控制。
2.软件设计:先是东西红灯、南北绿灯亮;然后东西红灯、南北黄灯亮;接着东西绿灯、南北红灯亮;东西黄灯、南北红灯亮,这样一直循环,各状态维持5秒钟。
3.设计过程:(1)写出各种状态代号下P1的值,并写成数组。
(2)先用延时程序循环执行各种状态。
(3)再用定时中断改写,执行各种状态。
(4)最后完善程序,如加上时间显示、外部中断等等。
4. 出现紧急情况时,按下按键K1用中断方式实现南北、东西红灯持续亮5秒。
注意保护现场。
三、实验电路四、实验程序1.程序1(将不完整的程序补充完整,将错误的地方改正,并注释关键语句意义)#include <reg51.h>#define uint unsigned int#define uchar unsigned charuchar led[]={ };uchar num[]={ };uchar model,sec;void delay(uint z);void main(){for(model=0;model<5;model++);{P1=led[model];for(sec=0;sec<4;sec++);{P0=num[sec];delay( );}}}}void delay(uint z){}2.程序2(将不完整的程序补充完整,将错误的地方改正,并注释关键语句意义)#include <reg51.h>#define uint unsigned int;#define uchar unsigned char;uchar led[]={ };uchar num[]={ };uchar model=0, sec=0;void main(){TMOD=0x01;TH0= ;TL0= ;TR0=1;while(1){if(model==4)model=0;P1=led[model];P0=num[sec];}}delay_5s() interrupt 0{TH0= ;TL0= ;if(counter==20){sec++;if(sec==5){model++;}}}3.程序3(将不完整的程序补充完整,将错误的地方改正,并注释关键语句意义)#include <reg52.h>;#define uint unsigned int#define uchar unsigned charuchar led[]={0x0c,0x0a,0x21,0x11,0x09}; uchar num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d}; uchar model=0,counter,sec=0;m,n,l,k,h;void main(){TMOD = ;EA=1 ;ET0=1;ET1=0;PX0=1;TH0= ;TL0= ;TH1= ;TL1= ;TR0 = 1;while(1){P1=led[model];P0=num[sec];}}delay_5s() interrupt 0//正常5秒定时{TH0= ;TL0= ;if(counter==20){sec++;if(sec==5){model++;if(model==4)model=0;}}}int_0() interrupt 0{EA=0;; //T0停止计时ET0=0;m=counter;//保护现场n=sec;l=TH0;k=TL0;counter=0;sec=0;model=4;; //T1开始计时ET1=1;EA=1;}delay1_5s() interrupt 1//紧急5秒定时{TH1= ;TL1= ;if(counter==10){sec++;if(sec==5){; //恢复现场counter=m;sec=n;model=h;TH0=l;TL0=k;ET1=0;ET0=1;; //T1停止计时; //T0开始计时EA=1;}}}五、体会。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
R6 1 00
8
CL K
2 3 4 6 7 8
U3 7 4AL S16 4
VCC C1 C2 1 0UF R1 1 0K 3 0p C3 1 2M HZ
39 38 37 9 35 34 19
U7 7 4AL S16 4 1 2 A B CL R Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 9
+5V
32 33 36 29 30 31 8 CL K
18 20 3 0p
XT AL 2 GND
3 4 5 6 10 11 12 13
1 a DPY 2 b a 3 DP3. 3 V c f b g 4 d 5 e e c 6 f d 7 g dp 8 dp
R1 0 1 00
实验五:电子钟
题目:用DS1320产生时钟;串口驱动维铎
南京林业大学电工电子实验中心
实验五:电子钟
题目:用定时器产生时钟;串口驱动74LS164,
74LS164驱动静态共阴数码管显示;I/O
口管理键盘设置调整时间;定时器控制
喇叭报警。
要求:画出实验电路,编写实验程序。
实验五:电子钟参考电路
+5V 4 x1 K 1 21 2 22 3 23 4 24 P2. 3 P3. 0 /RXD 10 +5V 1 2 A B CL R Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 9 3 4 5 6 10 11 12 13 1 2 3 4 5 6 7 8
33H,#0
ACC
实验五:电子钟参考程序
; ==== 二进制转换十进制子程序 ====== ESZH: MOV A,31H ;取秒二进制数 MOV B,#10 DIV AB MOV 40H,B ;余数为秒个位数 MOV 41H,A ;商为秒十位数 MOV A,32H ;取分二进制数 MOV B,#10 DIV AB MOV 42H,B ;余数为分个位数 MOV 43H,A ;商为分十位数 MOV A,33H ;取时二进制数 MOV B,#10 DIV AB MOV 44H,B ;余数为时个位数 MOV 45H,A ;商为时十位数 RET
a b c d e f g dp DPY a f e g d b
+5V
P2. 1 8 P2. 2 P1. 0 /ADC0/CL KO UT 2 1 CL K
R5
c dp
1 00
+5V
25 26 27 28 R3 1K 9 01 3 13 14 15 16 17 12
P2. 4 P2. 5 P2. 6 P2. 7 P3. 3 /INT 1 P3. 1 /T XD P3. 4 /T 0/CL KOUT 0 P3. 5 /T 1/CL KOUT 1 P3. 6 /W R P3. 7 /RD P1. 1 /ADC1 P3. 2 /INT 0 2 /ADC2/E C1 /RXD2 P1. P1. 3 /ADC3/CCP0/ T XD2 5 P1. 4 /ADC4/CCP1/ SS P0. 0 P1. 5 /ADC5/M OSI P0. 1 P1. 6 /ADC6/M ISO P0. 2 P1. 7 /ADC7/SCL K RST /P4 . 7 P0. 4 P0. 5 P0. 7 XT AL 1 P0. 6 P0. 3 NA/P4. 4 AL E /P4. 5 E X_ L VD/P4 . 6/RST 2 11
实验五:电子钟参考程序
MOV CJNE MOV LJMP KEY2: SETB JB INC MOV CJNE MOV KEY9: NOP RET A,32H A,#60,KEY9 32H,#0 KEY9 P2.3 P2.3,KEY9 31H A,31H A,#60,KEY9 31H,#0 ;分计数器+1
;按调整秒键
;秒计数器+1
实验五:电子钟参考程序
;===== 延时子程序 =====
DELAY:MOV DELA1: MOV DELA2:NOP DJNZ DJNZ RET NOP R7,DELA2 R6,DELA1 R6,#50 R7, #250
;======================
END
TI
;状态查询
;清发送中断标志
实验五:电子钟参考程序
DEC R0 DJNZ R7,DIS1
RET
TAB: DB 0FCH,60H,0DAH DB 0F2H,66H,0B6H DB 0BEH,0E0H,0FEH DB 0F6H ;0-2(共阴) ;3-5(a b c d e f g dp) ;6-8 ;9-
实验五:电子钟参考程序
; ===== 键盘子程序 ====== KEY: NOP SETB P2.1 ;按调整时键 JB P2.1,KEY1 INC 33H ;时计数器+1 MOV A,33H CJNE A,#24,KEY9 MOV 33H,#0 LJMP KEY9 KEY1: SETB P2.2 ;按调整分键 JB P2.2,KEY2 INC 32H
实验五:电子钟参考程序
主程序
LOP1: SETB EA SETB ET0 SETB TR0 JNB 00H,LOP2 CLR TR0 LCALL KEY NOP LJMP LOP3 SETB TR0 SETB P2.0 JB P2.0,LOP5 CPL 00H SETB P2.0 JNB P2.0,LOP4
a b c d e f g dp DPY a f e g d b c dp
R4
U1 8 0C5 1 VCC P2. 0 40
+5V U2 7 4AL S16 4 R2 1K 1 2 A B CL R Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 9 3 4 5 6 10 11 12 13 1 2 3 4 5 6 7 8
实验五:电子钟参考程序
; ===== 显示子程序 ====== DISP: MOV DPTR,#TAB ;取字形表地址 MOV R0,#45H MOV R7,#6
DIS1: MOV A,@R0
MOVC A,@A+DPTR MOV SBUF,A
;取显示数据
;取显示数据的字形 ;串行输出
JNB
CLR
TI,$
74LS164驱动静态共阴数码管显示;I/O
口管理键盘设置调整时间;定时器控制
喇叭报警。
要求:画出实验电路,编写实验程序。
实验五:电子钟参考程序
主程序
ORG LJMP ORG LJMP MAIN: MOV MOV MOV MOV MOV MOV MOV MOV MOV 0000H MAIN 000BH DSQ0 ; 50ms定时器 SP,#50H TMOD,#01H ;设置T0为工作方式1 TH0,#3CH ;设置50ms初值 TL0,#0B0H 30H,#0 ;50ms计数器清零 31H,#0 ;秒计数器清零 32H,#0 ;分计数器清零 33H,#0 ;时计数器清零 20H,#0 ;标志位清零
实验五:电子钟参考程序
DSQ1: PUSH ACC MOV MOV INC MOV MOV INC MOV TH0,#3CH TL0,#0B0H 30H A,30H 30H,#0 31H A,31H ;到1分吗? ;秒计数器+1 ; 50ms计数器+1 ;重装50ms初值
CJNZ A,#20,DSQ9 ;到1秒吗?
CJNZ A,#60,DSQ9
MOV
31H,#0
实验五:电子钟参考程序
INC 32H ;分计数器+1 ;到60分吗?
MOV
MOV
A,32H
32H,#0
CJNZ A,#60,DSQ9
INC
MOV
33H
A,33H
;时计数器+1
;到1天吗?
CJNZ A,#24,DSQ9
MOV
DSQ9: POP RETI
;开T0中断
;在运行状态转 ;在设置状态设置时间
LOP2: LOP3:
;判运行/设置键 ;运行/设置状态互换 ;等待键抬起。
LOP4:
实验五:电子钟参考程序
主程序 LOP5: NOP
LCALL ESZH NOP LCALL DISP NOP LCALL DELAY NOP LJMP LOP1 ;二十转换 ;显示 ;延时