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

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

前言

在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。

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

目录

第1章方案论证

1.1 课程设计的目的和要求 (1)

1.2 总体设计 (1)

第2章硬件设计 (2)

2.1 AT89S51芯片概述 (13)

2.2 LED数码管显示器概述 (15)

2.3 其他元器件介绍及参数选择 (18)

第3章软件设计 (28)

3.1 程序框图 (28)

3.2 定时/计数器初值计算 (2)

3.3 软件程序…………………………………………………………………………………………………………………………………………………………

第4章调试与仿真

4.1 Keil软件介绍及使用 (30)

4.2 Proteus软件介绍及使用 (30)

课程设计心得体会………………………………………………………………………………………………………………………………………

参考文献 (30)

第一章方案论证

1.1课程设计的目的和要求

1.目的

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

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

单片机控制的60s倒计时

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

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

3. 目标

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

1.2 总体设计

图1:60秒倒计时总体电路设计

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

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

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

第二章硬件设计

2.1 AT89C51的芯片概述

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

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

主要特性

·与MCS-51 兼容

·4K字节可编程闪烁存储器

·寿命:1000写/擦循环

·数据保留时间:10年

·全静态工作:0Hz-24MHz

·三级程序存储器锁定

·128×8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

●管脚说明

(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口引脚或第二功能引脚

●振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTA L2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.2 LED数码管显示器概述

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

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

数码管的分类

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

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

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

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

LED数码显示器的显示段码。为了显示字符,要为LED显示器段码(或称字形代码),组成一个8字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如下表所示.十六进制数及空白字符与P的显示段码

数码管的驱动方式

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

①静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51

单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

②动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码

管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

●数码管参数

8字高度:8字上沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为0.25-20英寸。

长*宽*高:长——数码管正放时,水平方向的长度;宽——数码管正放时,垂直方向上的长度;高——数码管的厚度。

时钟点:四位数码管中,第二位8与第三位8字中间的二个点。一般用于显示时钟中的秒。

●数码管应用

数码管是一类显示屏通过对其不同的管脚输入相对的电流会使其发亮从而显示出数字

能够显示时间日期温度等所有可用数字表示的参数

由于它的价格便宜使用简单在电器特别是家电领域应用极为广泛空调热水器冰箱等等

绝大多数热水器用的都是数码管其他家电也用液晶屏与荧光屏

●数码管使用的电流与电压

电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。

电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V

乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。

●怎样测量数码管引脚,分共阴和共阳?

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

2.3 其他元器件介绍及参数选择

本设计中还用到其他一些元器件,例如:晶振,电容,电阻排,电解电容,开关等等。

晶振采用频率为12MHZ,连接的两个电容为30pF;电阻排为470*8,能够实现8个470欧电阻的等效替换;电解电容为10u;开关功能是在仿真过程中,按下开关便能实现60秒复位。

第3章软件设计

3.1 程序框图

3.2 定时/计数器初值计算

(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,开始倒数计时按下开关实现复位。

3.3 软件程序

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN: MOV R2,#60 ;计数初值

LOOP1: MOV A,R2

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR ;查表

MOV P1,A ;十位显示

MOV A,B

MOVC A,@A+DPTR

MOV P2,A ;个位显示

MOV R7,#20

LOOP0: MOV TMOD,#01H ;置T0工作于方式0 MOV TH0,#3CH ;装入计数初值 MOV TL0,#0B0H

SETB TR0 ;启动定时器T0

JNB TF0,$ ;TF0=0,等待

CLR TF0 ;清TF0

DJNZ R7,LOOP0 ;循环20次

DEC R2 ;减一

CJNE R2,#0FFH,LOOP1 ;倒计时

AJMP MAIN ;复位回到60秒初始TABLE: DB 0C0H,0F9H,0A4H,0B0H

DB 99H,92H,82H,0F8H

DB 80H,90H,88H,83H

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

END

第四章软件调试

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。编译运行,检查程序是否有错误。

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 Simuator,USE前打钩,再次运行文件,成

功后在目录下会生成HEX文件,打开Proteus软件,或直接点击DSN文件,双击单片机模板,点击文件夹式样的图标选择对应的HEX驱动文件,然后点击开始,进行调试

心得体会

在这次单片机课程设计中,我觉得最大的收获就是提高了自己的动手及思考解决问题的能力,平常以为很明白的程序,在仿真过程中却发现并不是想象的那么简单,设计的过程中失败了很多次,但通过自己的不懈努力最终获得设计的成功!

在这里要特别感谢陈玉玲老师,谢谢她课堂上的引导,使自己明确了设计方向,避免了许多错误。

参考文献:

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

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

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

单片机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秒倒计时电路设计的实验报告

实验二60秒倒计时电路设计的实验报告 一、实验目的 1.进一步熟悉Quartus II混合层次化设计方法。 2.学习7段数码管的驱动设计方法。 二、实验内容 60秒倒计时电路如图1所示。其中,模块cnt_d60完成60倒计数,输出结果为2位十进制BCD码。模块SCNA_LED完成BCD码到7段数码管显示译码功能。 图1 60秒倒计时电路 图2 60秒倒计时底层电路 60倒计数模块cnt_d60底层电路如图2所示。主要由2片74192(双向十进制计数器)

构成。 模块cnt_d60和SCNA_LED的源设计文档(cnt_d60.bdf和SCAN_LED.vhd)提供给大家。要求大家建立新工程,为模块cnt_d60和SCNA_LED新建封装(*.bsf),并根据图1完成顶层60秒倒计时电路设计。 完成以上程序设计,编译时器件选择Cyclone系列的EP1C12Q240C8。引脚锁定参考表1内容。注意:应把未分配管脚置为三态输入,切记!! 表1 实验连线 1.原理图设计输入 (1)首先将模块cnt_d60和SCNA_LED的源文件放在等一下需要建立的文件中,打开QuartusII软件。 (2)选择路径。选择File/New Project Wizard。添写后以后,单击“NEXT”进入下一步。(3)添加设计文件,在File name中选择路径然后添加模块cnt_d60和SCNA_LED的源文件,点击“Next”。 (4)选择FPGA器件。Family选择Cyclone,先在Packge选择Any QFP,Pin Count 选择240,Speed grade选择8;然后在Available device中选择EP1C12Q240C8,点击“Next”。 (5)选择外部综合器、仿真器和时序分析器。设置好后,单击“NEXT”进入下一步。(6)结束设置。“工程设置统计”窗口,列出了工程的相关设置情况。最后单击“Finish”,结束工程设置。 (7)建立原理图文件。点击cnt_d60文件,然后点击File/Crete/Update/Create Symbol Files For Current file以新建原理图封装文件方式,然后以同样的方式创建原理图SCNA_LED封装文件,文件格式都为*bdf。保存原理图文件。选择File/Save As…菜单,存为testone文件,选择Edit/Insert Symbol…(或直接双击原理图空白处)打开元器件库窗口,选择合理的器件(封装好的cnt_d60文件和SCNA_LED文件都在里面)按图1完成60秒倒计时电路原理图设计,完成后选择File/Save…保存原理图。(8)综合编译。编译之前,打开原理图文件,选择Project/Set as Top-Level Entity,以确保当前编译的文件为顶层的实体文件。然后选择Processing/Start Compilation,进行综合分析,直至编译通过为止。 (9)保护设计中没有使用到的引脚。对于FPGA芯片(包括EP1C12Q240C8),在做Quartus II工程时必须将未分配的管脚置为三态输入。选择Assignments\Device… 打开工程设置窗口。在Category中选择Device项,然后在Available Devices栏中,选中EP1C12Q240器件,再单击Device & Pin Options…按钮,在弹出窗口(中选择Unused Pins栏,然后设置Reserve all unused pins为AS input tri-stated。推荐把未分配管脚置为三态输入。如未将未分配管脚置为三态输入,将可能导致主芯片或外围芯片损坏,切记!!

两位倒计时器程序(单片机―汇编语言)

两位倒计时器程序ORG00H JMPSTART ORG30H START: MOVP2,#00H;位选置低电平显示00 MOVP3,#0FH;键盘置P 3.4低电平 MOVR4,#0;显示标志显示00 MOVDPTR,#TABLE; SETBP 0.7 K: MOVR3,#00H JNBP 3.0,W1 JNBP 3.1,W2 JNBP 3.2,INT JMPDISP

W1:JBP 3.0,IN1 MOVR3,#1 JMPDISP W2:JBP 3.1,IN0 MOVR3,#2 DISP: JNBP 3.3,START MOVA,R4 MOVB,#10 DIVAB MOV21H,B DISP1:SETBP 2.1 CLRP 2.0 LCALL DEL DISP2:MOVA,21H SETBP

2.0 CLRP 2.1 LCALL DEL CJNER3,#4,K1 DJNZR2,DISP DJNZR1,DISP AJMPINT K1:INCR3 CJNER3,#3,K2 AJMPW2 K2:CJNER3,#2,K AJMPW1 IN1: CJNER4,#99,ADD1 AJMPSTART ADD1:INCR4;按键按下或未弹起标志 ;判断按键S1是否按下转判断S1按键是否弹起;判断按键S2是否按下转判断S2按键是否弹起;判断按键S3是否按下转倒计时设置子程序;转显示和判断按键S4是否按下 ;判断按键S1是否弹起转加1子程序设置;设置按键S1未弹起标志 ;转显示和判断按键S4是否按下 ;判断按键S2是否弹起转减1子程序设置;设置按键S2未弹起标志

课程设计_单片机__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次按按钮后,计时归零。

软件延时实现60秒计时器

一、实验任务 如下图所示,在A T89S51单片机的P0和P2端口分别接有两个静态共阴数码管,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个位。 二、电路原理图 图11.1 三、硬件连线 参照教程十的方法完成硬件连线(只是去掉按键部分)。 四、程序设计内容 1在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,从新秒计数。 2对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对10整除和对10求余。 3在数码上显示,仍通过查表的方式完成。 4一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到1秒时间为1.002秒。 DELY1S: MOV R5,#100 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$

DJNZ R6,D1 DJNZ R5,D2 RET 五、程序框图 图11.2 六、汇编源程序 Second EQU 30H ORG 0 START: MOV Second,#00H NEXT: MOV A,Second MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A LCALL DELY1S INC Second MOV A,Second CJNE A,#60,NEXT LJMP START

DELY1S: MOV R5,#100 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 七、C语言源程序 #include unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char Second; void delay1s(void) { unsigned char i,j,k; for(k=100;k>0;k--) for(i=20;i>0;i--) for(j=248;j>0;j--); } void main(void) { Second=0; P0=table[Second/10]; P2=table[Second%10]; while(1) { delay1s(); Second++; if(Second==60) { Second=0; } P0=table[Second/10]; P2=table[Second%10]; } }

单片机课程设计-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)

60秒加计时电路

课程设计报告____2010/2011 学年第一学期 课程名称:电子工艺实习 题目:60秒加计时电路 院系:计算机与信息学院电子工程系专业班级:电子信息工程081801 学号: 姓名: 指导教师: 完成日期:2010-12-15

目录 目录 (2) 前言 (3) 内容 (3) 一、实验目的 (3) 二、实验要求 (3) 三、实验器件 (3) 四、实验原理 (4) 五、调试及测试结果分析 (5) 六、实验小结或体会 (6) 附图1: (7)

前言 随着信息时代信息的到来,电子技术在社会生活中发挥着越来越重要的作用,运用模电和数电知识设计的电子产品成为社会生活中不可缺少的一部分,特别是各种竞技运动中,计数器器成为运动员成绩的一个重要工具。 一、实验目的 1.根据原理图分析各单元电路的功能; 2.熟悉电路中所用到的各集成块的管脚及其功能; 3.进行电路的装接,调试,直到电路达到规定的设计要求; 4写出完整,详细的设计报告。 二、实验要求 1、具有显示60秒可加计时功能。 2、设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能。 3、计时器为60秒递增计时器。 三、实验器件

四、实验原理 1、方案总体设计 60秒可加计时器的方案框图如下图所示。它包括秒脉冲发生器、计数器、译码显示电路、控制电路等模块组成。其中计数器和控制电路是系统的主要模块。计数器完成60秒计时功能,而控制电路完成计数器饿直接清零,启动计数、暂停/连续计数,译码显示电路功能。 秒脉冲发生器产生的的信号是电路的时钟脉冲和定时标准,但本设计对信号要求不太高,故电路采用555集成电路构成。 译码显示电路由74LS48和共阴极七段LED显示器组成。 2、计时电路的组成 设计中通过两片74LS192的级联来实现一个60进制的计数器。当低位片从0跳到9时,高位片进位加一,直到实现60秒的计数功能。计数电路的核心是置数部分。因为本设计要求从0到60,所以本设计中预置数置为0000和0000即可,又由于到60要清零,所以在十位输出端加个与非门使其到60则自动预置0从而达到实验要求。 在设计中我们选择的是同步加/减计数器74LS192。它是双时钟同步可逆计数器,是8421BCD码计数,其详细引脚图及功能表如下:

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引脚结构,芯片内集成了通用

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

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

课程设计说明书 课程名称:单片机技术 设计题目:倒计时数字秒表设计院系: 学生姓名:张三 学号: ********* 专业班级: *********** 指导教师:李四 年月日

课程设计任务书 倒计时秒表

摘要:本次课程设计以AT89S52单片机为核心设计一个倒计时数字秒表,计数初值为59并开始每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、显示子程序和延时子程序等。软件Proteus画出原理图并进行仿真,依照仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功能。 关键词:倒计时 AT89S52 74LS47 数码管 目录

1.设计背景 (5) 1.1、设计课题的提出 (5) 1.2、设计作用及意义 (5) 2.设计方案 (6) 2.1、可行方案选择 (6) 2.2、可行方案比较 (6) 3.方案实施 (7) 3.1、硬件电路的实施 (7) 3.2、软件程序的实施 (11) 4.结果与结论 (13) 4.1、Proteus仿真运行结果 (13) 4.2、结论 (14) 5.收获与致谢 (14) 6.参考文献 (14) 7.附件 (15) 7.1、附件一(整体电路图) (15) 7.1、附件二(元件清单图) (16) 7.1、附件三(程序) (17) 7.1、附件四(运行实物图) (22) 1. 设计背景

00-60秒表说明书

编号: 2 微机综合实践说明书 题目: 学院: 专业: 学生姓名: 学号: 指导教师单位: 指导老师:

目录 一、摘要 二、前言 2.1、设计任务及功能简介 (1) 2.2、设计项目应用及意义 (1) 三、总体方案设计 3.1、方案设计 (1) 3.2、元器件清单 (2) 四、电路原理图设计 4.1、总体电路图 (2) 4.2、复位电路设计 (3) 4.3、晶振输入电路设计 (3) 4.4、液晶显示电路 (4) 4.5、开关电路 (4) 五、系统硬件设计及说明 5.1、硬件总体设计方案 (4) 5.2、并行I/O口P0~P3结构与设计 (5) 5.3、相关硬件说明 (6) 5.4、定时/计数器工作原理 (10) 六、系统软件设计及说明 6.1、总体设计方案 (13) 6.2、程序流程图 (13) 6.3、系统程序 (15) 七、我的工作---Proteus软件仿真 7.1、软件仿真总体步骤 (15) 7.2、在PROTEUS中设计出相应的硬件电路 (16) 7.3、用keil软件生成HEX文件 (16) 7.4、烧录程序仿真 (17) 八、课程设计总结 (18) 九、附录---秒表汇编程序 (19)

一、摘要 随着电子技术的飞速发展,电子技术在相关领域的运用也是越来越广泛,人们对它的认识也相应的增加。常用于各种体育赛事以及各种要求精确时间的领域就要用到秒表计时器,秒表计时器开关的使用方法与传统的计时器相同,也就是按一下开关就开始计时,再按一下就停止,操作很是简单。而复位开关可以在任何情况下使用,即使是正在计时,只要你按下复位键,计时就立即终止而且对秒表的时间清零。这个课程设计就是利用所学到的电子元器件将脉冲源用液晶显示屏显示出来,以达到制作简易秒表的目的。除此之外,此次设计还扩展了很多内容,比如倒计时设定,可以设定时间进行倒计时。此设计可以应用到倒计时控制系统,进行定时控制等。 [关键词] 启/停开关复位按键液晶显示倒计时

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、总体方案设计

比赛倒计时设计

河南科技学院机电学院电子课程设计报告 题目:比赛倒计时器设计任务书 专业班级:应用电子技术教育111班 姓名:季传帅 时间:2013.12.9~2013.12.27 指导教师:张伟邵锋完成日期:2013年12月20日

比赛倒计时器设计任务书 1.设计目的与要求 设计一个倒计时牌。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能: (1)设计的倒计时牌,能直接显示时间; (2)能同时实现60秒计时,9秒暂停倒计时; (3)60秒计时结束有声音提示,9秒计时结束有灯光提示。 2.设计内容 (1)画出电路原理图; (2)元器件及参数选择; (3)电路仿真; (4)搭接所设计的电路完成设计功能。 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有总结体会。 4.答辩 在规定时间内,完成叙述并回答问题。

目录 1引言 (1) 2总体设计方案 (1) 2.1设计思路 (2) 2.2总体设计框图 (2) 3设计原理分析 (2) 3.1单元模块 (3) 3.1.1时钟模块 (3) 3.1.2报警电路模块 (3) 3.1.3倒计数器模块 (4) 3.1.4数码换显示模块 (5) 4总结与体会 (5) 参考文献 (6) 附录1实际电路图 (7) 附录2总体电路图 (8)

比赛倒计时器设计 摘要:本课程设计是脉冲数字电路的简单应用,设计了篮球竞赛60秒计时器。此计时器功能齐全,可以直接置数、启动、暂停和连续以及具有光电报警功能,同时应用了七段数码管来显示时间。此计时器有了启动、暂停和连续功能,可以方便地实现断点计时功能,当计时器递减到零时,会发出光电报警信号。本设计完成的中途计时功能,实现了在许多的特定场合进行时间追踪的功能,在社会生活中也具有广泛的应用价值。 此计时器的设计采用模块化结构,主要由以下3个组成,即计时模块、控制模块、分频模块以及译码显示模块。在设计此计时器时,采用模块化的设计思想,使设计起来更加简单、方便、快捷。此电路是以时钟产生,分频触发,倒计时计数,译码显示为主要功能,在此结构的基础上,构造主体电路和辅助电路两个部分。 关键词:比赛倒计时;控制;计时器;译码显示;555定时器 1引言 电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。 在许多领域中倒计时器均得到普遍应用,诸如在体育比赛,定时报警器、游戏中的倒时器,交通信号灯、红绿灯、行人灯、交通纤毫控制机、还可以用来做为各种药丸,药片,胶囊在指定时间提醒用药等等,由此可见计时器在现代社会是何其重要的。 本设计主要能完成:显示60秒倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器灭灯;计时器为60秒递减计时其计时间隔为1秒;计时器递减计时到零时,同时发出光电报警信号等,当有触发信号时,实现9秒暂停倒计时。 整个电路的设计借助于Multisim10仿真软件和数字逻辑电路相关理论知识,并在Multisim10下设计和进行仿真,得到了预期的结果。 2总体设计方案 用555时基电路构成的多谐振荡器来产生频率为1Hz的脉冲,即输出周期为1秒的方波,再将该脉冲信号加到由74LS93构即周期为1秒,接着将该信号送到计数器74LS00的CP减计数脉冲端,再通过译码器4511BD把输入的8421BCD码经过内部作和电路“翻译”成七段(a,b,c,d,e,f,g)输出,显示十进制数,然后在适当的位置设置开关或控制电路即可实现计数器的直接清零,启动用第一种方案和暂停/连续、译码显示电路的显示与灭灯及声音报警等功能,声音报警用蜂鸣器来实现,蜂鸣器发声代表报警,电路图见图2。也可以用555构成的多谐振荡器直接产生频率为1Hz的秒脉冲,由于两

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

单片机结业作业 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单片机能实现任意时间倒计时

倒计时器 只要修改此文档15页源程序的(如下图)的到计时初值即可实现想要的倒计时。比如30分钟倒计时修改分钟十位和各位即可。 一、设计要求: 由单片机接收小键盘阵列设定倒计时时间,倒计时的范围最大为60分钟,由LED 显示模块显示剩余时间,显示格式为 XX(分):XX(秒).X,精确到0.1s的整数倍。倒计时到,由蜂鸣器发出报警。绘制系统硬件接线图,并进行系统仿真和实验。画出程序流程图并编写程序实现系统功能。 二、设计的作用目的: 此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。

三、具体设计: 1.问题分析: 在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。单片机的诞生标志着计算机正式形成了通过计算机系统和嵌入式计算机系统两个分支。目前单片机已渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。单片机已在广阔的计算机应用领域中表现得淋漓尽致电器因此,单片机已成为电子类工作者必须掌握的专业技术之一。单片机就是一个微型中央处理器,通过编程即能完成很多智能化的工作,因此它的出现给电子技术智能化和微型化起到了很大的推动作用。 本设计将采用89C51单片机,89C51单片机是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机自带5个中断,两个16位定时器32个I/O口,可擦除只读存储器可以反复擦除多次,功能相当强大。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 面对如此功能强大的单片机,结合本次设计要求,应该要用到单片机的内部时钟电路以及外围的显示接口电路和报警电路。 对与时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。 在显示方面,有着多种选择,但是8段LED数码管足以满足此次设计的要求了。LED 数码显示器是一种有LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,一个用于显示小数点,故通常称之为8段发光二极管数码器。 其内部结构如下图(a)所示:

单片机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秒倒计时整体方框图 电源 单片机 复位电路 数码管 时钟电路

30秒计时器设计报告

课程设计报告 题目 30S定时器设计 院部名称 班级 学生姓名 学号 指导教师

目录 前言 一、电路设计原理与方案 (4) 1.1 设计原理 (4) 1.2 设计方案 (4) 二、各单元电路设计 (4) 2.1 脉冲发生电路 (4) 2.2 计数电路 (6) 2.3 译码显示电路 (8) 2.4 控制电路 (10) 三、仿真原理图 (11) 四、总结 (13) 附录、元件清单 (14)

前言 电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。 在许多领域中计时器均得到普遍应用,诸如在体育比赛,定时报警器、游戏中的倒时器,交通信号灯、红绿灯、行人灯、交通纤毫控制机、还可以用来做时间提醒设备等等,由此可见计时器在现代社会是何其重要的。 本设计主要能完成:显示30秒倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器全部显示为“0”;计时器为30秒递减计时其计时间隔为0.1秒;计时器递减计时到零时,数码显示器不灭灯,同时发光二极管LED点亮,停止减计数等。 整个电路的设计借助于Multisim 12.0仿真软件和数字逻辑电路相关理论知识,并在Multisim 12.0下设计和进行仿真,得到了预期的结果。

一、电路设计原理与设计方案 1.1 设计原理 我们可以用555时基电路构成的多谐振荡器来产生频率为10Hz的脉冲,即输出周期为0.1秒的方波脉冲,将该方波脉冲信号送到计数器74LS192的CP减计数脉冲端,再通过译码器74LS48把输入的8421BCD码经过内部作和电路“翻译”成七段(a,b,c,d,e,f,g)输出,显示十进制数,然后在适当的位置设置开关或控制电路即可实现计数器的直接清零,启动和暂停/连续、译码显示电路的显示与灭灯及光电报警等功能。 1.2 设计方案 该系统应包括秒脉冲发生器、计数器、译码显示电路、辅助时序控制电路(简称控制电路)等几部分构成。其中,计数器和控制电路是系统的主要部分。计数器完成30s计时功能,而控制电路具有直接控制计数器的启动计数、暂停、连续计数、译码显示电路的显示和灭灯功能以及工作时间的调节。为了满足系统的设计要求,在设计控制电路时,应正确处理各个信号之间的时序关系。在操作直接清零开关时,要求计数器清零,数码显示器显示零。当启动开关闭合时,控制电路应封锁时钟信号CP,同时计数器完成置数功能,译码显示电路显示30s字样;当启动开关断开时,计数器开始计数;当按下十位调节开关时,计数器加1;当按下个位调节开关时,计数器同样加1;当暂停、连续开关拨在暂停位置上时,计数器停止计数,处于保持状态;当暂停、连续开关拨在连续时,计数器继续递减计数。 二、各单元电路设计 2.1 脉冲发生电路 555定时器 555定时器主要是通过外接电阻R和电容器C构成充、放电电路,并由两个比较器来检测电容器上的电压,以确定输出电平的高低和放电开关管的通断。这

相关文档
最新文档