欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

四位數碼管的加減計數器

作者:西西   來源:本站原創   點擊數:  更新時間:2014年04月05日   【字體:

/*四位數碼管的加減計數器程序,陳永飛同志寫,采用AT89C2051單片機,4位共陽數碼管顯示*/
#include<reg51.h>
#define leddata P1 //數碼管的段碼輸出
#define uchar unsigned char
#define uint unsigned int
uint shu;
sbit jia=P3^0; //加一按鍵
sbit jian=P3^1; //減一按鍵
sbit qw=P3^2; //數碼管的千位
sbit bw=P3^3; //數碼管的百位
sbit sw=P3^4; //數碼管的十位
sbit gw=P3^5; //數碼管的個位
uchar code tab[]={ 0xC0,/*0*/
0xF9,/*1*/
0xA4,/*2*/
0xB0,/*3*/
0x99,/*4*/
0x92,/*5*/
0x82,/*6*/
0xF8,/*7*/
0x80,/*8*/
0x90,/*9*/
};

void desplay();
void delay(uchar a) //延時函數
{
uchar x,y;
for(x=0;x<a;x++)
for(y=0;y<200;y++);
}
void key() //按鍵掃描函數
{
if(jia==0)
{
delay(50);
if(jia==0)
{
while(!jia)desplay();
if(shu==9999)shu=0;
else shu++;
}
}
if(jian==0)
{
delay(50);
if(jian==0)
{
while(!jian)desplay();
if(shu==0)shu=9999;
else shu--;
}
}
}
void desplay() //顯示函數
{
leddata=tab[shu/1000]; qw=0;delay(200);qw=1;
leddata=tab[shu%1000/100];bw=0;delay(200);bw=1;
leddata=tab[shu%100/10];sw=0;delay(200);sw=1;
leddata=tab[shu%10];gw=0;delay(200);gw=1;
}
void main() //主函數
{
while(1)
{
key();
desplay();
}
}

關閉窗口

相關文章