找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

适合初学者 C语言《老师的程序》

查看数: 4330 | 评论数: 8 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-4-1 17:49

正文摘要:

期末老师考试前发的资料包给复习

回复

ID:290752 发表于 2018-3-12 20:09
好多程序,很有用
ID:266129 发表于 2017-12-26 17:31
先看看再说
ID:188748 发表于 2017-12-8 23:48
有几个项目?
ID:161785 发表于 2017-3-13 14:54
很好,谢谢。正需要
ID:121518 发表于 2016-5-17 19:16
有什么东西啊?
ID:111337 发表于 2016-4-1 17:54
#include <AT89X52.h>

#define uint unsigned int
#define uchar unsigned char
void display(uint);
void delay(uint);

uchar code Seg_disp[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uint num;

void init()
{
        EA=1;
        EX0=1;
        ET0=1;
        IT0=1;
        TMOD=0x01;
        TL0=(65536-10000)%256;
        TH0=(65536-10000)/256;
        TR0=0;
}

void main()
{
         init();
         while(1)
         {
                  display(num);
         }
}

void timer_0() interrupt 1
{
        TL0=(65536-1000)%256;
        TH0=(65536-1000)/256;
        num++;
        if(num==10000)num=0;
}

void INT0P() interrupt 0
{
        if(F0==0)   //F0&Ecirc;&Ccedil;±ê&Ouml;&frac34;&Icirc;&raquo;&pound;&not;0&acute;ú±í&Ecirc;&Ccedil;&micro;&Uacute;&Ograve;&raquo;&acute;&Icirc;°&acute;&frac14;ü&pound;&not;1&acute;ú±í&micro;&Uacute;&para;&thorn;&acute;&Icirc;°&acute;&frac14;ü
                {
                        F0=1;
                        num=0;
                        TL0=(65536-1000)%256;
                        TH0=(65536-1000)/256;
                        TR0=1;  //&frac12;&laquo;&para;¨&Ecirc;±&AElig;÷T0&micro;&Auml;&iquest;&ordf;&Ecirc;&frac14;&acute;ò&iquest;&ordf;
                }
        else
                {
                        TR0=0;
                        F0=0;
                }
}

void display(uint a)
{
        P0=0xff;
        P2=0x08;
        P0=Seg_disp[a%10];
        delay(5);
       
        P0=0xff;
        P2=0x04;
        P0=Seg_disp[a%100/10];
        delay(5);
       
        P0=0xff;
        P2=0x02;
        P0=Seg_disp[a%1000/100];
        delay(5);
       
        P0=0xff;
        P2=0x01;
        P0=Seg_disp[a/1000];
        P0=P0&0x7f;
        delay(5);
}

void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=114;y>0;y--);
}
ID:111337 发表于 2016-4-1 17:50
程序不难,但都有注释

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

Powered by 单片机教程网

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