找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2313|回复: 4
打印 上一主题 下一主题
收起左侧

关于单片机LED数字倒计时的程序但是看不太懂

[复制链接]
跳转到指定楼层
楼主
我网上找了一个关于单片机LED数字倒计时的程序但是看不太懂
有没有大神帮我注释一下意思 再弄个protues 仿真电路图

# include <reg51.h>
sbit kh=P1^1;
sbit km=P1^1;
sbit ks=P1^2;
sbit st=P1^3;
sbit b=P3^7;
unsigned char
table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88, 0x83,0xc6,0xa1,0x86,0x8e};
unsigned char i=0,hour=0,minute=0,second=0;

void delayms(unsigned int x)

{ unsigned char a=160;

while(x--) { while(a--); a=160; } }

main() { TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TMOD=1;

TR0=0;

ET0=1;

EA=1;

while(1) {

P0=table[hour/10];

P2=0x20;

delayms(1);

P2=0xff;

P0=table[hour%10];

P2=0x10;

delayms(1);

P2=0xff;

P0=table[minute/10];

P2=0x08;

delayms(1);

P2=0xff;

P0=table[minute%10];

P2=0x04;

delayms(1);

P2=0xff;

P0=table[second/10];

P2=0x02;

delayms(1);

P2=0xff;

P0=table[second%10];

P2=0x01;

delayms(1);

P2=0xff;

if(!kh)

{ delayms(200);

hour++;

if(hour>23)

hour=23; }

else if(!km)

{ delayms(200);

minute++;

if(minute>59)

minute=59; }

else if(!ks)

{ delayms(200);

second++;

if(second>59)

second=59; }

if(!st)

{ delayms(200);

TR0=1; }

if(TR0==1&&hour==0&&minute==0&&second<3) b=!b; delayms(1); } }

void t0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256;

i++;

if(i>=20)

{ i=0; second--;

if(second>59)

{ second=59;

minute--;

if(minute>59)

{ minute=59;

hour--;

if(hour>23)

{hour=0; minute=0; second=0; TR0=0; } } } } }


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:194564 发表于 2017-5-2 15:42 | 只看该作者
自己解决算了 !
回复

使用道具 举报

板凳
ID:111634 发表于 2017-5-2 20:55 | 只看该作者
本帖最后由 zl2168 于 2017-5-2 21:02 编辑

给你介绍一个能仿真、语句有注释的倒计时案例
能预置初值的倒计时秒表
先Proteus仿真一下,确认有效。
实例96 能设置初值的倒计时秒表.rar (40 KB, 下载次数: 14)

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,书中电路和程序设计有详细说明,电路与程序真实可靠可信可行,程序语句条条有注解。
回复

使用道具 举报

地板
ID:194564 发表于 2017-5-4 09:58 | 只看该作者
谢谢了
回复

使用道具 举报

5#
ID:194871 发表于 2017-5-4 23:04 | 只看该作者
直接用数字电路可以搭出来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表