60秒倒计时实训报告

60秒倒计时实训报告
60秒倒计时实训报告

60秒倒计时

实训报告

班级:12物联网班

组员:林子均李金梅陈柳华胡锦凤黎雪梅李康健

目录

第一章摘要

第二章实验任务

第三章实验主要器材

3.1 AT89S51芯片概述

3.2 LED数码管显示器概述

3.3 软件设计方法

第四章实验步骤

4.1 硬件设计

4.2 软件设计

第五章实验结果

5.1 调试与仿真

第六章实验总结

第一章摘要

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

第二章实验任务

任务说明:

单片机控制的多功能60.00s倒计时

1.使用单片机开发板实现60.00秒内任意时间的倒计时功能。

2.倒计时可以手动设置起始时间,使用4位数码管显示时间。

3.倒计时到时后输出一组LED灯闪烁,并通过按键返回设置倒计时初值界面。

4.请设计出硬件电路、软件程序,并写出实训报告。

第三章实验主要器材

3.1 AT89S52芯片概述

AT89C52是一个低功耗,高性能CMOS 8位单片机,片内含8k字节Flash可擦写存储器(PEROM)。AT89C52器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准80C51和80C52指令集及引脚布局,AT89C52的片内Flash允许程序存储器通过传统编程器反复编程。由于芯片内集成了通用8位中央处理器和Flash存储单元,功能强大的微处理器ATMEL AT89C52可为许多嵌入式控制应用统提供高度灵活、高性价比的解决方案。

AT89C52具有如下特点:8k Bytes Flash存储器、256 bytes的RAM、32个I/O口、3个16位定时/计数器,6个中断优先级2层中断嵌套中断、1个全双工串行通信口、片内时钟振荡器。此外,AT89C52 设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。AT89C52在空闲模式下,CPU暂停工作,而RAM、定时/计数器、串行

口和外中断系统可继续工作,掉电模式冻结振荡器并保存RAM的数据,停止芯片其它功能直至硬件复位。

AT89C52具有PDIP、TQFP、PQFP和PLCC四种封装形式,以适应不同产品的需求。

主要特性

·兼容MCS-51指令系统

·8k可反复擦写(>1000次)Flash ROM

·全静态操作:0-24MHz

·三级程序存储器锁

·256×8位内部RAM

·32个双向I/O口

·3个16位定时/计数器

·8个中断源

·可编程串行通道

·低功耗空闲和省电模式

AT89C52单片机引脚说明

AT89C52引脚图

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k by tes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。

AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。

3.2 LED数码管显示器概述

本设计中采用的是7SEG–MPX4 –CA型号数码管(7seg-mpx4-ca 是4位共阳极7段式数码显示管),它是一种半导体发光器件,其基本单元是发光二极管。实物如图3所示:

数码管的分类

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发

光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM 接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。

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

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

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

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

字型共阳极段码共阴极段码字型共阳极段码

0 C0H 3FH 9 90H

1 F9H 06H A 88H

2 A4H 5BM B 83H

3 B0H 4FH C C6H

4 99H 66H D A1H

5 92H 6DH E 86H

6 82H 7DH F 84H

7 F8H 07H 空白FFH

8 80H 7FH P 8CH

●数码管的驱动方式

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

①静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的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秒复位。

第四章实验步骤

4.1 硬件设计

通过AT89C52型号单片机,主机与从机均采用低功耗、高性能的8 位CMOS 微控制芯片89S52

CPU 部分

图4-1单片机最小系统图

单片机AT89S52、6M 晶振、30pF 和10μ电容、2K 和10K 电阻、按键等组成。

5

4

3

+5V

GN D +5V GN D

+5V

RESET EA/VP 31X119X218

RESET 9RD 17W R

16

INT012INT113T014T115P101P112P123P134P145P156P167P178

P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN

29

ALE/P 30TXD 11RX D 10VC C 40GN D 20IC2

89C51

123456789

RP110k

C50.1u F

+5V

C15

30P

C14

30P

Y1

11.0592M

GN D

X1

X2

C134.7u F

R10220R2

1k

SW 1

SW -PB +5V

GN D

X1X2ALE PSEN

P00P01P02P03P04P05P06P07

P20P21

P10P11P12P13P14P15P16P17

RX D TXD P30P31P32P33P34

P35P36

P37INT0INT1T1T0

RD W R 3

4G N D

7

V C C 14

U1B

74LS041

2U1A

74LS04

q z1

q f1

q z2

q f2

VC C

单片机部分

4.2 软件设计

●定时/计数器初值计算

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

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

由上式得知

X=65536-64536=1000=FC18H

