单片机60秒倒计时

单片机60秒倒计时
单片机60秒倒计时

目录

1前言 (1)

2工程概况 (2)

3正文 (2)

3.1 设计目的与要求 (2)

3.2 设计方法的目标 (2)

3.3 设计方法和内容 (2)

3.3.1硬件设计方法 (3)

3.3.2软件设计方法 (7)

3.4 软件调试过程 (9)

3.4.1 系统调试工具keil C51 (9)

3.4.2 系统调试工具PROTEUS (9)

3.4.3焊接电路,对各节点测试导通性 (10)

4有关说明 (11)

5设计总结 (11)

6致谢 (11)

7参考文献 (11)

前言

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

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

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

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

本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

工程概况

本次课程设计的主要概况是了解单片机控制的60s倒计时的过程。是利用定时器和计数器的原理将倒计时过程显示在LED数码管上。最后应用PROTEUS软件设计,仿真基于

AT89c51单片机的60s倒计时实验。通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。

正文

3.1 设计目的与要求

课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。

课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。

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

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

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

3.2 设计方法的目标

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

3.3 设计方法和内容

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

具体设计:通过A T89C51型号单片机,由P1和P2两组I/O引脚分别控制两个

7SEG–COM –ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时的目的。通过复位电路,在仿真过程中点击开关实现60复位。

图1 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个)

RST/Vpd:复位信号输入引脚/备用电源输入引脚;

ALE:地址锁存允许信号输出引脚/编程脉冲输入引脚:

EA:内外存储器选择引脚/片外EPROM编程电压输入引脚;

PSEN:外部程序存储器选通信号输出引脚。

(3)并行I/O引脚

P0.0-P0.7:一般I/O口引脚或数据/低位地址总线复用引脚;

P1.0-P1.7:一般I/O口引脚;

P2.0-P2.7:一般I/O口引脚或高位地址总线引脚;

P3.0-P3.7:一般I/O口引脚或第二功能引脚

所需器件如下表所列

LED数码管显示器概述

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

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

数码管的分类

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

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

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

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

图4 LED数码管有两种连接方法

测量数码管引脚,分共阴和共阳两类:

找公共共阴和公共共阳:首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED (一般是8个),那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表

笔是电源的负极。

3.3.2软件设计方法

图5 程序框图

定时/计数器初值计算

(1)本电路应用TIMER0 MODE 16位计数器的计时中断法。

(2)1秒等于1000000微秒,而每一计时脉冲是1微秒,因此需输入100000个计时脉冲,方可达到1秒的时间。本设计中,设定中断每次溢出时间50ms。

(3)由上式得知,循环20次即可达到1秒定时,即:

N=t/Tcy=0.05s/0.000001=5000

X=65536-5000=15536=3CB0H

(4)由上式得知5000个脉冲,首先需设定TL0=3CH,TH0=0B0H,此时第1次只要输入5000个脉冲输入,就会溢出;第2次至第20次,则需每1000000个计时脉冲,定时1秒。

(5)上电时,显示60,开始倒数计时按下开关实现复位。

软件程序

ORG 00H

SJMP STAR

ORG 1BH

SJMP T1S; 转T1中断服务程序

ORG 30H

STAR: MOV R2,#60;倒计时初值

MOV R4,#20;定时中断溢出计数器R4初值为20 MOV IE,#88H; T1开中断

MOV TMOD,#10H; T1方式1

MOV TH1,#3CH;定时初值

MOV TL1,#OBOH;定时初值

SETB TR1;启动T1

ACALL DIS;调用显示子程序

SJMP $

TIS: MOV TH1,#3CH; 中断程序

MOV TL1,#0B0H; 重装初值

DJNZ R4,T1S1; 定时1S到否

MOV R4,#20; 到1S,重置R4=20

DJNZ R2,T1S0; 倒计时递减

CLR TR1; 倒计时结束,关定时器

T1S0: ACALL DIS;调显示

T1S1: RETI;中断返回

SEG7: INC A; 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; 8至B的共阳型显示码

DB 0C6H,0A1H,86H,8EH; C至F的共阳型显示码

DIS: MOV A,R2;单字节十六进制数转为十进制数 MOV B,#10

DIV AB

ACALL SEG7

MOV P1,A;显示十位

MOV A,B

ACALL SEG7

MOV P2,A;显示个位

RET;子程序返回

END

3.4 软件调试过程

3.4.1 系统调试工具keil C51

Keil C51 仿真器是一款利用KEIL C51 的IDE 集成开发环境作为仿真环境的廉价仿真器,是利用SST公司具有IAP功能的单片机SST89C58制作而成,主要是利用了SST89C58的IAP 功能,所谓IAP功能是In application program 的英文缩写,是在应用编程的意思,通俗一点讲就是:它可以通过串口将用户的程序下载到单片机中,可以通过串口对单片机进行编程。它之所以具有这种功能,实际上它有两块程序flash区,其中一块flash中运行的程序可以更改另外的一块程序flash区中的程序,正是利用这一特性才用它作成了仿真器,我们把仿真器的监控程序事先烧入SST89C58,监控程序通过SST89C58的串口和PC通讯,当使用KEIL C51的IDE环境仿真时,用户的程序通过串口被监控程序写入flash程序区中,当用户设置断点等操作仿真程序时,flash程序中的用户程序也在相应的更改,从而实现了仿真功能。

