单片机60秒倒计时 - 图文

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

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

太原理工大学 课 程 设 计 说 明 书

课程名称:《单片机六十秒倒计时》 设计题目: 单片机六十秒倒计时 院 系: 矿业工程学院 学生姓名: 学 号: 2011002810

专业班级: 采矿1109班 指导教师: 崔老师

目 录

1目录 ............................................... 2 2前言 ............................................... 3 3设计方案 ........................................... 4

3.1 设计目的与要求 ............................................................................................... 4 3.2 设计方法的目标 ............................................................................................... 4 3.3 设计方法和内容 ............................................................................................... 5 3.3.1硬件设计方法 ................................................................................................. 5 3.3.2软件设计方法 ............................................................................................... 10 3.4 软件调试过程 .................................................................................................. 10 3.4.1 系统调试工具keil C51 ..................................................................... 12 3.4.2 系统调试工具PROTEUS ....................................................................... 14 3.4.3仿真截图 .......................................................................................................... 16 4设计心得体会 ...................... 错误!未定义书签。 5源程序 ............................ 错误!未定义书签。 6实物图硬件图 ...................... 错误!未定义书签。 7参考文献 ............................................................................................................................. 22

前 言

在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。

单片机就是微控制器,它是嵌入式系统中的重要且发展迅速的组成部分。单片机接上震荡元件(或震荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,它就成为众多产品、设备的智能化核心。所以,生产企业称单片机为“微电脑”。

单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。 但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。

近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。

本篇论文讨论了简单的倒计时器的设计与制作 ,对于倒计时器中的LED数码显示器来说,

我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

3.1 2方案设计

设计方案

2.1课程设计目的

2.1.1巩固和加深对单片机原理和接口技术知识的理解; 2.1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;

2.1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件

的设计和调试方法;

2.1.5能按课程设计的要求编写课程设计报告,能正确反映

设计和实验成果,能用计算机绘制电路图和流程图。

2.1.6通过单片机课程设计,熟练掌握汇编语言的编程方法,

将理论联系到实践中去,提高我们的动脑和动手的能力。

2.1.7对于单片机控制的60s倒计时的要求如下:

(1)用单片机AT89C51的定时器实现60s倒计时。本例中用两位数码管静态显示倒计时秒值。

(2)用PROTEUS软件设计,仿真基于AT89c51单片机的60s倒计时实验。

3.2 设计方法的目标

通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法。通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。

3.3 设计方法和内容

本设计由硬件设计和软件设计两部分组成,总电路如图1所示,硬件设计主要包括单片机芯片选择,数码管选择及晶振,电容,电阻等元器件的选择及其参数的确定;软件设计主要是实现60秒倒计时程序的编写,包括利用中断实现1秒的定时及60秒的倒计时。

具体设计:通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM –ANODE型号数码管,分十位控

制和个位控制,达到显示60秒倒计时的目的。通过复位电路,在仿真过程中点击开关实现60复位。

3.3.1硬件设计方法 AT89C51的芯片概述

AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 其工作电压在4.5-5V,一般我们选用+5V电压。外形及引脚排列如图2所示 : AT89C51主要特性

图2:89C51的核心电路框图

·与MCS-51 兼容

·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环

·数据保留时间:10年 ·全静态工作:0Hz-24MHz ·三级程序存储器锁定 ·128×8位内部RAM ·32可编程I/O线

·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道

·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 AT89C51管脚说明

(1)电源及时钟引脚(4个) Vcc: 电源接入引脚 Vss:接地引脚

XTAL1:晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地);

XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端)。

(2)控制线引脚(4个)

RRST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,

每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令(3)并行I/O引脚

经综合对本系统的分析,选用AT89C51单片机就非常合适,

AT89C51有P0,P1,P2,P3四个外部接口,介绍如下:

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入端用。

在访问外部数据存储器或程序存

储器时,P0口被分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。

P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,

P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。

P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流。

所需器件如下表所列:

序号 1 2 3 4 5 6 7 元件类型 芯片 晶振 电源电容 电容 电阻 电阻 数码管 元件参数 AT89C51 12M 10UF 30PF 10K 470 8段 元件个数 1 1 1 2 1 14 2 备注 共阳