循环大约17次:64536*17=1097112 更加接近

上电时,显示60.00,开始倒数计时按下开关实现复位。

●软件程序

#include

unsigned char i,sec,min,hour,msec,tab,p;

sbit P3_2=P3^2;

sbit P3_3=P3^3;

sbit P3_4=P3^4;

void delay(unsigned char i);

void delay(unsigned char i)

{ unsigned char j,k;

for(k=0;k

for(j=0;j<255;j++);

}

void main()

{

unsigned char led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char tab[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//有小数点的0123456789

sec=60;

min=0;

TMOD=0x01;

T H0=0xfc;

T L0=0x18;//设定的初始值

T R0=1;

E A=1;

E T0=1;

while(1)

{

if(P3_2==0)

{

TR0=1;

}

if(P3_3==0)

{TR0=0;

if(P3_4==0)

{

if(sec<60)

{

P0=led[sec/10];

P2=0x07;

delay(200);

P0=led[sec%10];

P2=0x0b;

delay(200);

p++;

}

else

{sec=60;}//按下P3——4 加加到60就不能再加

if(P3_3==0)

{

if(sec>>0)

sec=p;

P0=led[sec/10];

P2=0x07;

delay(200);

P0=led[sec%10];

P2=0x0b;

delay(200);

p--;

min=0;

}

}

else

{sec=0;}//按下P3_3 减减到0就不能再减}

if(P3_4==0)

{

TR0=0;//清零从零开始再设置时间值

if(p<60)

{

sec=p;

P0=led[sec/10];

P2=0x07;

delay(200);

P0=led[sec%10];

P2=0x0b;

delay(200);

p++;

min=0;

}

else

{p=60;}//按到60 就不能再按了

}

P1=0x00;

P0=led[sec/10];

P2=0x07;

delay(2);

P0=led[sec%10];

P2=0x0b;

delay(2);

P0=led[min/10];

P2=0x0d;

delay(2);

P0=led[min%10];

P2=0x0e;

}

}

void t0_int() interrupt 1

{

T H0=0xfc;

T L0=0x18;

i++;

i f(i==17)

{

delay(5);

i=0;

min--;

}

if(min==0)

{

min=99;

sec--;

sec=0;

P1=0x00;

delay(200);

P1=0xff;

delay(200);

}

}

第五章实验结果5.1 调试与仿真

●系统调试工具keil c51

调试的主要方法:

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

●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驱动文件,然后点击开始,进行调试。

设计总结

本文所介绍的秒倒计器,电路简单、成本低,制作容易。此系统也可广泛应用于群众体育、娱乐活动和广播电视台的一些秒计时,具有很高的实用价值。

在我们整个设计过程中,老师给了我们很大的帮助和细心的指导。在一个星期的本次设计过程中,当我们遇到了困难和问题时,当我们需要他的时候,老师总是第一时间出现在我们面前,他让我们学会了以前在课堂上没有的东西。另外,我还要特别感谢我所有的搭档,是他们给了我巨大的勇气和战胜困难的信心,在设计中我们合作的很愉快,当我们遇到困难时我们一起去探讨和研究,一起去战胜它,大家也一起分享排除问题和困难后的喜悦。同时大家也发扬我们慷慨激扬精神:特别能吃苦,特别能攻关,特别能战斗,特别能奉献。

在此我们表示真诚的感谢!

起初还以为特别难,后来慢慢也就做下来了,虽然做的不是特别好。通过半个学期的学习发现《单片机原理、应用与PROTEUS仿真》的确是一门很有用的课程,对今后的学习工作有很大的帮助,因为单片机目前在社会中有在和极其广泛的用途,各个地方都离不开它的。更多的东西还靠我们自己去课下学习。还有一点要注意就是团体之间的互相合作那也是至关重要。

经过这次设计,使我们觉得不论从理论知识还是从实际操纵中都学到了不少知识,我们想归纳起来,主要有以下四个方面: 1、经过这次设计,它让我们接触更多平时没有接触过的科学仪器设备、元器件以及获得相关的仪器调试经验,同时我们也发现自己在这方面很多不足之处。体会到理论知识对实践有很大的指导作用,让我们知道,只有在正确的理论指引下,才能设计出合乎实际需要的硬件电路。

2、学会了高效率的查阅资料、运用工具书、利用网络查找资料。我们发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整。偶而还会遇到错误的资料现象,这就要求我们应更加注重实践环节。

3、在设计中,我们应当注意重点与细节的关系。

4、失败不可怕,只要不趴下,昂首向前走,希望总会有。

5、同组同学相互包容,彼此合作,取长补短,才能铸就最后的成功。可以这样说设计是对大学所学知识的一次运用和检阅,同时对自学能力提出很高的要求,所以平时的学习离开思考,就是严重的错误,我们学习不应该有偏科现象,各方面的知识都应该要接触,这样做才能为本次设计打下基础。

99秒倒计时器

单片机课程设计 摘要 近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 模拟多通道压力系统是利用压力传感器采集当前压力并放映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。 关键词:AT89C51 LED数码管显示器晶体振荡器

目录 摘要..................................................................... I 第一章概述 (1) 1.1 课程设计目的 (1) 1.2 总体设计 (1) 第二章硬件电路 (2) 2.1各个元件介绍 (2) 2.1.1 AT89C51的芯片概述 (2) 2.1.2 LED数码管显示器概述 (3) 2.2 其他元器件介绍及参数选择 (6) 2.2.1 单片机的最小系统与复位电路 (6) 2.2.2显示电路的设计 (7) 第三章软件部分 (9) 3.1 相关软件介绍 (9) 3.1.1 Keil C软件 (9) 3.1.2 Proteus软件 (9) 3.2 软件设计 (10) 3.2.1 程序框图如图 (10) 3.2 .2 软件程序 (11) 第四章软件调试 (14) 4.1 系统调试工具keil c51 (14) 4.2 PROTEUS仿真 (14) 第五章电路焊接与调试 (17) 5.1 电路板的焊接 (17) 总结 (19) 参考文献 (20) 致谢 (21)

篮球竞赛24秒计时器设计-

学号: 课程设计 题目 学院 专业 班级 姓名 指导教师

年月日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 篮球24秒记时器的设计与制作 初始条件: (1)具备显示24秒记时功能 (2)计时器为递减工作,间隔为1S (3)递减到0时发声光报警信号 (4)设置外部开关,控制计时器的清0,启动及暂停 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)设计任务及要求 (2)方案比较及认证 (3)系统框图,原理说明 (4)硬件原理,完整电路图,采用器件的功能说明 (5)调试记录及结果分析 (6)对成果的评价及改进方法 (7)总结(收获及体会) (8)参考资料 (9)附录:器件表,芯片资料 时间安排: 6月16日~6月19日:明确课题,收集资料,方案确定 6月19日~6月21日:整体设计,硬件电路调试 6月21日~6月24日;报告撰写,交设计报告,答辩 指导教师签名:2014年 6月日

前言 电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。 在许多领域中计时器均得到普遍应用,诸如在体育比赛,定时报警器、游戏中的倒时器,交通信号灯、红绿灯、行人灯、交通纤毫控制机、还可以用来做为各种药丸,药片,胶囊在指定时间提醒用药等等,由此可见计时器在现代社会是何其重要的。 篮球作为一项全民健身项目,已有一定的历史。在中国,篮球很盛行,篮球比赛也日趋职业化。篮球比赛中有一项违例时间要用倒计时器,目前多数采用的是24秒制。有需要就会有市场,因此设计一款24秒计时器是非常有必要也非常有前景的。 该计时器要有递减计时及报警功能。因此符合比赛中违例判罚的需要。 在NBA比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。本课程设计的“篮球竞赛24秒计时器”,可用于篮球比赛中,用于对球员持球时间24秒限制。一旦球员的持球时间超过了24秒,它自动的报警从而判定此球员的犯规。 本设计主要能完成:显示24秒倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;计时器为24秒递减计时其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。 整个电路的设计借助于proteus仿真软件和数字逻辑电路相关理论知识,并在proteus下设计和进行仿真,得到了预期的结果。

59分59秒倒计时程序及仿真显示

一、59分59秒倒计时程序: /*倒计时及显示程序,适用于寻迹小车实验板*/ #include<> #define uchar unsigned char #define uint unsigned int uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳七段编码 uchar temp=0;//定义定时器溢出计数变量,每隔50ms产生1次溢出,temp加1 /*uint time=5959;//定义倒计时变量,当temp计数加20(20x50ms=1s)时,time减1 */ uchar miao=59; uchar fen=59; sbit P0_7=P0^7 ; /*--定时计数器T0及其中断初始化函数--*/ void timer0init(void) { TMOD=0x01;//设置定时器0为工作方式1 TH0=(65536-50000)/256;//16位计数初值除以256得到高8位初

值 TL0=(65536-50000)%256;//16位计数初值除以256的余数得到低8位初值 EA=1;//开总中断 ET0=1;//开定时器0中断 TR0=1;//启动定时器0 } /*----------延时函数---------------*/ void delay(uint n) { uint i,j; for(i=n;i>0;i--) for(j=124;j>0;j--); } /*定时计数器中断程序,每当定时计数器溢出时触发中断,执行该程序*/ void time0() interrupt 1 {

99秒倒计时汇编程序

;利用中断的99秒计时器,动态扫描两位数码管;P0口接J3,数据端口 ;P2.2接J2 B端子,表示段码锁存 ;P2.3接J2 A端子,标志位码锁存 LATCH1 BIT P2.2 LATCH2 BIT P2.3 ORG 00H JMP START ORG 0BH JMP TIM0 START:MOV R3,#00 ;中断循环次数 MOV R4,#0 ;时间初值 MOV DPTR,#TABLE MOV SP,#40H MOV TMOD,#01H ;定时器工作方式 MOV TH0,#HIGH(65536-3800) MOV TL0,#LOW(65536-3800) ;初值4MS SETB TR0 MOV IE,#82H ;开中断 TIM0: MOV TH0,#HIGH(65536-3800) MOV TL0,#LOW(65536-3800) INC R3 CJNE R3,#250,X1 ;1S MOV R3,#0 MOV A,R4 ;十进制转换 MOV B,#10 DIV AB MOV 20H,B ; 个位 MOV 21H,A ; 十位 INC R4 CJNE R4,#100,LEDSCAN ;到100则清零 MOV R4,#0 LEDSCAN: CALL SCAN ;调用数码管扫描 X1: PUSH ACC PUSH PSW CALL SCAN POP PSW POP ACC RETI SCAN:

MOV A,21H MOVC A,@A+DPTR MOV P0,A SETB LATCH1 CLR LATCH1 MOV P0,#11111110B ;扫描子程序 SETB LATCH2 CLR LATCH2 CALL DELAY1 MOV A,20H MOVC A,@A+DPTR MOV P0,A SETB LATCH1 CLR LATCH1 MOV P0,#11111101B ;0代表选通该位数码管 SETB LATCH2 CLR LATCH2 CALL DELAY1 RET DELAY:MOV R5,#50 ;典型延时程序 D1: MOV R6,#40 D2: MOV R7,#248 CALL SCAN DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET DELAY1:MOV R6,#4 ;扫描延时 D3: MOV R7,#248 DJNZ R7,$ DJNZ R6,D3 RET TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共阴字码表END

0-99秒计时器的单片机设计

目录 1 引言 (2) 1.1 AT89C51单片机及其引脚说明 (2) 1.1.1 AT89C51简单介绍 (2) 1.1.2 引脚说明 (3) 2系统硬件电路设计 (5) 2.1 秒计时器的设计要求 (5) 2.2 秒计时器的组成及其原理图 (5) 2.3系统板硬件连线 (6) 3 系统软件设计 (8) 3.1 源程序代码 (8) 3.2 程序流程图 (8) 3.2.1 主程序流程图 (9) 3.2.2 中断程序流程图 (10) 4 课程设计心得会 (11) 参考文献 (11) 附录A (12) 附录B (12)

1 引言 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 1.1 AT89C51单片机及其引脚说明 1.1.1 AT89C51简单介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 AT89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 图1 AT89C51单片机芯片外观结构及其引脚分布

24秒倒计时器系统设计

24秒倒计时器系统设计 一、仿真图 (一)Proteus元器件查找 1、芯片:89C51 2、电阻:res 3、缓冲器74HC244 4、数码管7SEG-------CC共阴极 5、非门74LS04 6、按键button 二、程序 #include unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; typedef unsigned int uint; uint i,j,f1=0; uint q=4,p=2; uint sum = 0; sbit P2_0=P2^0; sbit P2_1=P2^1; sbit P2_2=P2^2; sbit P2_3=P2^3; uint num2=0,num=24,shi=2,ge=4; void T1_time()interrupt 3 {

TH1=(65536-49000)/256; TL1=(65536-49000)%256; num2++; if(num2==20){ num2=0; if(!f1){ if(num!=0)num--; shi=num/10; ge=num%10; } } } void ex_int()interrupt 0 { num=24; } void ex_int1()interrupt 2 { sum++; if(sum%2==1) f1=1; else f1=0; } void delay() { uint j; for(j=0;j<200;j++); } void disply() { P2&=0XF0; P1=table[shi]; P2_0=1; delay(); P2&=0XF0; P1=table[ge]; P2_1=1;

plc 99秒 倒计时

《可编程序控制器原理及应用》“倒计时软件设计”说明书 一、设计目的: (1)使学生运用《可编程序控制器原理及应用》课程中的基本理论,正确设计一个典型案例的控制系统;针对控制目标,编写下位机PLC程序, 设计上位机触摸屏控制界面,解决好通信问题,实现上下位机联合控 制。 (2)培养学生自学软件的能力,逻辑思维的能力。 (3)综合训练学生应用多款软件设计用户程序,仿真验证案例准确性的能力。 二、设计要求: (1)按任务时序设计下位机PLC程序 (2)设计上位机触摸屏控制界面 (3)上下位机联合仿真 三、梯形图: 下面是已经编好的经过转换梯形图

四、触摸屏软件GT-designer2的使用: 利用此软件制作触摸屏,如下图

五、利用GTsimulator2进行仿真: 先在GX-developer中启动梯形图逻辑测试,然后用GTsimulator打开用GTdesigner制作的触摸屏,保证三个软件前后设置一致。如下图:

六、总结 通过这次的设计使我认识到本人对PLC方面的知识知道的还是很浅薄的,对于书本上的很多知识还不能灵活运用。通过本次的课题设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。同时也锻炼了自己独立思考问题的能力和通过查看相关资料来解决问题的习惯。虽然这只是一次简单的课程设计,但通过这次课程设计我们了解了课程设计的一般步骤,和设计中应注意的问题。在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的PLC数字时钟设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了许多新的知识,在和同学协作过程中增进同学间的友谊,使我对团队精神的积极性和重要性有了更加充分的理解。 在这次设计过程中,我也对word、画图等软件有了更进一步的了解,这使我 在以后的工作中更加得心应手。

篮球24秒倒计时器设计

湖南工业大学 课程设计 资料袋 电气与信息工程学院(系、部)2016~2017 学年第 1 学期课程名称电子技术课程设计指导教师黄卓冕职称讲师 学生姓名谢富专业班级电气工程1401 学号14401300114 题目篮球比赛24秒计时器设计 成绩起止日期2016 年11 月14 日~2016 年11 月18 日 目录清单

湖南工业大学 课程设计任务书 2016年~2017学年第1 学期 电气与信息工程学院(系、部)电气工程专业1401 班级课程名称:电子技术课程设计 设计题目:篮球比赛24秒计时器设计 完成期限:自2016 年11 月14 日至2016 年11 月18 日共 1 周

安 排 2016.11.15--17 学生进行设计 2015.11.18 学生修改、打印设计报告 主要参考资料[1] 康华光电子技术基础模拟部分(第五版)高等教育出版社 2007年 [2] 欧伟明. 实用数字电子技术. 北京:电子工业出版社,2012 [3] 陆应华. 电子系统设计教程. 北京:国防工业出版社,2005 [4] 李忠波等. 电子技术仿真与实践. 北京:机械工业出版社,2004 指导教师(签字):年月日 系(教研室)主任(签字):年月日 电子技术课程设计 设计说明书 起止日期:2016 年11 月14 日至2016 年11 月18 日篮球比赛24秒计时器设计

学生姓名谢富 班级电气工程1401 学号14401300114 成绩 指导教师(签字) 电气与信息工程学院(部) 篮球比赛24秒计时器设计 设计目的及要求 一、设计要求 (1)设计指标 1、具有24秒计时功能。 2、设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能。 3、在直接清零时,要求数码显示器灭灯。 4、计时器为24秒递减时, 计时间隔为1秒。 5、计时器递减到零时,数码显示器不能灭灯,同时发出光电报警信号。 6、将24秒递减计时器改为24秒递增计时器,试问电路要作哪些相应的改动。 它包括秒脉冲发生器、计数器、译码显示电路、辅助时序控制电路(简称控制电路)和报警电路等五个部分组成。其中计数器和控制电路是系统的主要部分。计数器完成24秒计时功能,而控制电路是控制计时器的直接清零、启动计数和暂停/连续计数、译码显示电路的显示和灭灯等功能。 为保证系统的设计要求,在设计控制电路时,应正确处理各个信号之间的时序关系: 1.操作直接清零开关时,要求计数器清零,数码显示器灭灯。 2.当启动开关闭合时,控制电路应封锁时钟信号CP(秒脉冲信号),同时计数器完成置数功能,数码显示器显示24秒

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

99秒计时 99秒倒计时中断触发定时器

99秒计时+99秒倒计时(中断触发定时器) ___________________________________________ 功能:99秒计时 时间2010—7—18 ___________________________________________ #include code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x 7f,0x6f}; unsigned char Dis_Shiwei; unsigned char Dis_Gewei; void delay(unsigned int cnt) { while(--cnt); } main() { TMOD |=0x01; //10ms in 12M crystal,工作在 模式一,16位定时器 TH0=0xd8;

TL0=0xf0; IE= 0x82; //打开中断 TR0=1; //打开定时开关 while(1) { P0=Dis_Shiwei; P2=0; delay(300); P0=Dis_Gewei; P2=1; delay(300); } } void tim(void) interrupt 1 using 1 { static unsigned char second,count; TH0=0xd8; TL0=0xf0; count++; if (count==100) //100x10ms { count=0;

second++; if(second==100) second=0; Dis_Shiwei=tab[second/10]; Dis_Gewei=tab[second%10]; } } /* 定时器设定为:TH0=0xd8;TL0=0xf0;经确定时10ms。从程序开始执行,每当主程序中的16位数发生溢出则触发中断,主程序保护现场并调用中断子程序,也可以写为:TH0=(65536-10000)/256;TL0=(65536-10000)%256。秒脉冲的产生要求精确定时1s,实际情况可能有延误。 1 0000 0000 0000 0000 1101 1000 1111 0000 ———————————— 0010 0111 0001 0000 Time=16(1+16+32+64+512)=16*625=10000us=10ms

单片机控制数码管显示99.99数字秒表,带记忆,倒计时,置数功能

#include #include #define uchar unsigned char #define uint unsigned int uchar code dis_r[11]={~0xc0,~0xf9,~0xa4,~0xb0, ~0x99,~0x92,~0x82,~0xf8,~0x80,~0x90, ~0xff}; uchar code dis_b[4]={0x20,0x10,0x08,0x04}; uint dis_s[35]; uchar dis_buf[4]; uchar code dis_l[9]={0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0}; uchar dis_t; uchar a,b,c; uchar key1_times,key4_times; uint doc,n; void update_disbuf(); void proc_key(); void daojshi(); void store(); void read_store(); void delay(uint ms); sbit K1 = P1^7; sbit K2 = P1^6; sbit K3 = P1^5; sbit K4 = P1^4; sbit M=P1^3; sfr P2M0=0x95; sfr P2M1=0x96; sfr P3M0=0xB1; sfr P3M1=0xB2; void main(void) { P2M0=0x00; P2M1=0xff; P3M0=0x00; P3M1=0xff; M=0; P2 = 0x3F; P3 = 0xFF; TMOD = 0x11; TH1 = (65536-50000)/256; TL1 = (65536-50000)%256; TH0 = (65536-1000)/256; TL0 = (65536-1000)%256; update_disbuf();

篮球24秒倒计时器课程设计报告

数字逻辑电路设计 课程设计报告 系(部):三系 专业:通信工程 班级:11通信 1班 姓名:张梦瑶 学号:20110306111 成绩: 指导老师:李海霞 开课时间:2012-2013学年二学期

一、设计题目 篮球比赛 24 秒倒计时器 二、主要内容 1、分析设计题目的具体要求 2、完成课题所要求的各个子功能的实现 3、用multisim 软件完成题目的整体设计 三、具体要求 (1)具有显示24s 倒计时功能:用两个共阴数码管显示,其计时间隔为1s。 (2)分别设置启动键和暂停 /继续键,控制两个计时器的直接启动计数,暂停/继续计数功能。 (3)设置复位键:按复位键可随时返回初始状态,即进攻方计时器返回到24s。 (4)计时器递减计数到“00”时,计时器跳回“24”停止工作,并给出声音和发光提示,即蜂鸣器发出声响和发光二极管发光。 四、进度安排 第一天:介绍所用仿真软件;布置任务,明确课程设计的完整功能和要求。 第二天:消化课题,掌握设计要求,明确设计系统的全部功能,图书馆查阅资料。 第三天:确定总体设计方案,画出系统的原理框图。 第四天:绘制单元电路并对单元电路进行仿真。 第五天:分析电路,对原设计电路不断修改,获得最佳设计方案。 第六天:完成整体设计并仿真验证。 第七天:对课程设计进行现场运行检查并提问,给出实践操作成绩。 第八天:完成实践报告的撰写 五、成绩评定 课程设计成绩按优、良、中、及格、不及格评定,最终考核成绩由四部分组成:

1、理论设计方案,演示所设计成果,总成绩40%; 2、设计报告,占总成绩30%; 3、回答教师所提出的问题,占总成绩20%; 4、考勤情况,占总成绩10%; 无故旷课一次,平时成绩减半;无故旷课两次平时成绩为 0 分,无故旷课三次总成绩为 0 分。迟到 20 分钟按旷课处理。

24秒倒计时器设计(课件设计)

目录 一、计时器概述 (1) 1、计时器的特点及应用 (1) 2、设计任务及要求 (1) 二、电路设计原理及单元模块 (1) 1、设计原理 (1) 2、设计方案 (2) 3、单元模块 (3) 3.1、所用各个芯片功能 (3) 3.2、各单元电路 (7) 四、安装与调试 (11) 1、电路的安装 (11) 2、电路的调试 (12) 五、结论与心得 (12) 六、参考文献 (13) 1、总电路图 (14) 2、元件清单 (14) 3、实物 (15)

24秒倒计时器的设计和制作 一、计时器概述 1、计时器的特点及应用 在许多领域中计时器均得到普遍应用,诸如在体育比赛,定时报警器、游戏中的倒时器,交通信号灯、红绿灯、行人灯、交通纤毫控制机,还可以用来做为各种药丸、药片,胶囊在指定时间提醒用药等等,由此可见计时器在现代社会的应用是相当普遍的。 在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就违例了。本课程设计“智能篮球比赛倒计时器的设计”,可用于篮球比赛中,用于对球员持球时间24秒限制。一旦球员的持球时间超过了24秒,它自动的报警从而判定此球员的违例。 2、设计任务及要求 设计一个24秒倒计时器,具体功能要求如下: 1、用小规模集成电路设计24秒倒计时电路; 2、用555定时器产生1Hz的标准脉冲信号; 3、当计时器显示00,同时报警; 4、计时器应具有清零、启动、暂停/继续计时等控制功能。 二、电路设计原理及单元模块 1、设计原理 24秒计时器的总体参考方案框图如图1所示。它包括秒脉冲发生器、

计数器、译码显示电路、报警电路和辅助时序控制电路(简称控制电路)等五个模块组成。其中计数器和控制电路是系统的主要模块。计数器完成24秒计时功能,而控制电路完成计数器的直接清零、启动计数、暂停/连续计数、译码显示电路的显示与灭灯、定时时间到报警等功能。 秒脉冲发生器产生的信号是电路的时钟脉冲和定时标准,但本设计对此信号要求并不太高,故电路可采用555集成电路或由TTL与非门组成的多谐振荡器构成。 译码显示电路由74LS48和共阴极七段LED显示器组成。报警电路在实验中可用发光二极管和鸣蜂器代替。 主体电路:24秒倒计时。24秒计数芯片的置数端清零端共用一个开关,比赛开始后,24秒的置数端无效,24秒的倒数计时器的倒数计时器开始进行倒计时,逐秒倒计到零。选取“00”这个状态,通过组合逻辑电路给出截断信号,让该信号与时钟脉冲信号通过一个与门将时钟截断,使计时器在计数到零时停住。 2、设计方案 图1、电路框图 总体电路说明:

单片机30秒倒计时

天津工业大学 电子CAD课程设计 报告书 三、总体方案 本设计由硬件设计和软件设计两部分组成,总电路如图1所示,硬件设计主要包括单片机芯片选择,数码管选择及晶振,电容,电阻等元器件的选择及其参数的确定;软件设计主要是实现30秒倒计时程序的编写,包括利用中断实现1秒的定时及30秒的倒计时。 具体设计:通过AT89C51型号单片机,由P0 I/O引脚分别控制7SEG–MPX2–CA型号数码管,通过单片机的p2.0和p2.1控制选通数码管控制十位和个位,达到显示30秒倒计时的目的。。30秒倒计时,到0时P1.0 1KHZ 声音报警,P1.1 LED 2 秒闪烁一次。4 秒后声光停

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

图2:AT89C51的核心电路框图 LED数码管显示器概述 本设计中采用的是7SEG–MPX2 –CA型号7段共阳数码管,它是一种半导体发光器件,其基本单元是发光二极管。实物如图3所示: 图3 7SEG–MPX2–CA型号数码管 图5 程序框图

单片机99秒计时器

1设计背景 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 计时器广泛应用于实际生活当中,有倒计时器和计时器,我们本次设计为计时器。计时器广泛应用于各种比赛当中用来计时,往往都精确到百分秒的精度,其次也应用于计时闹钟等。生活中计时器比较常见,而设计计时器是很具有实际意义的。 2 硬件设计: 2.1 99秒计时器的总体设计方案 利用单片机的定时器设计一个秒计时器,其中设有一个按键,当第一次按下按键时,开始计时,第二次按下按键时,停止计时,送入P0和P2端口显示,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个位。第三次按下按键时使定时器清零,等待下一次按键。本设计中需要一个时钟电路,一个复位电路和一个控制电路来实现整个电路的运行,实现00到99的循环计时。 2.2 99秒计时器的组成及其原理图 秒计时器由以下几个部件组成:单片机AT89C51、两个静态数码显示、一个按钮等其它组件。

该电路的工作原理:AT89C51从稳压电路中获得稳定的+5V电压,接到VCC 端,提供稳定的电压;P2、P0口通过电阻接到显示电路的七段数码管的 a b c d e f g 端口上,利用数码管显示数字;RST接复位电路,实现电路的复位;XTAL1、XTAL2接晶振电路;整个电路实现循环动态显示数字00~99. 2.3 AT89C51简单介绍及引脚说明 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 AT89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 VCC:供电电压。 GND:接地。

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单片机实现数码管99秒倒计时

51单片机实现数码管99秒倒计时,其实很简单,就是使用定时器中断来实现。 目的就是学习怎样用单片机实现倒计时,从而实现一些延时控制类的东西,99秒只是一个例子,你完全可以做出任意倒计时如10秒倒计时程序。 定时器定时时间计算公式:初值X=M(最大计时)-计数值。 初值,换算成十六进制,高位给TH0,低位给TL0,如果用定时器0的话。 M(最大计时)如果是16位的,就是2的16次方,最大定时,65535 微秒,实现1秒定时,可以通过定时10毫秒,然后100次改变一次秒值即可。10*100毫秒=1S 计数值:你要定时多长时间,如果定时1毫秒,就是1000微秒,(单位为微秒),如果定时10毫秒,就是10000(微秒),当然,最大定时被定时器本身位数限制了,最大2的16次方(16位定时计数器),只能定时65.535毫秒。定时1S当然不可能1S定时器中断。 下面为实现99秒倒计时C语言源程序 /*了解定时器,这样的话,就可以做一些基本的实验了,如定时炸弹~~,10秒后打开关闭继电器*/ /*数码管,12M晶振*/ #include #define uchar unsigned char sbit p11=P1^1; //连的是继电器。。 code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar shiwei; uchar gewei; void delay(unsigned int cnt) { while(--cnt); } void main() { TMOD|=0x01; /*定时器0 16位定时器X=65535-10000(10毫秒)=55535=D8F0(十六进制)定时10ms */ TH0=0xd8; TL0=0xf0; IE=0x82; //这里是中断优先级控制EA=1(开总中断),ET0=1(定时器0允许中断),这里用定时器0来定时

