两位LED数码管自动递减循环显示99--00控制实训(学生版)

合集下载

最新两位数码管循环显示00-99

最新两位数码管循环显示00-99

两位数码管循环显示
00-99
两位数码管循环显示00-99 现在让我们用实验板上的两个数码管来做一个循环显示00~99数字的实验,先来完成必要的硬件部分。

数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同,并且相应的0~9的显示代码也正好相反。

首先我们来介绍两位共阳数码管的单片机驱动方法,
电路如下图:
P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。

因为要显示两位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。

下面我们再介绍一种共阴数码管的单片机驱动方法,电路如下图:
+5V通过1K的排阻直接给数码管的8个段位供电,P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,相应的位可以吸入电流。

单片机的P0口输出的数据相当于将数码管不要显示的数字段对地短路,这样数码管就会显示需要的数字。

共阴数码管的硬件更简单,所以在批量生产时,硬件开销小,节省PCB面积,减少焊接工作量,降低综合成本,所以采用共阴数码管更有利于批量生产,现在销售的试验板都是采用共阴数码管了。

以下是用AT89C51实验板的两位数码管显示00~99依次循环的汇编语言程序。

两位数码管显示

两位数码管显示

课程设计说明书课程名称:《单片机技术》设计题目:两位数码管显示设计学院:电子信息与电气工程学院学生姓名:学号:专业班级:指导教师:2014年6 月13日课程设计任务书两位数码管显示摘要:两位数码管显示设计是基于AT89S52单片机的两位数码显示系统,通过AT89S52进行控制,利用汇编语言编写两位数码管循环扫描动态显示的专用程序来实现两位数码管动态显示系统。

系统主要由电源模块、复位模块、外部时钟电路模块、数码管显示模块构成。

电源电路通过桥堆2W10和三端稳压器7805将交流电压变为5V的直流电压。

复位电路由电容与按键的并联来实现。

时钟通过外部12M的晶振来控制。

两位数码管显示由两个共阳极的三极管进行驱动。

将汇编语言编写的两位数码管动态显示程序写入单片机,使数码管相应段点亮,同时利用人眼的视觉暂留的特性和数码管的余辉效应,在扫描频率足够高时,人眼无法感觉数码管的变化,从而实现数码管的动态显示。

关键词:AT89S52;两位数码管;7805;2W10;动态显示目录1.设计背景 (1)1.1单片机的应用背景 (1)1.2共阳极数码管的显示方法 (1)1.3共阳极数码管的驱动设计 (1)2.设计方案 (1)2.1方案一:共阳极数码管静态显示 (1)2.2方案二:共阳极数码管动态显示 (2)2.3数码管静态与动态显示的优缺点比较 (3)3.方案实施 (3)3.1电源电路设计 (3)3.2复位及震荡电路 (4)3.3单片机接口 (4)3.4软件设计 (4)3.5调试仿真 (6)4.结果与结论 (7)4.1设计结果 (7)4.2设计结论 (7)5.收获与致谢 (7)6.参考文献 (8)7.附件 (8)1.设计背景1.1单片机的应用背景在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,几乎很难找到哪个领域没有单片机的踪迹。

如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。

为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。

单片机_两个数码管显示00~99

