第6章AT89C51定时器计数器
- 格式:pptx
- 大小:625.99 KB
- 文档页数:46
第6章MCS-51的定时器的定时器//计数器
一、填空
1.定时/计数器工作方式3仅适用于。
2.若将定时/计数器用于计数方式,则外部事件脉冲必须从引脚输入,且外部脉冲的最高频率不能超过时钟频率的。
3.定时器/计数器的工作方式3是指的将拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为使用。
4.处理定时器/计数器的溢出请求有两种方法,分别是中断方式和查询方式。使用中断方
式时,必须_________;使用查询方式时,必须__________。
5.假定定时器1工作在方式2,单片机的振荡频率为3MHZ,则最大的定时时间为
_________。
6.当定时器T0工作在方式3时,要占定时器T1的TR1和TF1_控制位.
7.MCS-51的定时器用作定时时,其定时时间与时钟频率和计数初值有关。用作计数时,最高计数频率的。
8.MCS—51单片机内部有个位加1定时/计数器,可通过编程决定它们的工作方
式,其中,可进行13位定时/计数的是方式是。
二、判断
1.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。()。
三、简答
1简述定时器的四种工作方式的特点,如何选择和设定?
2.当定时器T0用作方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关
闭?
3.已知8051单片机的fosc=12MHz,用T1定时。试编程由P1.0和P1.1引脚分别输出周期
为2ms和500µs的方波。
4.定时/计数器工作于定时和计数方式时有何异同点?
5.当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何种方式下?如何控制T1
的开启和关闭?
6.软件定时与硬件定时的原理有何异同?
7.定时器T0和T1各有几种工作方式?8.设单片机的fosc=12MHZ,要求用T0定时150µs,分别计算采用定时方式0、定时方式1
和定时方式2的定时初值。
9.设单片机的fosc=6MHZ,问定时器处于不同工作方式时,最大定时范围分别是多少?
4.1 AT89C51 简介:
AT89C51(如图2-10所示)是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51单片机示意图(4-2-1)
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
(完整)AT89C51单片机的概述
AT89C51单片机的概述
(1)AT89C51单片机的结构
AT89C51单片机是美国Atmel公司生产低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash 存储单元,功能强大[3]。AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。
上图为AT89C51单片机的基本组成功能方块图.由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。下面介绍几个主要部分。
外时钟源 外部事件计数
外中断 控制 并行口 串行通信
AT89C51 功能方块图
(2)AT89C51的管脚说明
ATMEL公司的AT89C51是一种高效微控制器.采用40引脚双列直插封装形式。AT89C51单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。
VCC:供电电压.
GND:接地. 振荡器和时序
OSC 程序存储器
4 KB ROM 数据存储器
256 B RAM/SFR 定时器/计数器
2 ×16
AT89C51
CPU
64 KB总线
扩展控制器 可编程 I/O 可编程全
双工串行口 内中断 (完整)AT89C51单片机的概述
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入.P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0 口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高.
3.1 AT89C51系列单片机介绍
3.1.1 AT89C51系列基本组成及特性
AT89C51是一种带4k字节闪烁可编程可擦除只读存储器的低电压,高性能
CMOS8位微处理器,俗称单片机。而在众多的51系列单片机中,要算 ATMEL 公
司的AT89C51更实用,也是一种高效微控制器,因为它不但和8051指令、管脚
完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,
用户可以用电的方式达到瞬间擦除、改写。而这种单片机对开发设备的要求很低,
开发时间也大大缩短。
AT89C51基本功能描述如下:AT89C51是一种低损耗、高性能、CMOS八位微
处理器,而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器,能
重复写入/擦除1000次,数据保存时间为十年。它与MCS-51系列单片机在指令
系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具
有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系
统,缩小系统体积, 增加系统的可靠性,降低了系统成本。只要程序长度小于
4k, 四个I/O口全部提供给用户。可用5V电压编程,而且写入时间仅10毫秒, 仅
为8751/87C51 的擦除时间的百分之一,与8751/87C51的12V电压擦写相比, 不
易损坏器件, 没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领
域。AT89C51 芯片提供三级程序存储器锁定加密,
提供了方便灵活而可靠的硬
加密手段, 能完全保证程序或系统不被仿制。另外,AT89C51 还具有MCS-51系列
单片机的所有优点。128×8 位内部RAM, 32 位双向输入输出线, 两个十六位定
时器/计时器, 5个中断源, 两级中断优先级, 一个全双工异步串行口及时钟发
生器等。AT89C51有间歇、掉电两种工作模式。间歇模式是由软件来设置的, 当
外围器件仍然处于工作状态时, CPU可根据工作情况适时地进入睡眠状态, 内部
AT89C51引脚图及功能
电子元件知识 2010-03-04 23:12:41 阅读1759 评论1 字号:大中小 订阅
89C51外部引脚图:(可以直接拷入ASM程序文件中,作注释使用,十分方便)
; ┏━┓┏━┓
; P1.0 ┫1 ┗┛40┣ Vcc
; P1.1 ┫2 39┣ P0.0
; P1.2 ┫3 38┣ P0.1
; P1.3 ┫4 37┣ P0.2
; P1.4 ┫5 36┣ P0.3
; P1.5 ┫6 35┣ P0.4
; P1.6 ┫7 34┣ P0.5
; P1.7 ┫8 33┣ P0.6
; RST/Vpd ┫9 32┣ P0.7
; RXD P3.0 ┫10 31┣ -EA/Vpp(内1/外0 程序地址选择)
; TXD P3.1 ┫11 30┣ ALE/-P (地址锁存输出)
; -INT0 P3.2 ┫12 29┣ -PSEN (外部程序读选通输出)
AT89C51单片机的介绍——最常用的51芯片
首先,我们来了解一下单片机的概念。单片机(Microcontroller)是一种集成度非常高的电子器件,它集成了微处理器、存储器、输入输出端口和其他外设电路,并且能够完成特定的功能。AT89C51正是其中一款,它被广泛应用于各种应用领域,如电子设备控制、通信、仪器仪表、家电、汽车电子等。
2.频率:AT89C51的工作频率通常在12至24MHz之间,具有高速运算和响应的能力。它也支持低功耗模式,在低功耗模式下,芯片能够降低功耗以提高电池寿命。
3.存储器:AT89C51具有4KB的闪存存储器,用户可以通过编程将程序代码保存在闪存中。此外,它还有128字节的RAM存储器,用于临时存储变量和其他数据。
4.输入输出:AT89C51具有32个通用IO引脚,可以实现与外部设备的数据交换。它还具有三个定时器/计数器,可用于测量时间间隔、产生精确的时间延迟等。
5. 通信接口:AT89C51支持串行通信接口,包括UART(Universal
Asynchronous Receiver Transmitter)和SPI(Serial Peripheral
Interface)。这使得芯片能够与其他设备进行通信,如PC、传感器、LCD屏幕等。
6.中断:AT89C51具有6个中断源,可以通过外部触发或软件触发来响应中断。中断能够提高系统的实时性,使得单片机能够及时响应外部事件。 总的来说,AT89C51是一款功能强大、灵活的单片机芯片,它具有高性能、低功耗、丰富的通信接口和存储器容量。由于其广泛应用和良好的兼容性,AT89C51成为工程师和电子爱好者们选用的主流单片机之一、无论是学习、开发原型还是进行实际应用,AT89C51都是一个理想的选择。
此外,AT89C51还拥有丰富的发展资源和社区支持。厂商提供了相关的开发工具包和技术文档,以帮助开发者迅速上手并进行开发。此外,互联网上充斥着大量的技术资料、电路图和源代码,可以供开发者参考。因此,无论是初学者还是有经验的工程师,都能够轻松地进行AT89C51的学习和开发。
第1页 共22页 引言
计算器(Calculator)是微型电子计算机的一种特殊类型。它与一般通用计算机的主要区别在于程序输入方式的不同。计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。
简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。现代电子计算器首次问世是1963年。那时的计算器是台式的,在美国波士顿的电子博览会上展出过。与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。
随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。现在不在单一的在某一方面而是涉及到生活的方方面面.
由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。等调试成功后,其它运算子程序的问题将迎刃而解。
第2页 共22页 目录
引言 .................................................................................................... 1
目录 .................................................................................................... 2
塔里木大学信息工程学院
《单片机原理与外围电路》课程论文
题目:单片机定时闹钟设计
姓名: 海热古丽·依马木
学号: **********
班级: 计算机15-1班
摘要:本设计是单片机定时闹钟系统,不仅能实现系统要求的功能,而且还有附加功能,即还能设定和修改当前所显示的时间。 本次设计的定时闹钟在硬件方面就采用了AT89C51芯片,用6位LED数码管来进行显示。LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。通过S1、S2、S3、和S4四个功能按键可以实现对时间的修改和定时,定时时间到喇叭可以发出报警声。在软件方面采用汇编语言编程。整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系统仿真后得到了正确的结果。
关键词:单片机、AT89C51、定时闹钟、仿真
Abstract :This design is a single-chip timing alarm system, can not only realize the
function of system requirements, and there are additional functions, which can set up
and modify the display time. Timing alarm clock this design adopts the AT89C51 chip
on the hardware side, with 6 LED digital tube to display. LED P0 export driven, by
using dynamic scanning display, can accurately display always - sub - seconds
字节地址D7D6D5D4D3D2D1D0EA//ESET1EX1 ET0EX0AFHAEHADHACHABHAAHA9HA8HEA(AFH)若EA=0则禁止所有中断;若EA=1则由各中断源的允许位决定。ES(ACH)允许/禁止串行口中断ET1(ABH)允许/禁止定时器1中断EX1(AAH)允许/禁止外部中断1ET0(A9H)允许/禁止定时器0中断EX0(A8H)允许/禁止外部中断0
字节地址D7D6D5D4D3D2D1D0///PSPT1PX1PT0PX0BFHBEHBDHBCHBBHBAHB9HB8HPS(BCH)串行口中断优先级控制位PT1(BBH)定时器1中断优先级控制位PX1(BAH)外部中断1中断优先级控制位PT0(B9H)定时器0中断优先级控制位PX0(B8H)外部中断0中断优先级控制位
字节地址
D7D6D5D4D3D2D1D0
CyAcF0RS1RS0OV-P
D7HD6HD5HD4HD3HD2HD1HD0H
Cy(D7H)进位标志
Ac(D6H)辅助进位标志
F0(D5H)用户标志位
RS1(D4H)寄存器选择位1
RS0(D3H)寄存器选择位0
OV(D2H)溢出标志
P(D0H)奇偶校验位D0HSFR(特殊功能寄存器)
IP中断优先级控制寄存器IE中断允许控制寄存器
位地址B8H位地址
A8H
位地址
PSW程序状态字寄存器字节地址
D7D6D5D4D3D2D1D0
SM0SM1SM2RENTB8RB8TIRI
9FH9EH9DH9CH9BH9AH99H98H
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
字节地址
D7D6D5D4D3D2D1D0
TF1TR1TF0TR0IE1IT1IE0IT0
8FH8EH8DH8CH8BH8AH89H88H
TF1(8FH)
TR1(8EH)
TF0(8DH)
TR0(8CH)
IE1(8BH)SCON串行口数据寄存器98H
位地址位地址
TCON定时/计数器控制寄存器
定时器1溢出标志。当定时器1溢出时由内部硬件置位,当单片机转向中断程序时,由内部硬件自动清除。88H
51单片机实现PWM波占空比可调
单片机实现PWM波占空比可调的方法有很多种,下面将详细介绍一种常见的实现方式。
PWM(脉冲宽度调制)是一种常用的数字信号调制技术,可以通过改变脉冲的高电平时间来控制电平的占空比,从而实现对信号的调节。在单片机中,可以使用定时器/计数器模块来生成PWM波,并通过改变计数器的值来调整占空比。
以AT89C51单片机为例,以下是实现PWM功能的步骤:
1.设置定时器模式:选择合适的定时器模式来生成所需的PWM信号。AT89C51单片机有定时器/计数器模块,可以选择模式2,该模式下定时器有自动重装载功能,能够方便地实现周期性的PWM波。
3. 设置PWM参数:根据需要调节的占空比,计算出所需的高电平时间和低电平时间。通常,PWM波的高电平时间与低电平时间之和等于一个周期的时间(定时器的重装载值)。例如,如果需要一个占空比为60%的PWM波,周期为20ms,则高电平时间为「20ms * 60% = 12ms」,低电平时间为「20ms - 12ms = 8ms」。
4.设置PWM引脚:选择一个合适的IO口作为PWM波的输出引脚,并在程序中设置该引脚为输出模式。
5.编写中断服务程序(ISR):针对定时器溢出中断(TOF)编写中断服务程序。每当定时器溢出时,PWM波应该翻转输出引脚的电平,以实现所需的占空比。 6.初始化定时器和中断:在程序初始化阶段,将定时器设为所需的模式,设置中断向量表中的对应中断服务函数,并开启定时器中断。
7.主循环中设置占空比:在主循环中,通过改变定时器的初值来实现不同占空比的调节。将计算得到的高电平时间和低电平时间分别赋值给定时器初值,即可实现占空比的调整。
通过上述步骤,我们可以实现占空比可调的PWM波。在实际应用中,可以根据需要进行适当的优化和改进,例如增加输入口的设置,使得用户可以通过外部按键或旋钮来实时调整占空比,从而更加灵活地控制PWM波的输出。
目 录
一、 课程设计的目的、要求和设计目标 „„„„„„„„„„„ 1
1、目的 „„„„„„„„„„„„„„„„„„„„„„ 1
2、要求 „„„„„„„„„„„„„„„„„„„„„„ 1
3、目标 „„„„„„„„„„„„„„„„„„„„„„ 1二、硬件要求„„„„„„„„„„„„„„„„„„„„„„„ 2
1、 AT89C51的芯片 „„„„„„„„„„„„„„„„„„ 2
2、 LED 数码管显示器概述 „„„„„„„„„„„„„„„„ 3
3、其他元器件介绍及参数选择 „„„„„„„„„„„„„„ 6三、软件设计„„„„„„„„„„„„„„„„„„„„„„„ 7
1、程序流程图 „„„„„„„„„„„„„„„„„„„„ 7
2、程序导图 „„„„„„„„„„„„„„„„„„„„„ 7
3、定时 /计数器初值计算 „„„„„„„„„„„„„„„„ 7
4、软件程序 „„„„„„„„„„„„„„„„„„„„ 8
5、软件仿真设计 „„„„„„„„„„„„„„„„„„„ 9四、软件调试 „„„„„„„„„„„„„„„„„„„„„„
10
1、 <.HEX>文件的生成 „„„„„„„„„„„„„„„„„ 10
2、 PROTEUS „„„„„„„„„„„„„„„„„„„„ 10五、心得体会 „„„„„„„„„„„„„„„„„„„„„„
11
一、 课程设计的目的、要求和设计目标
1、目的
单片机课程即将结束, 课程的最后一项是单片机的课程设计。 通过课程设计,
我们要将在一个学期中所学的东西进行整理、 归纳, 要把学到的知识转化成实际 的运用,进一步的了解单片机的实质。通过动手设计,深入学习,体验单片机在 日常生活中的运用,提升专业知识。
课程设计的总体包括:对单片机的了解、运用,设计思路的解析,报告文字 的处理等。 通过一系列的实际操作, 完善对课程的学习, 提升自我的学习能力和 动手能力。
89C51中断寄存器详情
中断系统:
AT89C51单片机的中断系统由中断源、与中断控制有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成,包括5个中断请求源、4个与中断控制有关的寄存器(IE、IP、TCON、SCON)、两个中断优先级及顺序查询逻辑电路。
1. 中断源:
中断源是指能引起中断、发出中断请求的装置或事件。AT89C51有5个中断源
○1外中断0(INT0):中断请求信号从单片机的P3.2脚输入
○2外中断1(INT1):中断请求信号从单片机的P3.3脚输入
○3内定时器/计数器0(T0):溢出中断
○4内定时器/计数器1(T1):溢出中断
○5串行口中断:包括串行收中断RI和串行发中断TI
2.中断入口地址及内部优先权
中断源 中断入口地址(ROM) 优先权
外部中断0(INT0),P3.2 0003H
高
到
低 内定时器/计数器0(T0),P3.4 000BH
外部中断1(INT1),P3.3 0013H
内定时器/计数器1(T1),P3.5 001BH
串行口中断RI、TI (P3.0,P3.1) 0023H
寄存器
3.IE结构及各位名称、地址
位 号 IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0
位 名 EA --------- ---------- ES ET1 EX1 ET0 EX0
位地址 AFH -------- ---------- ACH ABH AAH A9H A8H ⑴EA是CPU中断总允许位。EA=1,CPU开放中断;EA=0,CPU屏蔽所有的中断请求。
⑵ES是串行中断允许控制位。ES=1,允许串行口中断;ES=0,禁止串行口中断。
⑶ET1是定时器/计数器1中断允许控制位。ET1=1时允许定时器/计数器1中断;反之禁止。
⑷EX1是外部中断INT1中断允许位。EX1=1时,允许外部中断1中断;反之依然。
AT89C51串口通信编程
一、前言
本文档是为单片机初学者写的有关串口通讯编程的说明文档。使用的单片机硬件是最通用的AT89C51单片机,编程语言为c语言。本文档不是系统的介绍单片机知识的教程,而是为了使您尽快掌握串口编程方法的技术说明。
本文档前几部分大量内容摘自平凡老师的单片机教程,此教程是单片机入门的良好教材,但由于那本教程是由汇编语言描述的,对于时间不充足的同学来说,学习汇编会浪费一些时间,所以我还是整理了我们要了解的内容写到了本文档中。对于时间比较充分,也有兴趣学习汇编语言的同学可以先阅读平凡老师的“单片机教程”,然后从本文档第六部分看起。
二、单片机的基本认识
一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。
天!电脑中的CPU一块就要卖上千块钱,这么多东西做在一起,还不得买个天价!再说这块芯片也得非常大了。
不,价格并不高,从几元人民币到几十元人民币,体积也不大,一般用40脚封装,当然功能多一些单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只8只引脚。
为什么会这样呢?
功能有强弱,另外这种芯片的生产量很大,技术也很成熟,51系列的单片机已经做了十几年,所以价格就低了。 既然如此,单片机的功能肯定不强,干吗要学它呢?
话不能这样说,实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用P4?应用的关键是看是否够用,是否有很好的性能价格比。
实现一个发光二极管的闪烁体会对单片机的c语言编程
实验三定时器实验实验报告
一、实验目的
1. 掌握定时器的基本概念;
2. 学会使用定时器;
3. 了解定时器的各种使用方法。
二、实验原理
1. 定时器:
定时器是单片机中一个重要的外设,是用来控制时间的。AT89C51单片机中有2个定时器,它们分别是定时器0和定时器1。定时器0和定时器1可以看作计时器,其作用是在每个指令的执行周期内加1,当计数器的值超过计数器的初始值后,会产生相应的中断信号来通知CPU。
2. 定时器的通用计数器模式:
此模式中,定时器是单纯的计数器,没有和任何外设相连接,它的原理就是在每个时钟周期中向计数器加1,当计数器溢出时,就会产生中断信号,可以用来进行时间的计数,确定时间精度等应用。
此模式中,定时器将会和外部的时钟源相连接,通过在计数器内部计数,从而控制波形的输出,这种模式的应用非常广泛,如计时器、计时器、PWM波产生器等。
三、实验内容
在本次实验中,我们将使用定时器的通用计数器模式来进行操作,首先需要配置定时器的工作模式,因为单片机中的定时器还有其他的工作模式,所以需要进行选择。
2. 设置定时时间及启动定时器
在定时器配置好之后,需要将定时时间设置成所需的时间,并且启动定时器开始计时。
3. 检测中断并作出响应
当定时器达到所设的时间时,会产生相应的中断信号,CPU会检测该中断信号并作出响应。
四、实验步骤 首先选择所需的定时器,并进行相应的设置,比如计数器的内部工作频率,计时模式等。
根据需要的计时时间,将计数器的初始值设为所需的时间,在程序中添加相应的启动定时器的指令。
五、实验结果
本次实验中,我们学会了使用定时器,并掌握了定时器的基本原理和使用方法,以及具体的应用方法。定时器的应用非常广泛,是单片机的一个重要外设,相信在今后的学习和工作中,我们将会用到它,并更好地掌握它的应用。
AT89C51单片机简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图片见下图:
查看外形图及大图点击此处
1.主要特性:
·与MCS-51 兼容
·4K字节可编程闪烁存储器
寿命:1000写/擦循环
数据保留时间:10年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线 ·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
1
第一章 概述
本设计介绍了以AT89C51单片机为主控件的超声波测距仪的工作原理、器件选择、硬件和软件的设计。硬件主要由超声波发射、接收检测电路和显示电路组成。该系统测量精度高,能够清晰地显示测量结果,可应用于汽车倒车雷达、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。
用于距离测量的超声波一般是指频率为40kHz的机械波。利用其指向性强。能量消耗缓慢,传播距离远,遇到障碍物会发生反射等特性进行距离的测量。通过超声波发射传感器向某一方向发射超声波,在发射时刻的同时开始计时。当声波遇到障碍物返回时。接收器接收到反射波信号后定时器停止计时。利用声波在空气中传播的速度和时间的乘积就可以得到被测障碍物的距离。本系统采用AT89C51单片机为主控器件来完成测量过程中信号的采集、控制和数据的处理,测量结果通过LCD1602显示。测量过程中与被测物体没有直接接触。
2
第二章 系统分析
第一节 超声波测距的原理
图1 超声波测距原理图
图1示意了超声波测距的原理,即超声波发生器T在某一时刻发出一个超声波信号,当该信号遇到被测物体后反射回来,被超声波接收器R所接收到。计算从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。
计算公式为: d = s/2 = (Vxt)/2 (1)
式中:d为被测物与测距仪的距离;s为声波来回的路程;v为声速;t为声波往返所用的时间。
在测量中需要考虑两个参数:声速和发射脉冲个数。声速的精确程度决定了测量精度。声速与温度有关,测距仪多用于常温测量距离较短,如温度变化不大,则可认为声速是基本不变的,约为344m/s。如测距精度要求很高,则应通过温度补偿的方法加以校正。为增强系统可靠性,应在软硬件上采用抗干扰措施。发射超声波脉冲个数决定测距仪测量盲区,影响测量精度,同时与信号发射能量有关。发射脉冲个数少,可提高测量精度,但减少了发射能量对接收回波不利;脉冲个数过多会增加测量盲区。在设计中经过比较,选择发射5个40kHz的脉冲方波作为测量信号。