99秒倒计时 说明

(一)99秒倒计时计数器 一、设计思路: 上电显示99,当发出计时信号开始倒计时,直到0结束计时。 二、设计目的: 1.了解单片机最小系统的设计和工作原理 2.掌握数码管显示原理 3.掌握基本的单片机控制思想及C语言单片机的编程思想 三、工作原理说明: 因为是99秒倒计时,运用单片机的定时器0来精确地定时,并通过单片机的控制在数码管上循环显示,并附加功能为上电为99,当按下按钮开关为发送的开始计时信号,即按下开关开始倒计时,直到0为止。 四、硬件: 单片机、两位一体数码管、排阻、锁存器等 五、程序设计: #include #define uint unsigned int #define uchar unsigned char uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; uchar shi,ge,aa,temp; uchar code table1[]={0x04,0x02}; sbit D=P3^0; sbit D1=P1^1; sbit D2=P1^2; sbit D3=P0^0; sbit D4=P0^1; void inital() { temp=99; D1=1; D2=1; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void delay(uint c) { int a,b; for(a=c;a>0;a--) for(b=110;b>0;b--);

完整word版00-99秒倒计时器程序及仿真

题目一:秒计时器 功能要求: 1.系统上电,数码管显示“99”. 2.每隔1秒,数码管显示减1,减小到“00”后,数码管显示“00”,同时继电器开启。 3.按键的定义如下: “暂停/开始”按键S13:当S13按下时,秒表计时停止,数码管显示当前数值,再次按下时恢复计时。 “设置”按键S14:当停止计时时,按下S14键,可以设置秒数。按键S1-S10分别对应数字0-9,先输入数字为十位数,后输入数字为个位数,若输入数字大于99,数码管显示“99”。设置结束后,按下S13键启动计时。 “重新开始”按键S15:当S15按下时,数码管显示为“99”,秒表从新开始计时。 #include #include unsigned char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char code jp[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77}; unsigned char a[2]={0,0}; unsigned char int_time; unsigned char second=99; unsigned char c; bit zt; bit sz; unsigned char count; unsigned char y; unsigned char x; unsigned char count2; //函数功能:数码管动态扫描延时 void delay(unsigned char s) { unsigned char i,j; for(i=0;i

相关文档
最新文档