单片机_两个数码管显示00~99
delay(10); //延时
P0_1=1; //关闭个位显示
}
}
void key_ccan(void)
{
unsigned char ii;
P1=0xff;
ii=P1;
shi=num/10; //取出十位数
ge=num%10; //取出个位数
P0_0=1;P0_1=1; //关闭显示
P2=Tab[shi]; //P2口送出十位数据显示代码
P0_0=0; //打开十位显示
delay(10); //延时
P0_0=1; //关闭显示
P2=Tab[ge]; //P2口送出个位数据显示代码
P0_1=0; //打开个位显示
按键控制加、减显示00-99(P1接8个独立按键,P10按下为加,P11按下为减,P2
接LED数码管的A- -H并加一个560欧的上拉排阻,P0接数码管DS1- -DS8位选)//
#include<reg52.h>
sbit P0_0=P0^0; //个位数字
sbit P0_1=P0^1; //十位数字
void main()
{
P2=Tab[0];P0_0=0;P0_1=0;//显示00
num=0; //被显示的数置0
while(1)
{
key_ccan(); //调用按键扫描程序
for(i=0;i<count;i++) //显示个位、十位count次后显示的数加1
}
{
case 0xfe: num++;if(num==100) num=0; break;
case 0xfd: if(num==0) num=99;else num--;break;

两位数码管计时0-99 实验

两位数码管计时0-99 实验
该程序具有一定自由性,修改第一行的参数,就可以调节计时的速度。该 值越大,动态扫描每个数的循环次数越多,每个数字显示的时间就越长。该值 越小,动态扫描每个数的循环次数越少,每个数字的显示时间就越短。 注意:在使用定义字节命令伪指令的时候,如果一行写不下,或者为了美观想另起 一行书写,一定注意在新起的一行必须添加伪指令关键字“DB”。另外抄写程序的 学习者一定注意,标号后面的“:”一定不可以省,否则在编译程序的时候会报错。
{ P31=0; P2=a[y]; P30=1; P30=0; P2=a[x]; P31=1;
} } main() { for(i=0;i<100;i++) { b=i/10; //shiwei
c=i%10; //gewei xianshi(c,b); } }
4
单片机实验报告
上述两种编程语言编写程序的思路基本一致,都是通过修改程序中动态显示的 时长实现显示时长的调节。上述两个程序有一个共同的缺点,那就是无法特别准确 的定时。在计时不要求很准确的场合使用可以,但是在对计时准确性要求较高的场 合使用时,则不是很适合。如果要求显示准确性较高,例如秒表,可以采用定时器 中断的方式修改以上程序。
对于没有 Keil 编程软件的编程者,可以将如下代码存入 HEX 文件中,再将该 HEX 文件下载至单片机或导入仿真软件中。 程序 HEX 代码如下: :0300000002008576 :0C008500787FE4F6D8FD758107020000CA :02000000802E50 :100030007530007830B6640050061145053080F503 :1000400075300080F0E53075F00A84F53185F032C6 :100050007C0A7B0A7AFFC2B190B000C2B0E53293F5A0D2B100DAE7DB3E :10007000E3DCDF22C0F9A4B0999282F880908883F3

汇编语言00~99秒表设计报告

汇编语言00~99秒表设计报告

00~99秒表设计报告一、设计题目和要求:题目三:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。

二、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;4.掌握PROTEUS仿真软件的使用方法;5.掌握LED数码管原理及使用方法。

6.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

7.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。

三、系统总体设计框图四、器件介绍1.AT89C51AT89C51单片机的主要工作特性:·内含4KB的FLASH存储器,擦写次数1000次;·内含28字节的RAM;·具有32根可编程I/O线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;2.共阳极7段数码管LED数码管根据LED的接法不同分为共阴和共阳两类,图1是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。

将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。

以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。

当然,LED的电流通常较小,一般均需在回路中接上限流电阻。

假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。

单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位

单片机控制秒表显示时间为00—99(每秒自动加1),暂停,复位

标准文档9创新实践实训报告学院信息电子技术学院专业电子信息工程班级14学籍号姓名指导教师蒋野2017年06月29日单片机控制秒表电路一、电路工作原理1.工作原理用STC89C52设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“暂停”键S2和一个“继续”键S3。

为使本设计系统更加完善,可以引入一个“复位”键S1,以方便对系统的控制。

如图。

本系统采用STC89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。

2.元器件作用(1)STC89C52单片机在电子行业中有着广泛的应用。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。

(2)时钟电路作用是为电路提供唯一的时钟信号。

(3)复位电路外接一个开关,控制电路复位,接通电源电路直接复位,如果没有开关亦可将复位电路引出导线接电源后断开。

(4)本设计要求使用共阳极的数码管,如下是共阳极的数码管的0-9编码:0xc0,0x92,0x82,0xf8,0x80,0x90,0xf9,0xa4,0xb0,0x99.(5)控制电路:S2按下电路停止计时,S3按下电路恢复计时。

二、程序流程图主程序流程图三、检测安装与调试1.元件检测共阳极数码管检测管脚序号利用万用表二极管档红表笔接一个抵住两个管脚,利用另一个接触其他,找出1,2两个管脚,继续分别找出A,D,C,D,E,F,G,Dp管脚。

两位数码管显示设计

课程设计说明书课程名称:单片机原理及应用设计题目:两位数码管显示设计院系:电子信息与电气工程系学生姓名:学号:专业班级:指导教师:2010年 5 月10 日课程设计任务书两位数码管显示设计摘要:两位数码管的显示设计主要有硬件部分和软件部分组成,硬件部分以单片机为核心,在其周围有电源电路、时钟电路、复位电路、驱动电路和显示电路组成。

软件部分用汇编语言编程,用keil软件编译、调试。

最后用proteus软件仿真,形成以单片机为枢纽,以程序为动力,使两位数码管循环显示00-99。

关键词:AT89C52 数码管 keil proteus 汇编语言动态显示目录1.设计背景 (1)1.1设计课题及目的 (1)1.2相关技术与应用领域 (1)2.设计方案 (2)2.1静态设计 (2)2.2动态显示 (2)2.3硬件电路设计方案 (2)3. 方案实施 (3)3.1方案论证 (3)3.2设计内容 (3)3.3硬件设计 (4)3.4软件设计 (6)4. 结果与结论 (7)4.1 结果 (7)4.2 结论 (7)5. 收获与致谢 (7)5.1 收获与致谢 (7)6. 参考文献 (8)7. 附件 (9)7.1仿真原理图 (9)7.2汇编程序 (10)7.3 LED的段码 (10)7.4元件清单 (11)1.设计背景1.1设计课题及目的本课题是以单片机为核心,通过动态扫面的方式,实现两位数码管的动态显示。

单片机即单片微型计算机,是集CPU,RAM,ROM,定时,计数,和多种接口于一体的微控制器,他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上,AT89C52单片机是各单片机中比较具有代表性的一种。

这次课程设计通过对他的学习,应用,从而达到学习,设计,开发软硬件的能力.1.2相关技术与应用领域单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器的CPU、随机存储器RAM、只读存储器ROM、多种输入输出口和中断系统、定时器∕计数器等功能集成到一个硅片上构成一个小而完善的计算机系统。

实验报告

倒计时实验报一、功能利用2位数码管显示99到0的倒计时二、设计思路生成自动每秒减一的变量sec:a)利用定时器生成4ms周期中断;b)对4ms周期中断计数,得到1s脉冲(SecFlag)c)sec初值99,根据秒脉冲修改自动减一,为零后自动在回到99数码管的显示:d)把sec的十位、个位分别放入disp_buff[0/1]e)把disp_buff[0/1]的数字在DS1、DS2上显示出来三、工作原理a)DS1、DS2轮流点亮b)P0.0为0时(P0输出FEH),Q1导通,电流通过Q1流入DS1的阳极;若要显示出0,则除了g、dp之外所有的段均点亮,故此时P2口应输出1100 0000=C0H(Tab1[0])c)P0输出FEH时,DS1点亮,DS2熄灭d)P0输出FDH时,DS1熄灭,DS2点亮四、流程图五、程序#include "reg52.h"bitSecFlag;unsigned char Count4ms;unsigned char disp_buff[2];定义控制那个数码管显示unsigned char disp_cnt; //0..1unsigned char sec;unsigned char dat;code unsigned char Tab[2]={0xfe,0xfd};定义DS1,DS2显示哪一个codeunsignedcharTab1[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0 x83,0xA7,0xA1,0x86,0x8E};//;数码管显示字型表void T0_service(void) interrupt 1外部中断1{TH0=(65536-4000)>>8;TL0=(unsigned char)(65536-4000);Count4ms=Count4ms+1;if (Count4ms==250){Count4ms=0;SecFlag=1;}P0=Tab[disp_cnt];//disp控制点亮的是DS1、DS2dat=disp_buff[disp_cnt];P2=Tab1[dat];disp_cnt=disp_cnt+1;if (disp_cnt==2)disp_cnt=0;}voidFillDispBuffer(void){disp_buff[0]=sec/10;得到十位disp_buff[1]=sec%10; 得到个位}voidChangeTime(void){SecFlag=0;sec=sec-1;if(sec==255)判断是否到重新赋值sec=99;重新附值99FillDispBuffer();}void main()主函数{//initialTMOD=0x01;设置定时器0,工作模式1TH0=(65536-4000)>>8;TL0=(unsigned char)(65536-4000);TR0=1;定时器使能ET0=1;定时器中断使能EA=1;开全局中断//sec=99;FillDispBuffer();while(1){if (SecFlag)等待ChangeTime();}}六、问题程序烧录进去后前三个数码管都亮,第二个和第三个显示的数字相同,原因可能是在焊接时短路,没有焊好。