LED数码管显示器概述

本设计中采用的是7SEG–COM –ANODE型号数码管,它是一种半导体发光器件,其基本单元是发光二极管。实物如图3所示:

图3 7SEG–COM –ANODE型号数码管

数码管的分类

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。

LED数码管有两种连接方法如下:

共阳极接法。把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。

共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。

2 仿真起始运行图:

3 仿真结束运行图:

4. 设计心得体会

回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。例如我们在设计数码管显示的时候,刚开始的时候,由于对数码管引脚的不熟悉,我们都无法让数字显示,后来发现时十位和个位的置位、复位发生了问题,我们对此进行了修改,可以正确的显示出十位及个位的数值,但是数字的显示不稳定,不停的跳动,我们为此查阅了很多的资料,但还是未能解决,最后我们不停地对程序进行修改,终于发现了问题所在,在显示子程序上存在缺陷未能快速的切换对十位、个位的置位和复位,经过这样的修改,终于可以完美的显示时间了。我们也更好地掌握了对数码管的使用,这都是课堂上学不到的知识。

单片机为我们的主要专业课之一,对我们还是很有帮助的,课程设计也是为我们以后的工作提前进行了一次练手,也是我们学习生活之中少有的一次自己探索、研究,发现问题、解决问题的机会。当然要做好一个课程设计也不是很简单的,我认为有以下几步:

(1)在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;

(2)要有一个清晰的思路和一个完整的的软件流程图,善于将大的程序段缩小为每个子函数来实现;

(3)在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;

(4)要养成注释程序的好习惯,写程序是应该思路清晰,结构明了,应该让人一看就能明 白你的思路,方便资料的保存和交流;

(5)我们们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的 ;

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,或者与其他小组成员讨论,共同解决,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。通过这次课程设计我们也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

通过这次课程设计使我更加懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正将一个东西学好学透,从而提高自己的实际动手能力和独立思考的能力。我想这

对于我今后的学习生活和工作都会是有很大帮助的!

5. 软件程序:

ORG 00H SJMP STAR ORG 1BH

SJMP 程序

ORG STAR: MOV MOV 数器R4初值为20

MOV MOV MOV MOV SETB ACALL SJMP TIS: MOV MOV DJNZ MOV DJNZ CLR 定时器

T1S0: ACALL T1S1: RETI; SEG7: INC T1S; 30H

R2,#60; R4,#20; IE,#88H; TMOD,#10H; TH1,#3CH; TL1,#OBOH; TR1; DIS; $

TH1,#3CH; TL1,#0B0H; R4,T1S1; R4,#20; R2,T1S0; TR1; DIS; A; 转T1中断服务倒计时初值 定时中断溢出计T1开中断 T1方式1 定时初值 定时初值 启动T1

调用显示子程序中断程序 重装初值 定时1S到否 到1S,重置R4=20倒计时递减 倒计时结束,关调显示 中断返回 A的值加一

MOVC A,@A+PC; 取显示断段 RET

DB 0C0H,0F9H,0A4H,0B0H; 0至3的共阳型显示码

DB 99H,92H,82H,0F8H; 4至7的共阳型显示码

DB 80H,90H,88H,83H; 示码

DB 0C6H,0A1H,86H,8EH; 码

DIS: MOV A,R2; 数转为十进制数

MOV B,#10 DIV AB ACALL SEG7

MOV P1,A; MOV A,B ACALL SEG7

MOV P2,A; RET; END 实物图

8至B的共阳型显C至F的共阳型显示 单字节十六进制 显示十位 显示个位 子程序返回

硬件图

7.参考文献

【1】.肖金球.单片机原理与接口技术;

【2】.江志红.51单片机技术与应用系统开发案例精选; 【3】.周润景.基于PROTEUS的51单片机设计与仿真; 【4】.王守中.51单片机开发入门与典型实例; 【5】.张齐.朱宁西.单片机系统设计与开发; 【6】.周立功单片机开发网; 【7】.天津锐志单片机开发网.

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

Top