lzth.net
当前位置:首页 >> 数码管显示100秒倒计时 >>

数码管显示100秒倒计时

简单说两句,这个也不是很难,有很多种方案,说一个吧,首先是两位数码管的驱动,可以选择单片机带max7219然后外扩两个led数码管,硬件连接既简单也成熟,并且单片机驱动程序也是很成熟的,这样通过程序可以随时改变数码管显示,然后就是复位键和开始键,可以使用中断或查询方式,如果是中断,直接将其连接到外部中断和1上,如果是查询直接连到单片机的两个GPIO上,最好做个防抖动电路,防止多次运行,具体程序应该也不是很困难,呵呵,就是有点麻烦.

从60秒到30秒再到90秒并循环倒计时显示.

可以用两个二位一体共阴数码管,即为两组.倒计时用定时器定时50ms,采用中断方式,并对中断计数20次就是1秒.用一个变量做秒计数,每一秒减一,即可以实现倒计时了.第一组数码管显示倒计时仿真结果如下.第二组数码管显示倒计时结果.

大体思路!a;先要写好0、1、2、3、4、5、6、7、8、9数字在七段数码管显示的数据表程序 b;写好60每秒减一直到零的程序,然后写要接位程序(30-1) c:写好将每次数字变化后的数字经过a; 输出到七段数码管显示

Net work1 LD SM0.1 MOVW +50, VW10 //初始化50秒 Net work 2 LDW>= VW10, 0 //当大于0S时动作 A SM0.5 //要SM0.5每接通一个周期的时候为1S EU DECW VW10 //每秒递减 MOVW VW10, VW22 DIV +10, VD20 ITB VW20, VB40 ITB VW22, VB42 SEG VB40, QB0 //个位 SEG VB42, QB1 //十位 Net work 3 LDWMOVW 0, QW0

都是一样的,你设定一个变量,首先等于30秒,然后每次都减一,当减到0的时候跳转到3秒减一,到零的时候有跳转到30秒,用if语句连环实现

C51程序,很简单,大学的时候做过,首先要计算晶振的频率和执行一步需要多少时间,做个1秒的定时器,然后把某个变量减一输出到P1.4~p1.7就可以了.

51单片机的15秒倒计时是比较简单的.至于显示就更简单了.因为你使用的是数码管.所以不需要设置字模块.另外观看电路发现是使用译码器的.就更简单了.至于程序.网上搜素.会有一大把.至于用不用中断.完全看你的需要.如果只是单纯的倒计时是可以不用的最.

#include <REGX51.H> sbit zanting=P3^2; sbit fuwei=P3^3; unsigned char miao=60; unsigned char shi_ge,shi_shi,fen_ge,fen_shi,miao_ge,miao_shi; unsigned int temp=0; unsigned char duanma[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x

#include <reg52.h> #define uchar unsigned char#define uint unsigned int sbit duan=P2^6; sbit wei=P2^7; uchar disp=0; uchar time=10; int miao=0; uchar code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0

dzrs.net | prpk.net | wlbk.net | msww.net | gsyw.net | 网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com