基于单片机的00秒_99秒的秒表设计说明

课程设计题目:用单片机AT89C51设计一个2位的LED数码显示作为“秒表”专业: 12自动化(2)班学号: 3姓名:华指导教师:蜀阳日期: 2015年6月17日目录一、设计题目和要求:1二、设计目的:1三、设计容:2四、课程设计心得体会18五、参考文献18一、前言21世纪是一个电子技术和电子元件有更大发展的世纪。

回顾百年来电子技术和电子工业发展的成就,举世瞩目。

作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。

现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。

课程设计就是一个理论联系实际的机会。

本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。

作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。

在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。

特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。

用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。

事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。

二、设计题目和要求:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。

设计一个“复位”键,按下“复位”键后,秒表从0开始计时。

三、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术与外围芯片的工作原理与控制方法;3.进一步掌握单片机程序编写与程序调试过程,掌握模块化程序设计方法;4.掌握PROTEUS仿真软件的使用方法;5.掌握LED数码管原理与使用方法。

两位数码管实训报告

一、实训目的1. 理解和掌握数码管的基本工作原理。

2. 学会使用数码管显示数字和字符。

3. 掌握共阴极和共阳极数码管的区别及其应用。

4. 熟悉单片机控制数码管显示的方法。

二、实训内容本次实训主要涉及两位数码管的静态显示和动态显示,使用共阴极数码管作为实验对象。

