定时器1方式1初始化的C语言程序,基于定时器计数单片机仿真C语言开发.doc

基于定时器计数单片机仿真C语言开发

PAGE I

摘 要

本次能力拓展的要求是要求实现利用定时器中断方式或查询定时器溢出标志方式从P口输出给定周期的方波。在此基础上,我决定进行一些拓展,使其能实现输出方波的频率和占空比可调。如果以调节变阻器的阻值来实现频率的调节相对来说要麻烦些,所以我们决定用按键来调节频率和占空比,而以键盘扫描来实现各键的不同功能。

关键字:定时器;中断;方波

PAGE 20

概述

单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。 本课题讨论的方波发生器的核心是目前应用极为广泛的 51系列单片机。其内部包括:

一个8位的CPU;

4KB程序存储器ROM;

128字节RAM数据存储器;

两个16位定时/计数器;

可寻址64KB外部数据存储器和64KB外部存储空间的控制电路;

32条可编程的I/O线(4个8位并行I/O端口);

一个可编程全双工串行口;

具有两个优先级嵌套接口的5个中断源;

总体设计方案

2.1 方案介绍

在电子技术领域中,实现方波发生器的方法有很多种,可以采用不同的原理及器件构成不同的电路,但可以实现相同的功能。在此次课设中,微处理器模块使用AT89C51。本设计中用到两个定时器,定时器0和定时器1,其中定时器0工作在定时方式下,决定方波的频率;定时器1同样工作在定时方式下,用于设定占空比。键盘的操作是通过外中断与单片机共同来控制的,键盘操作来完成按要求对频率与占空比进行调节。P0.7为方波输出口,它连接一个示波器即可观察输出的方波了。

2.2 方波发生器原理与功能

方波发生器原理框图如图2.1所示:

频率与占空比调节

频率与占空比调节

输出方波

输出方波

示波器AT89C51 单片机 键盘

示波器

AT89C51 单片机

键盘

图2.1 方波发生器原理框图

由于系统的要求不高,比较单一的,再加上我们是通过定时器来调节频率的,而非电阻,因此实现起来就相对简化了。仅用键盘、AT89C51及示波器便可完成设计,达到所要求实现的功能。

方波发生器工作原理与功能:

简单的流程为:主程序扫描键盘,将设置信息输入,处理后,输出到示波器显示。单片机的晶振为11.0592MHz,用到了两个定时器,即定时器0与定时器1,分别进行频率与占空比的定时,两个定时器都是工作在方式1。根据计算定时器初值的公式:

(式2-1)

计算出定时器0与定时器1所要装入的初值,然后将工作方式控制字写入TMOD寄存器,再将和寄存器,最后启动定时器,即将置位。如果工作于中断方式,需置位EA(中断总开关)及(允许定时/计数器中断),并编中断服务程序。

此电路的键盘是由一个状态键,四个功能键(调节频率与占空比的增减)组成,其特殊之处在于利用外部中断实现键盘扫描。状态键有三种状态,当其处于状态0时,则其它的键会处于无用状态;当其处于状态1时,可通过按四个调节键来调节频率;当处于状态2时,按四个调节键中的前两个便可对占空比进行调节了;当处于状态3时,又会回到状态0,此时正常显示方波。

系统硬件设计

3.1 AT89C51简介

单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路,又称MCU。

其以体积小、功能全、性价比等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。如果说C语言程序设计课程设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。其管脚图如右图所示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值