调试的主要方法:

1. 启动Keil c51

2. 新建一个工程。Project菜单—〉New project ,选择好我们要保存的文件夹后,键入Frist 保存。接着弹出CPU类型选择框,我们选择最常用的AT89C51,按确定。

3. 在工程中加入文件。新建一个文件,文件菜单File—〉New,我们再选择:文件菜单File—〉Save As? (另存为)弹出对话框后,我们文件名框中键入First.c(注意文件后缀名是 .c)保存。C文件建好啦。现在我们把文件加入到工程中去。点击Target 1前面的+号,右键单击Source Group 1—〉选择Add Files to Group,Source Group 1,选择添加 Add。编译运行,检查程序是否有错误。

3.4.2 系统调试工具PROTEUS

Proteus是一款EDA软件,该软件具有模拟电路仿真,数字电路仿真,单片机以及外围电路组成的系统的仿真,RS-232动态仿真,I2C调试器,SPI调试器,键盘和LCD系统的仿真,以及各种虚拟仪器,如示波器,逻辑分析仪,信号发生器等。该软件目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、ARM以及各种外围芯片。该软件还支持大量的存储器和外围芯片,所以,该软件是一款集单片机和SPICE分析于一身的仿真软件。

调试方法:首先用Keil软件将C编译成HEX文件,打开Keil软件,新建一个文档,输入C 程序,保存成C格式文件,然后新建工程,连接单片机为AT89C51,选择Options for target,选择OUTPUT子菜单,在Create HEX Fi前打钩,DeBug子菜单中,Settings选择ProteusVSM Simulator,USE前打钩,再次运行文件,成功后在目录下会生成HEX文件,打开Proteus软件,或直接点击DSN文件,双击单片机模板,点击文件夹式样的图标选择对应的HEX驱动文件,然后点击开始,进行调试。

图6 仿真图

图7 实物图

3.4.3焊接电路,对各节点测试导通性

经过精心布局之后,下面就要开始硬件的焊接了。因为是第一次接触焊接,所以在开始之前,老师先让我们在坏板子上进行联系,并给我们详细讲解了焊接所必须注意的事项。经过一番训练之后,我们开始了实物焊接。焊接是一项细心的工作,稍不小心就会将万能版烧

坏。进过细心的焊接之后,各节点之间表面上看放佛已经接通了。但是我们还必须经过测量才能确定各点是否已经连通。确定各点连通之后,然后将程序烧录到单片机中,插入插槽,连通电源。

有关说明

单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。

设计总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

致谢

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于完成了设计要求。同时,在老师那里我学得到很多实用的知识,在次我表示感谢!最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

此外从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,我认为这就是我在这次课程设计中的最大收获。

参考文献

[1]李全利.《单片机原理及应用技术》高等教育出版社。

[2]吴金荣.《8051单片机实践与应用》清华大学出版社。

[3] 张迎辉贡雪梅.《单片机实训教程》北京大学出版社。

[4] 解广润.电力系统接地技术.北京:水利电力出版社.2002.

[5] 李朝清.单片机原理及口技术.北京航空航天大学出版社.2005.

[6] 高卫东.51单片机原理与实践. 北京航空航天大学出版社.2008.

[7] 江志红. 51单片机技术与应用系统开发.青华大学出版社.2008.

[8] 王守中. 51单片机应用开发速查手册.人民邮电出版社.2009.

[9] 徐建民.汇编语言程序设计.电子工业出版社.2007.

单片机60秒倒计时

目录 1前言 (1) 2工程概况 (2) 3正文 (2) 3.1 设计目的与要求 (2) 3.2 设计方法的目标 (2) 3.3 设计方法和内容 (2) 3.3.1硬件设计方法 (3) 3.3.2软件设计方法 (7) 3.4 软件调试过程 (9) 3.4.1 系统调试工具keil C51 (9) 3.4.2 系统调试工具PROTEUS (9) 3.4.3焊接电路,对各节点测试导通性 (10) 4有关说明 (11) 5设计总结 (11) 6致谢 (11) 7参考文献 (11)