1. 实验器材单片机开发板(如51单片机、STM32等)两位数码管(共阴极)电阻、电容等电子元件连接线编程软件(如Keil、IAR等)2. 实验原理数码管是一种常用的显示器件,由多个发光二极管组成,能够显示数字、字母和符号。

根据发光二极管的连接方式,数码管分为共阴极和共阳极两种类型。

(1)共阴极数码管共阴极数码管的特点是所有发光二极管的阴极连接在一起,构成公共端。

当需要显示某一位时,将该位对应的发光二极管的阳极接地,即可点亮该位。

此时,其他未选中的发光二极管的阳极均接高电平,不发光。

(2)共阳极数码管共阳极数码管的特点是所有发光二极管的阳极连接在一起,构成公共端。

当需要显示某一位时,将该位对应的发光二极管的阴极接地,即可点亮该位。

此时,其他未选中的发光二极管的阴极均接高电平,不发光。

3. 实验步骤(1)静态显示1. 将单片机的IO口与数码管的段码口连接。

2. 将单片机的IO口与数码管的位选口连接。

3. 编写程序,根据需要显示的数字,设置段码口和位选口的电平。

4. 编译并下载程序到单片机。

(2)动态显示1. 将单片机的IO口与数码管的段码口连接。

2. 将单片机的IO口与数码管的位选口连接。

3. 编写程序,依次点亮每位数码管,实现动态显示效果。

4. 编译并下载程序到单片机。

三、实验结果与分析1. 静态显示在静态显示实验中,我们成功地实现了数字0-9的显示。

实验结果显示,当单片机输出正确的段码和位选信号时,数码管能够正确地显示对应的数字。

2. 动态显示在动态显示实验中,我们实现了两位数码管动态显示数字0-99的效果。

实验结果显示,当单片机依次点亮每位数码管时,数码管能够动态地显示对应的数字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字99~00自动递减循环显示控制
一、实训目的
1.进一步练习使用STEP7-Micro/WIN编程软件。

2.掌握传送指令、段译码指令、数据运算指令的使用方法。

3.掌握脉冲生成指令的使用方法。

4.进一步掌握计数器的使用方法。

二、实训装置
1.S7-200系列CPU224型PLC 1台
2.安装了STEP7-Micro/WIN编程软件的PC机1台
3.PC/PPI编程电缆1根
4.PLC实训装置1套
5.导线若干
三、实训内容
1.控制要求
①PLC开机后,两个LED数码管的初始状态为全灭。

②当启动开关K闭合后,两个LED数码管显示的数字为“99”;然后每隔1秒两个LED 数码管显示的数字自动减1,直至“00”再显示“99”,如此实现数字“99”至“00”自动递减循环显示。

③当启动开关K断开后,两个LED数码管全灭,不再显示任何数字。

2.I/O分配
3.梯形图
四、实训步骤
1.接线。

①将PLC实训装置输入侧COM0端子接24V电源正极、C0端子接24V电源负极;
②输出侧COM0端子接24V电源正极、C0端子接24V电源负极;
③输出侧COM1端子接24V电源正极、C1端子接24V电源负极;
④将两个“LED”实验板上的电源和a ~ g各段按I/O分配与输出侧相连。

2.开机并新建一个项目。

3.程序录入。

4.编译程序并观察编译结果,若提示错误,则修改,直到编译成功。

5.将程序下载到PLC。

6.运行程序。

观察数字显示是否与控制要求一致,如有错误则停止运行程序,返回修改直至正确。

相关文档
最新文档