找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机数码管动态100递减程序

[复制链接]
跳转到指定楼层
楼主
ID:70976 发表于 2014-12-27 13:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <REG51.H>-
#define uchar unsigned char-
#define uint unsigned int-
sbit cun_1=P0^6;//段选的锁存器使能端;-
sbit cun_2=P0^7;//位选的锁存器使能端;-
uchar num,a,bai,shi,ge;-
void delay(uint z);-
void display(uchar bai,uchar shi,uchar ge);-
void init();-
uchar code table[]={-
0x3f,0x06,0x5b,0x4f,-
0x66,0x6d,0x7d,0x07,-
0x7f,0x6f,0x77,0x7c,-
0x39,0x5e,0x79,0x71};-
main()-
{-
    init();-
            while(1)-
            {               -
                if(a==20)-
                        {-
                         a=0;-
                         num--;-
                        if(num==0)-
                         num=100;-
                         bai=num/100;-
                         shi=num%100/10;-
                         ge=num%10;-
                         }-
             display(bai,shi,ge);-
              }-
}-
void display(uchar bai,uchar shi,uchar ge)-
{-
cun_2=1;-
P2=~0XFE;-
cun_2=0;-
cun_1=1;-
P1=~table[bai];-
cun_1=0;-
delay(2);-
cun_2=1;-
P2=~0XFd;-
cun_2=0;-
cun_1=1;-
P1=~table[shi];-
cun_1=0;-
delay(2);-
cun_2=1;-
P2=~0XFb;-
cun_2=0;-
cun_1=1;-
P1=~table[ge];-
cun_1=0;-
delay(2);-
}-
void delay(uint z)-
{-
uint x,y;-
for(x=z;x>0;x--)-
for(y=1000;y>0;y--);-
}-
void init()-
{-
num=101;-
TMOD=0x01;-
TH0=(65536-50000)/256;-
TL0=(65536-50000)%256;-
EA=1;-
ET0=1;-
TR0=1;-
}-
void time_0() interrupt 1-
{-
TH0=(65536-50000)/256;-
TL0=(65536-50000)%256;-
a++;-
}-
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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