前言 在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。 单片机就是微控制器,它是嵌入式系统中的重要且发展迅速的组成部分。单片机接上震荡元件(或震荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,它就成为众多产品、设备的智能化核心。所以,生产企业称单片机为“微电脑”。 单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。 本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

课程设计_单片机__60秒秒表汇编

目录 前言 (2) 1.总体设计方案 (3) 2硬件设计方案 (3) 2.1 电路原理 (3) 2.2 电路原理图 (4) 3.软件设计(加流程图) (6) 3.1函数流程图 (6) 3.2 算法描述 (9) 3.3源程序 (10) 4系统的安装调试 (11) 5课程设计总结与体会 (12) 6.参考文献 (14)

前言 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。单片微型计算机简称单片机,是典型的嵌入式微控制器单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。由于单片机在工业控制领域的广泛应用,单片机由仅有CPU的专用处理器芯片发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 本次课程设计要求制作一个秒表,开始时,显示“00”,第1次按下按钮后就开始计时;第2次按按钮后,计时停止;第3次按按钮后,计时归零。

单片机定时器详解

一、MCS-51单片机的定时器/计数器概念 单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机的只有1MHZ的稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的,这个准确的时间间隔是1微秒; MCS-51单片机外接的是12MHZ的晶振(实际上是,所以,MCS-51单片机内部的工作频率(时钟脉冲频率)是12MHZ/12=1MHZ=1000000次/秒=1000000条指令/秒=1000000次/1000000微秒=1次/微秒=1条指令/微秒;也就是说,晶振振荡一次,就会给单片机提供一个时钟脉冲,花费的时间是1微秒,此时,CPU会执行一条指令,经历一个机器周期;即:1个时钟脉冲=1个机器周期=1微秒=1条指令; 注:个人PC机上的CPU主频是晶振经过倍频之后的频率,这一点恰好与MCS-51单片机的相反,MCS-51单片机的主频是晶振经过分频之后的频率; 总之:MCS-51单片机中的时间概念就是通过计数脉冲的个数来测量出来的;1个脉冲=1微秒=1条指令=1个机器周期; MCS-51单片机定时器/计数器的简单结构图: 8051系列单片机有两个定时器:T0和T1,分别称为定时器和定时器T1,这两个定时器都是16位的定时器/计数器;8052系列单片机增加了第三个定时器/计数器T2;它们都有定时或事件计数功能,常用于时间控制、延时、对外部时间计数和检测等场合; 二、定时器/计数器的结构

单片机课程设计-30秒倒计时

《30秒倒计时计时器》 课 程 设 计 专业班级:电子信息科学与技术3班 姓名:韩飘飘(080212131) 熊元甲(080212132) 蔡正军(080212133) 指导教师:郭玉 设计时间:2013-2014学年第二学期 物理与电气工程学院 2014年5月28日

目录 题目,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 目录,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2 第一章方案论证,,,,,,,,,,,,,,,,,,,,,,,,,,,,3 1.1课程设计的目的和要求,,,,,,,,,,,,,,,,,,,,3 1.2总体设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 第二章硬件设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 2.1CPU部分,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 2.2 LED数码管显示器概述,,,,,,,,,,,,,,,,,,,,5 2.3其他元器件介绍及参数选择,,,,,,,,,,,,,,,,,7第三章软件设计,,,,,,,,,,,,,,,,,,,,,,,8 第四章 4.1实验调试及结果(照片),,,,,,,,,,,,,,9 4.2 心得体会,,,,,,,,,,,,,,,,,,,,,,,,,,,,9 附录A: 软件程序,,,,,,,,,,,,,,,,,,,,,,,,,10 附录B: 参考文献,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12

第一章方案论证 1.1课程设计目的和要求 (1)目的 课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。 课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。(2)要求 用单片机80C51的定时器实现30s,20s倒计时。本例中用两位数码管静态显示倒计时秒值。 (3)目标 通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法。通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。

单片机课设60秒计时器

单片机课程设计说明书 题目:00—60秒表设计 学院:机电工程学院 专业:机械设计制造及其自动化 学生:xxx 学号:xxx 指导教师单位:xxx 姓名: xxx 2013年12月13日

摘要 60秒计时器以单片机为核心,由计时器,控制器等组成。系统采用模块化设计,主要分为计时器显示模块和按键控制模块。每个模块的程序结构简单,任务明确,易于编写、调试和修改。编程后利用Kcil软件来进行编译,在生成HEX文件装入芯片中,在通过调试实现60s计时功能。本设计中系统硬件电路主要是由以下几个部分组成:单片机AT89C51、振荡电路、显示电路和按键开关。该系统具有60s准确计时和计时清零的功能。 关键字:单片机,计时,显示,60s计时,复位清零

目录 前言 (1) 一、概述 (1) 1.1、课程设计任务与目的 (1) 1.2、总体方案设计 (2) 1.2.1、设计方案框图 (2) 1.2.2、硬件方案 (2) 1.2.3、软件方案 (2) 二、系统硬件设计 (3) 2.1、电路总体设计方案 (3) 2.2、电路原理图 (3) 2.3、各硬件模块设计与制作 (3) 2.3.1、AT89C51单片机设计 (3) 2.3.2、晶振输入电路设计 (6) 2.3.3、复位电路设计 (7) 2.3.5、数码管显示部分电路 (8) 2.3.6、绘制原理图. (10) 2.3.7、生成PCB图 (11) 2.3.8、制作PCB板 (11) 2.3.9、钻孔,并焊接芯片 (12) 2.4、遇到的问题与解决办法 (13) 三、系统软件设计 (14) 3.1、软件总体设计方案 (14) 3.2、程序流程图 (16) 3.3、部分重要模块汇编程序: (16) 四、系统调试 (17) 4.1、软件调试 (17) 4.2、硬件调试 (18) 五、系统功能 (19) 六、总结 (19) 七、附录 (19) 八、参考文献 (21)

AT89C51单片机设计60s倒计时

目录 一、课程设计的目的、要求和设计目标 (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、目的

单片机课程即将结束, 课程的最后一项是单片机的课程设计。通过课程设计, 我们要将在一个学期中所学的东西进行整理、归纳, 要把学到的知识转化成实际的运用,进一步的了解单片机的实质。通过动手设计,深入学习,体验单片机在日常生活中的运用,提升专业知识。 课程设计的总体包括:对单片机的了解、运用,设计思路的解析,报告文字的处理等。通过一系列的实际操作, 完善对课程的学习, 提升自我的学习能力和动手能力。 2、要求 (1用单片机 AT89C51的定时器实现 60s 倒计时。本例中用两位数码管静态显示倒计时秒值。 (2用 PROTEUS 设计,仿真基于 AT89c51单片机的 60s 倒计时实验。 (3通过 Keil uVision2软件,生成 .HEX 格式程序并植入 AT59C51单片机并调试、运行。 3、目标 通过自主完成课程设计内容, 整理学期中所学到的知识, 了解单片机的程序过程和一系列的基础操作,将理论和实践相结合,完善课业。 二、硬件要求 1、 AT89C51的芯片 芯片概述 AT89C51是一个低功耗,高性能 CMOS 8位单片机,片内含 4k Bytes ISP的可反复擦写 1000次的 Flash 只读程序存储器, 器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51指令系统及 80C51引脚结构,芯片内集成了通用

tsshutdn 60秒倒计时关机命令

tsshutdn 60秒倒计时关机命令 utilman 辅助工具管理器 wiaacmgr 扫描仪和照相机向导 winchat Windows XP自带的“聊天”系统winmsd 系统信息 winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构wupdmgr Windows更新程序 write 打开“写字板” wscript Windows脚本宿主设置 mstsc 远程桌面连接 narrator 打开“讲述人” netstat -an 命令检查接口 net start messenger 开始信使服务 net stop messenger 停止信使服务 notepad 打开“记事本” nslookup IP地址侦测器 ntbackup 系统备份和还原 ntmsmgr.msc 移动存储管理器ntmsoprq.msc 移动存储管理员操作请求odbcad32 ODBC数据源管理器 oobe/msoobe /a 检查XP是否激活 osk 打开屏幕键盘 packager 打开“对象包装程序” perfmon.msc 计算机性能监测程序progman 程序管理器 regedit.exe 打开“注册表编辑器” regedt32 打开“注册表编辑器” regsvr32 /u *.dll 停止DLL文件运行regsvr32 /u zipfldr.dll 取消ZIP支持rononce -p 15秒关机 rsop.msc 组策略结果集 secpol.msc 本地安全策略 services.msc 本地服务设置 sfc.exe 系统文件检查器 sfc /scannow Windows文件保护 shrpubw 创建共享文件夹 sndrec32 打开“录音机” sndvol32 音量控制程序 sigverif 文件签名验证程序 syncapp 创建一个公文包

60秒计时器

单片机课程设计说明书 单片机课程设计说明书 题目: 00—60秒表设计学院:机电工程学院 专业:机械设计制造及其自动化学生姓名: xxx 学号: xxx 指导教师单位: xxx 姓名: xxx 2013年12月13日

摘要 60秒计时器以单片机为核心,由计时器,控制器等组成。系统采用模块化设计,主要分为计时器显示模块和按键控制模块。每个模块的程序结构简单,任务明确,易于编写、调试和修改。编程后利用Kcil软件来进行编译,在生成HEX文件装入芯片中,在通过调试实现60s计时功能。本设计中系统硬件电路主要是由以下几个部分组成:单片机AT89C51、振荡电路、显示电路和按键开关。该系统具有60s内准确计时和计时清零的功能。 关键字:单片机,计时,显示,60s计时,复位清零

前言 我们的任务是设计60s秒表计时器,用AT89C51单片机的定时/计数器T0产生一秒的定 时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始,实现0到60秒的循环显示的功能。 现代计时器是用数字集成电路做成的现代计时器,与传统的机械钟相比,走时准确、显示直观(有荧光七段数码显示器)、无机械传动装置等优点。而且钟表的数字化给人 们生产生活带来了极大的方便。广泛用于个人家庭,车站,码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英振荡器的广泛 应用,使得数字计时表的精度远远超过老式钟表,钟表的数字化给人们生产生活带来 了极大地方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、校时自 动打铃、时间程序自动控制、定是广播、自动启闭路灯、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字计时器及扩大其应用有着非常现实的意义。 一.概述 1.1课程设计的任务与目的 课程设计任务: 用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,一秒产生时,秒计数加1,秒计数到60时,自动从0开始。额外拓展,一 个按键,实现从0开始重新计时。 课程设计目的: 课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的 训练,进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步 学习的热情,因此课程设计是必不可少的,是非常必要的。 课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握应用得的专门性实践类课程,通过典型实际问题的 实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统 设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。 通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法,通过做一个综合性训练题目,达到对内容 的消化、理解并提高解决问题的能力的目的。 1.2、总体方案设计

单片机60秒倒计时

摘要 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具应用对象特点的软件结合,以作完善。模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。 本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。 关键词:单片机,软件,倒计时器,LED数码显示器。

目录 1.设计任务 (1) 2.设计的主要内容和要求 (1) 3.整体设计方案 (1) 4. 软件电路设计 (2) 4.1定时计数器初值运算 (2) 4.2程序框图设计 (2) 4.3程序代码 (3) 5. 硬件设计 (4) 6. 基于Proteus的电路仿真 (6) 6.1 系统调试工具PROTEUS (6) 6.2 总线路图 (6) 6.3运行结果 (7) 总结 (7) 参考文献 (8)

单片机系统课程设计 1.设计任务 设计一个基于单片机MCS-51的显示系统,要求实现以下功能: 1.在单片机系统与硬件开发过程中,与数码管和液晶屏显示器等显示仪器,本课程设采用的采用的显示仪器为数码管。 2.用keil 软件编写一个60秒倒计时时钟程序,且用两位数码管显示时间。 3.用单片机的定时器产生一秒的定时时间,作为秒倒计时间,当一秒产生时,秒计数自动减一,当秒计数到00时,自动又从59开始倒计数。 2.设计的主要内容和要求 1.基于单片机实现对数码管的控制。 2.在开始,数码管是关闭的,什么也不显示,当所编写的源程序下载到单片机中并 开始运行时,两位数码管会显示相应的变化时间。 3.整体设计方案 AT89C51单片机的内部16的内部16位定时器是一个可编程计时器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。只要通过设置特殊功能寄存器TMOD ,即可完成方式的选择。计数器何时工作也是通过软件来设定TCON 特殊功能寄存器来完成的。整体设计方框图如图1。 图1 60秒倒计时整体方框图 电源 单片机 复位电路 数码管 时钟电路

单片机设计(流水灯、矩阵键盘、数码管倒计时)

单片机结业作业 1.电路图 2.程序: #include sbit P1_6=P1^6; sbit P1_7=P1^7; unsigned char code led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char clock[2]={59,59}; //60秒倒计时缓冲数组 unsigned char *dis_p; unsigned char keytest(); //键盘检测函数 unsigned char search(); //查键值函数 void display(unsigned char *p); //显示函数 void main() { unsigned char i,a,c; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; dis_p=clock;

while(1) { P0=0x80; c=P0; for(i=0;i<8;i++) { c>>=1; P0=c; a=keytest(); if(a==0x0f) display(dis_p); else { display(dis_p); a=keytest(); if(a!=0x0f) { P3=0x00; a=search(); switch(a) { case 0x00:P2=0x3f;break; case 0x01:P2=0x06;break; case 0x02:P2=0x5b;break; case 0x03:P2=0x4f;break; case 0x04:P2=0x66;break; case 0x05:P2=0x6d;break; case 0x06:P2=0x7d;break; case 0x07:P2=0x07;break; case 0x08:P2=0x7f;break; case 0x09:P2=0x6f;break; case 0x0a:P2=0x77;break; case 0x0b:P2=0x7c;break; case 0x0c:P2=0x39;break; case 0x0d:P2=0x5e;break; case 0x0e:P2=0x79;break; case 0x0f:P2=0x71;break; default:break; } while((a=keytest())!=0x0f); } } } } }

51单片机中断系统详解

的定时器中断后便认为是1s,这样便可精确控制定时时间啦。要计50000个数时,TH0和TL0中应该装入的总数是65536-50000=15536.,把15536对256求模:15536/256=60装入TH0中,把15536对256求余:15536/256=176装入TL0中。 以上就是定时器初值的计算法,总结后得出如下结论:当用定时器的方式1时,设机器周期为T CY,定时器产生一次中断的时间为t,那么需要计数的个数为N=t/T CY ,装入THX和TLX中的数分别为: THX=(65536-N)/256 , TLX=(65536-N)%256 中断服务程序的写法 void 函数名()interrupt 中断号using 工作组 { 中断服务程序内容 } 在写单片机的定时器程序时,在程序开始处需要对定时器及中断寄存器做初始化设置,通常定时器初始化过程如下: (1)对TMOD赋值,以确定T0和 T1的工作方式。 (2)计算初值,并将初值写入TH0、TL0或TH1、TL1。 (3)中断方式时,则对IE赋值,开放中断。 (4)使TR0和TR1置位,启动定时器/计数器定时或计数。 例:利用定时器0工作方式1,实现一个发光管以1s亮灭闪烁。 程序代码如下: #include #define uchar unsigned char #define uint unsigned int sbit led1=P1^0; uchar num; void main() { TMOD=0x01; //设置定时器0位工作模式1(M1,M0位0,1) TH0=(65536-45872)/256; //装初值11.0592M晶振定时50ms数为45872 TL0=(65536-45872)%256; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 while(1) { if(num==20) //如果到了20次,说明1秒时间 { led1=~led1; //让发光管状态取反 num=0; } } } void T0_time()interrupt 1

60秒倒计时系统设计

微机原理与接口技术课程设计报告 题目60秒倒计时系统设计 系别虞山学院 年级09 专业电子科学与技术 班级Y051091 学号Y051091(07/10/20/29) 学生姓名徐熙超、施祥祥、肖天宇、陆庆山 指导教师周平职称讲师 设计时间2011.12

目录 第一章系统设计 (1) 1.1题目要求 (1) 1.2方案论证 (1) 1.3实施方案 (1) 第二章倒计时硬件设计 (2) 2.1倒计时的硬件框图 (2) 2.2 8255A的基本资料 (2) 2.3 显示电路 (5) 2.4 输入电路的连接 (6) 2.5 输出电路的连接 (6) 第三章倒计时软件设计 (7) 3.1主程序设计框图 (7) 3.2程序的设计 (7) 第四章安装与调试 (10) 4.1硬件调试 (10) 4.2软件调试 (10) 4.3调试过程 (10) 第五章总结与体会 (11) 第六章参考文献 (12) 第七章附录 (13)

第一章系统设计 1.1题目要求 一、任务: 60秒倒计时系统设计 二、要求: 1.电路具有时间显示功能,要求用2位七段数码管; 2.要求电路为60秒递减计时,每隔1秒钟,计时器减1; 3.要有外部开关,控制计数器的启动、复位和暂停/继续计时功能; 4.当计时器倒计时为零时,即定时时间到,显示为零,同时发出光报警信号。 1.2方案论证 1.使用8253作为秒脉冲输出,用8255A作为输入/输出接口分别接控制端、输出显 示端、报警器,使用8259作为中断控制倒计时的复位/暂停。这种方案具有走时精准、可扩展性好的有点,但是制作成本最高。 2.使用软件延时,在程序中使用延时语句来输出秒脉冲。用8255A作为输入/输出接 口分别接控制端、输出显示端、报警器,使用8259作为中断控制倒计时的复位/暂停。此方案具有控制响应速度快,制作成本因为舍弃8253成本适中,但是由于使用了软件延时,因为芯片损耗以及芯片在工作时间过长后走时会不够准确。 3.芯片只选择8255A,使用软件延时,在程序中使用延时语句来输出秒脉冲,使用 8255A作为输入/输出接口。采用在软件中控制循环程序的方式来控制倒计时的复位/暂停。此方案性价比最高,但是相应的由于使用了软件延时,因为芯片损耗以及芯片在工作时间过长后走时会不够准确。由于8259的弃用在系统扩展方面会不如以上两种。 1.3实施方案 本次课程设计要求并未要求设计成品需要扩展功能,及成本略高,故舍弃方案1。考虑各方因素,由于未采用8253,采用8259中断和软件控制循环程序的方式来控制倒计时的复位/暂停对走时的准确性影响不大,为了降低成本,也不采用8259,故舍弃方案2。方案③达到课程设计要求并且成本最低,所以确定以方案③来设计。

51单片机时钟实训报告

时、分、秒计时器设计 班级通信二班 姓名(学号)吕为国(093001351) 一、任务及要求 用51单片机设计时、分、秒计时器,具体要求如下。 1、具有时、分、秒计时功能和8位数码管显示功能,显示格式为:“时-分-秒”; 2、用Proteus设计仿真电路进行结果仿真; 3、4人组成设计小组完成,小组成员有明确分工,1人负责总体方案设计及报告撰写,2人负责功能模块函数设计,1人负责仿真电路设计及调试。 4、完成程序设计、仿真电路设计、结果仿真。 5、本实验要求设计一个数字计时器,可以完成0分00秒~23小时59分59秒的计时功能,并在控制电路的作用下有开机清零。 6、指标要求: ①.显示时、分、秒。 ②采用24小时制,小时计数器按“23翻00”规律计数。. ③为了保证计时准确、稳定,由单片机的定时器来计时。 7、设计要求: ①画出电路原理图(或仿真电路图); ②元器件及参数选择; ③电路仿真与调试; ④连接实物图,并调试; ⑤写出报告,并做总结; 二、设计方案 1、总体设计方案(李文负责完成) (说明总体设计方案构思、程序模块构成、仿真电路构成等内容,不少于300字))。构思:实现时钟的设计,如果采用软件延时的方法来实现时钟,太耗cpu了,因此采用51 单片机的内部硬件资源来实现时钟,因此采用定时器来定时,由于单片机的最大定时的时间为65.536ms;但是我们要定时1s,为了方便,我们则选用定时器0工作方式1且定时50ms,然后在中断20次则有了1s,有了1s就好办了,分,时就好办了,只要在1秒的基础上加就可以实现时钟了,有了时,分,秒就要显示了,由于时,分,秒都是两位,因此要把个位与十位分离,然后在分别在数码管上显示,这样就实现时钟的设计。 程序模块:1、主函数:(调用初始化函数,调用显示函数) 2、显示函数:(延时函数,数码管显示代码) 3、中断服务函数:(时,分,秒的实现) 仿真电路构成:数字钟的结构组成: 1)晶体振荡器电路 2)复位电路 3)数码管使用非门驱动及数码管

单片机课设60秒计时器

. 单片机课程设计说明书 —题目:0060秒表设计 机电工程学院学院: 专业:机械设计制造及其自动化 xxx学生姓名: 学号:xxx指导教师单位:xxx 名:xxx 姓 日月年20131213

.. . 摘要 60秒计时器以单片机为核心,由计时器,控制器等组成。系统采用模块化设计,主要分为计时器显示模块和按键控制模块。每个模块的程序结构简单,任务明确,易于编写、调试和修改。编程后利用Kcil软件来进行编译,在生成HEX文件装入芯片中,在通过调试实现60s计时功能。本设计中系统硬件电路主要是由以下几个部分组成:单片机AT89C51、振荡电路、显示电路和按键开关。该系统具有60s内准确计时和计时清零的功能。 关键字:单片机,计时,显示,60s计时,复位清零

.. . 目录 前言................................................................................................................................................................ . (1) 一、概述 (1) 1.1、课程设计任务与目的 (1) 1.2、总体方案设计 (2) 1.2.1、设计方案框图 (2) 1.2.2、硬件方案 (2) 1.2.3、软件方案 (2) 二、系统硬件设计 (3) 2.1、电路总体设计方案 (3) 2.2、电路原理图 (3) 2.3、各硬件模块设计与制作 (3) 2.3.1、AT89C51单片机设计 (3)

用单片机做的倒计时15s

用单片机设计15s倒计时器 跳线设置:默认跳线位置,注意蜂鸣器选择跳线J5要选23端 程序效果:利用单片机的定时/计数器设计一个15到0倒计时器,按S4后启动,要求精确显示到百分之一秒。 发挥部分: 1、定时结束后有提示音报警,并可重新定时 2、定时过程中按独立键盘s5可暂停,按S4继续 运行环境:51hei单片机学习板 */ ORG 0000H LJMP START //主程序必须避开地址000BH ORG 000BH //定时器0的中段服务程序,起始地址为000BH LJMP IT00 ORG 0030H START: MOV TH0,#0EBH //装入初始值,定时时间为10ms MOV TL0,#64H MOV TMOD,#01H //工作方式1 MOV 33H,#01 //显示初值为15s MOV 32H,#05 MOV 31H,#00 MOV 30H,#00 SETB ET0 //打开定时0 SETB EA //开总中断 LOOP1: JB P3.6,LOOP //判断高低位,即按键KEY0是否按下 LCALL DISPLAY //为低,即按键按下,延时消抖 LCALL DISPLAY JB P3.6,LOOP //按键真的按下,并不是外界的干扰 SETB TR0 //启动定时器 HERE: LCALL DISPLAY //调用显示 JB P3.7,LOOP3 //判断高低,即KEY1按键是否按下 CLR TR0 //按下,关闭定时器,这里并没有消抖 LJMP LOOP1 //等待KEY0的按下 LOOP3: SJMP HERE //KEY1没有按下,就需显示 LOOP: LCALL DISPLAY //KEY1没有按下,就需显示 LJMP LOOP1 //减10ms子程序 SUB1: DEC 30H //百分位减1 MOV A,30H CJNE A,#0FFH,LOOP2 //判断百分位减到0之后是否再减1 MOV 30H,#09 //是,装入初值9 DEC 31H //十分位减1 MOV A,31H CJNE A,#0FFH,LOOP2 //判断百分位减到0之后是否再减1 MOV 31H,#09

单片机课程设计60秒倒计时

前言 在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的四位LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

课程设计_单片机__60秒秒表

1任务及要求 1.1设计任务 学会用已经学过的单片机原理与应用的知识,来设计一个实用性的结构简单化的小型电子产品。编写一个程序,实现秒计时器从00—59计时的基本功能。利用Proteus工具来演示秒计时器的计时。 1.2设计要求 利用MCS-51系列单片机作为秒表的主控制器芯片,在单片机的P0端口和P2端口分别接两个共阴数码管,P0口驱动显示秒时间的十位,P2口驱动显示秒时间的个位。要求做到性能稳定,结构简单通俗易懂,结构模块化,从而做到节约成本。 (1)熟悉电路,了解P0和P1口的作用。 (2)熟悉W A VE编译环境。 (3)熟练掌握汇编语言,调用延时程序。 2设计思想 2.1硬件设计 将单片机设计成控制器,在AT89C51的P0口和P2口都接7SEG-COM-CATHODE,P0口接上拉电阻,分别显示十位和个位数字。 2.2软件设计 通过单片机实现控制00-59的计数,根据设计的要求,将0到59的数据除以10,分别取商和余数。并且当一秒钟到来时,计数单元加1,到达60时,则自动返回到0,从新秒计数。同时在计数过程中调用延时程序。

3电路原理与电路图 3.1电路原理 编写程序对80C51芯片进行初始化,在编程过程中主要使用延迟程序来实现秒计时器的计时功能。用Proteus软件来实现秒计时器的仿真,其中将P0口和P1口分别作为高低位输出端口。 3.2电路原理图 图3.1电路原理图

4流程图与算法描述 4.1函数流程图 4.1.1实验系统流程图 图4.1.1 实验系统流程示意图

4.1.2延时程序流程图 图4.1.2 延时程序流程图 4.2 算法描述 根据设计的要求,利用单片机控制,实现秒计数并显示,具体设计如下: (1)将0到59的数据通过对10整除和对10求余,将数据的个位和十位分开。 DIV AB (2)加1计数 INC @R0 (3)延时程序

单片机定时器详解教程文件

单片机定时器详解

一、MCS-51单片机的定时器/计数器概念 单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机的只有1MHZ的稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的,这个准确的时间间隔是1微秒; MCS-51单片机外接的是12MHZ的晶振(实际上是11.0592MHZ),所以,MCS-51单片机内部的工作频率(时钟脉冲频率)是12MHZ/12=1MHZ=1000000次/秒=1000000条指令/秒 =1000000次/1000000微秒=1次/微秒=1条指令/微秒;也就是说,晶振振荡一次,就会给单片机提供一个时钟脉冲,花费的时间是1微秒,此时,CPU会执行一条指令,经历一个机器周期;即:1个时钟脉冲=1个机器周期=1微秒=1条指令; 注:个人PC机上的CPU主频是晶振经过倍频之后的频率,这一点恰好与MCS-51单片机的相反,MCS-51单片机的主频是晶振经过分频之后的频率; 总之:MCS-51单片机中的时间概念就是通过计数脉冲的个数来测量出来的;1个脉冲=1微秒=1条指令=1个机器周期; MCS-51单片机定时器/计数器的简单结构图:

8051系列单片机有两个定时器:T0和T1,分别称为定时器和定时器T1,这两个定时器都是16位的定时器/计数器;8052系列单片机增加了第三个定时器/计数器T2;它们都有定时或事件计数功能,常用于时间控制、延时、对外部时间计数和检测等场合; 二、定时器/计数器的结构 8051单片机的两个定时器T0和T1分别都由两个特殊功能寄存器组成;T0由特殊功能寄存器TH0和TL0构成,而T1则是由TH1和TL1构成; 作为定时器使用时,定时器计数8051单片机片内振荡器输出经过12分频后的脉冲个数,即:每个机器周期使定时器T0/T1的寄存器值自动累加1,直到溢出,溢出后继续从0开始循环计数;所以,定时器的分辨率是时钟振荡频率的1/12; 作为计数器使用时,通过引脚T0(P3.4)或T1(P3.5)对外部脉冲信号进行计数,当输入的外部脉冲信号发生从1到0的负跳变时,计数器的值就自动加1;计数器的最高频率一般是时钟振荡频率的1/24; 由此可知,不论是定时器还是计数器工作方式,定时器T0和T1均不占用CPU的时间,除非定时器/计数器T0和T1溢出,才可能引起CPU中断,转而去执行中断处理程序;所以说,定时器/计数器是单片机中效率高而工作灵活的部件; 三、定时器/计数器的工作模式 除了可选择定时器和计数器的这两种工作方式外,每个定时器/计数器都有4种工作模式; 在模式0、1和2时,T0和T1的工作模式相同;在模式3时,两个定时器/计数器的工作模式不同; 工作模式0: 由TL0的低5位和TH0的全部8位共同构成一个13位的定时器/计数器;定时器/计数器启动后,定时或计数脉冲个数加到TL0上,从预先设置的初值(时间常数)开始累加,不断递增1;当

89C51单片机60秒倒计时的模拟与仿真设计

单片机结课设计论文 学院: 班级: 姓名: 学号: 任课老师:

二〇一二年五月 目录 1学习心得 (2) 2结课设计 (2) 3正文 (4) 3.1 设计要求 (4) 3.2 结课设计的目标 (4) 3.3 设计方法和内容 (4) 3.3.1硬件设计方法 (5) 3.3.2软件设计方法 (9) 3.4 软件调试过程 (11) 3.4.1 系统调试工具keil C51 (11) 3.4.2 系统调试工具PROTEUS (11) 4设计总结 (12) 5参考文献 (13)

学习心得 单片机课程是我们专业一个很重要的课程,因为单片机方面的很多知识都应用在机电一体化中。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。了解到单片机的重要性,一开始我就决定了一定要好好学这门课。 刚开始接触单片机是很陌生的,当学到89C51单片机的结构及原理这一章的时候,感觉书本里面的内容抽象且难以理解,心里面本能地就有一股抵制情绪在作怪。但是一想到单片机是如此的重要又不得不逼着自己去学去记。学到指令系统这部分内容的时候,里面的很多指令往往让自己感到厌烦,面对一些冗长的汇编程序,往往不用看到最后就已经失去兴趣了。感觉自己学习单片机的过程其实就是一个对陌生领域的本能的抵制而又渴望征服的过程! 我意识到单片机的重要性也从心里面想过要学好这门课程,在学习的过程中我尽力的克服了由本能产生的对抽象知识的抵制情绪,上课认真听讲,做好笔记,最后总算对单片机有一个比较全面的了解。特别是最后做的那七个实验的时候,每一次我都会认真的思考该怎么去实现这个功能,怎么样从书本中得到答案,怎么样去做好理论联系实际。在实验的实践过程中,我发现要学好单片机不仅仅要认认真真学习书本上的理论知识,更要学得透彻,还要实际操作单片机。理论联系实际,这样的学习才不会变得更加生动,更容易调动学习积极主动性。 虽然单片机这门课程已经结课了,但是老师传授给我的知识将使我终身受益!短短几十个学时的学习,老师作为领路者把我带入了单片机这一奇妙的领域。让我感受到了单片机的

相关文档
最新文档