IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 基于51单片机可撤销溢出报警计算器 -> 正文阅读

[嵌入式]基于51单片机可撤销溢出报警计算器

代码在keil软件中正常显示

#include"reg51.h"
#define GPIO_KEY P1
#define GPIO_DIG P0
typedef unsigned char u8; ? ? ? ?
typedef unsigned int u16;

sbit LSA=P2^2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//74HC138????
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit beep=P3^0;
sbit k=P3^1;

u16 KeyValue; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //′??ü?μ ? ? ?
u16 KeySwitch; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//?D??ê?·?°′??°′?ü
u8 code duanxuan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x00}; //????0-0xff
u16 i;
u16 box[8]={0,11,11,11,11,11,11,11}; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//ó?êy×é′?·???ò???????μ?μ?μ?êy×?

void delay(u16 i) ? ? ? ? ? ? ? ? ? ? ? ? ? ? //?óê±
{ ?
? ? ?while(i--);
}

void display() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//??ê?3ìDò
{ ? ?
?? ?
? ? ?LSA=0; LSB=0; LSC=0; ? ? ? ?
?? ? ? GPIO_DIG=duanxuan[box[7]];
?? ? ? delay(50); GPIO_DIG=0x00; ? ? ? ? ? ? ? ?//·à?μéá
?? ?
? ? ?LSA=1; LSB=0; LSC=0;?
?? ? ? GPIO_DIG=duanxuan[box[6]];
?? ? ? delay(50); GPIO_DIG=0x00;
?? ?
? ? ?LSA=0; LSB=1; LSC=0;
? ? ?GPIO_DIG=duanxuan[box[5]];
?? ? ? delay(50); GPIO_DIG=0x00;?
?? ?
? ? ?LSA=1; LSB=1; LSC=0;
?? ? ? GPIO_DIG=duanxuan[box[4]];
?? ? ? delay(50); GPIO_DIG=0x00;?
?? ?
? ? ?LSA=0; LSB=0; LSC=1;?
?? ? ? GPIO_DIG=duanxuan[box[3]];
? ? ?delay(50); GPIO_DIG=0x00;?
?? ?
? ? ?LSA=1; LSB=0; LSC=1;?
?? ? ? GPIO_DIG=duanxuan[box[2]];
?? ? ? delay(50); GPIO_DIG=0x00;?
?? ??? ??
? ? ?LSA=0; LSB=1; LSC=1;?
? ? ?GPIO_DIG=duanxuan[box[1]];
? ? ?delay(50); GPIO_DIG=0x00;?
?? ??? ??
? ? ?LSA=1; LSB=1; LSC=1;?
?? ??? ? GPIO_DIG=duanxuan[box[0]];
?? ??? ? delay(50); GPIO_DIG=0x00;?
?? ??? ??
}
void ring()?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//?ˉ±¨3ìDò
{
? ?while(1)
? ? {
? ? ? beep=~beep;
? ? ? delay(99);
?? ? ? ?display();
? ? }
}

void Withdrew() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//í???3ìDò
{
? if(k==0)
?? ?{
?? ??? ?delay(1000);?
? ? if(k==0)?
? ? {
? ? ? ? ? ? for(i=0;i<8;i++) ? ? ? ?//ê?è?ò???êy£?êy×??íóòò??ˉò??? ? ? ?
? ? ? ? ? ? {
?? ??? ??? ??? ??? ??? ??? ?box[i-1]=box[i];?? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?} ??? ??? ??? ??? ?
? ? ? ??? ??? ? ? ?box[7]=0;
??
? ? ?while(!k); ? ? ? ? ? ? ? ? ? ? //?ì2a°′?üê?·??é?a
? ? }
? }
}
void KeyDown()
{
?? ?
? ? u16 a=0;
? ? GPIO_KEY=0x0f;
? ? if(GPIO_KEY!=0x0f)
? ? {
? ? ? ? delay(1000);
? ? ? ? if(GPIO_KEY!=0x0f)
? ? ? ? { ??
? ? ? ? ? ?
? ? ? ? ? ? GPIO_KEY=0x0f;
? ? ? ? ? ? switch(GPIO_KEY) ? ? ? ? ? ? ? ? ? ?//?ü?ì2???
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case(0X07): KeyValue=7;break;
? ? ? ? ? ? ? ? case(0X0b): KeyValue=8;break;
? ? ? ? ? ? ? ? case(0X0d): KeyValue=9;break;
? ? ? ? ? ? ? ? case(0X0e): KeyValue=21;break;
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? GPIO_KEY=0xf0;
? ? ? ? ? ? switch(GPIO_KEY)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case(0X70): KeyValue=KeyValue; ? break;
? ? ? ? ? ? ? ? case(0Xb0): KeyValue=KeyValue-3; break;
? ? ? ? ? ? ? ? case(0Xd0): KeyValue=KeyValue-6; break;
? ? ? ? ? ? ? ? case(0Xe0): KeyValue=KeyValue-9; break;
? ? ? ? ? ? }
? ? ? ?if(KeyValue==0 || KeyValue==1 || KeyValue==2 || KeyValue==3 || KeyValue==4 || KeyValue==5 || KeyValue==6 || KeyValue==7 || KeyValue==8 || KeyValue==9)
? ? ? ? ?{
? ? ? ? ? KeySwitch=1;
? ? ? ? ?}
? ? ? ? ? ? while((a<50)&&(GPIO_KEY!=0xf0)) //?éê??à2a
? ? ? ? ? ? {
? ? ? ? ? ? ? ? delay(1000);
? ? ? ? ? ? ? ? a++;
? ? ? ? ? ? }
? ? ? ? }
? ? }
}

void main()
{ ?
? ?u16 a=0,b=0,c=0;
? ?beep=0;
? ?while(1)
? ?{ ? ??
? ? ? ? ?display();?? ??? ??
? ? ? ? ?KeyDown();
?? ??? ? ? ? Withdrew();?? ??? ??
? ? ? ? ?if(KeySwitch==1) ?
? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? for(i=7;i>0;i--) ? ? ? ?//ê?è?ò???êy£?êy×??í?ò×óò??ˉò??? ? ? ?
? ? ? ? ? ? {box[i]=box[i-1];} ? ? ? ? ? ??
? ? ? ? ? ? box[0]=KeyValue; ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? KeySwitch=0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ?}

? ? ? ? ?else ?if(KeyValue==-2) ? ? ? //1éá??ü
? ? ? ? ?{?
? ? ? ? ? ? ? for(i=0;i<8;i++)
? ? ? ? ? ? ? ? ? box[i]=0; ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? display();?
? ? ? ? ?}

? ? ? ? ?else ?if(KeyValue==21) ? ? ? //?ó·¨
? ? ? ? ?{
? ? ? ? ? ? ?a=box[0]+box[1]*10+box[2]*100+box[3]*1000+box[4]*10000+box[5]*100000+box[6]*1000000+box[7]*10000000; ??
? ? ? ? ? ? ?//????μúò???êyμ??μ′?μ?aà?
?? ??? ??? ??? ? ??? ? for(i=0;i<8;i++)
? ? ? ? ? ? ?box[i]=0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//?????μ£?×?±?è???ò???êy
? ? ? ? ? ? ?while(1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? ?display();
? ? ? ? ? ? ? ? ? ? ?KeyDown(); ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ?Withdrew();
? ? ? ? ? ? ? ? ? ? ?if(KeySwitch==1)
? ? ? ? ? ? ? ? ? ? ?{ ?
? ? ? ? ? ? ? ? ? ? ? ? for(i=7;i>0;i--)
? ? ? ? ? ? ? ? ? ? ? ? {box[i]=box[i-1];}
? ? ? ? ? ? ? ? ? ? ? ? box[0]=KeyValue;
? ? ? ? ? ? ? ? ? ? ? ? KeySwitch=0;
? ? ? ? ? ? ? ? ? ? ?}?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ? if(KeyValue==-1) break; ? ? ? ? ? ? ? ?//°′μèóúo?oó?áê??-?·
? ? ? ? ? ? ? }
? ? ? ? ? ? ? b=box[0]+box[1]*10+box[2]*100+box[3]*1000+box[4]*10000+box[5]*100000+box[6]*1000000+box[7]*10000000; ?
? ? ? ? ? ? ? //????μú?t??êyμ??μ′?μ?b
?? ??? ??? ??? ??? ??? ??? ?c=a+b;
? ? ? ? ? ? ? ? ? ? ?if(c>=10000)?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//3??챨?ˉ
?? ??? ??? ? ? ? ? ? ? ? ? ? ? ?ring();
?? ??? ? ? ? ? ? ? ? ? ? else
?? ??? ??? ? ? ? ? ? ? ? ? ? ? ?beep=0;?? ??? ?
? ? ? ? ? ? ?box[0]=c%10; ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ?box[1]=c/10%10;
? ? ? ? ? ? ?box[2]=c/100%10;
? ? ? ? ? ? ?box[3]=c/1000%10;
? ? ? ? ? ? ?box[4]=c/10000%10;
? ? ? ? ? ? ?box[5]=c/100000%10;
? ? ? ? ? ? ?box[6]=c/1000000%10;
? ? ? ? ? ? ?box[7]=c/10000000%10;
? ? ? ? ? ? ?display();
? ? ? ? }
?
? ? ? ? ?else ?if(KeyValue==18) ? ? ? //??·¨ ?
? ? ? ? ?{
? ? ? ? ? ? ?a=box[0]+box[1]*10+box[2]*100+box[3]*1000+box[4]*10000+box[5]*100000+box[6]*1000000+box[7]*10000000;
? ? ? ? ? ? ?for(i=0;i<8;i++)
? ? ? ? ? ? ?box[i]=0;
? ? ? ? ? ? ?while(1)
? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ?display();
? ? ? ? ? ? ? ? ? ? ?KeyDown();
?? ??? ??? ??? ??? ??? ? ? ? ??? ? Withdrew();
? ? ? ? ? ? ? ? ? ? ?if(KeySwitch==1)
? ? ? ? ? ? ? ? ? ? ?{ ?
? ? ? ? ? ? ? ? ? ? ? ? for(i=7;i>0;i--)
? ? ? ? ? ? ? ? ? ? ? ? {box[i]=box[i-1];}
? ? ? ? ? ? ? ? ? ? ? ? box[0]=KeyValue;
? ? ? ? ? ? ? ? ? ? ? ? KeySwitch=0;
? ? ? ? ? ? ? ? ? ? ?}
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ? if(KeyValue==-1) break;
? ? ? ? ? ? ?}?? ??? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ??? ??
? ? ? ? ? ? ?b=box[0]+box[1]*10+box[2]*100+box[3]*1000+box[4]*10000+box[5]*100000+box[6]*1000000+box[7]*10000000; ? //??b??
? ? ? ? ? ? ?c=a-b;
? ? ? ? ? ? ? ? ? ? ?if(c>=10000)?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//3??챨?ˉ
?? ??? ??? ? ? ? ? ? ? ? ? ? ? ring();
?? ??? ? ? ? ? ? ? ? ? ? else
?? ??? ??? ? ? ? ? ? ? ? ? ? ? beep=0;?? ??? ??? ??? ??? ??? ??
? ? ? ? ? ? ? ?box[0]=c%10; ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ?box[1]=c/10%10;
? ? ? ? ? ? ? ?box[2]=c/100%10;
? ? ? ? ? ? ? ?box[3]=c/1000%10;
? ? ? ? ? ? ? ?box[4]=c/10000%10;
? ? ? ? ? ? ? ?box[5]=c/100000%10;
? ? ? ? ? ? ? ?box[6]=c/1000000%10;
? ? ? ? ? ? ? ?box[7]=c/10000000%10; ??
?? ??? ? ? ? ? ? ? display();
? ? ? ? }
?? ??? ??? ??? ??
? ? ? ? ?else ?if(KeyValue==15) ? ? ? //3?·¨ ?
? ? ? ? ?{
? ? ? ? ? ? ?a=box[0]+box[1]*10+box[2]*100+box[3]*1000+box[4]*10000+box[5]*100000+box[6]*1000000+box[7]*10000000;
? ? ? ? ? ? ?for(i=0;i<8;i++)
? ? ? ? ? ? ?box[i]=0;?
? ? ? ? ? ? ?while(1)
? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ?display();
? ? ? ? ? ? ? ? ? ? ?KeyDown();
? ? ? ? ? ? ? ? ? ? ?Withdrew();
? ? ? ? ? ? ? ? ? ? ?if(KeySwitch==1)
? ? ? ? ? ? ? ? ? ? ?{ ?
? ? ? ? ? ? ? ? ? ? ? ? for(i=7;i>0;i--)
? ? ? ? ? ? ? ? ? ? ? ? {box[i]=box[i-1];}
? ? ? ? ? ? ? ? ? ? ? ? box[0]=KeyValue;
? ? ? ? ? ? ? ? ? ? ? ? KeySwitch=0;
? ? ? ? ? ? ? ? ? ? ?}
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ? if(KeyValue==-1) break;
? ? ? ? ? ? ?}
? ? ? ? ? ? ? b=box[0]+box[1]*10+box[2]*100+box[3]*1000+box[4]*10000+box[5]*100000+box[6]*1000000+box[7]*10000000; ??
? ? ? ? ? ? ? c=a*b;
? ? ? ? ? ? ? ? ? ? ?if(c>=10000)?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//3??챨?ˉ
?? ??? ??? ? ? ? ? ? ? ? ? ? ? ?ring();
?? ??? ? ? ? ? ? ? ? ? ? else
?? ??? ??? ? ? ? ? ? ? ? ? ? ? ?beep=0;?? ??? ??? ??? ??? ??? ??? ?
? ? ? ? ? ? ?box[0]=c%10; ? ? ? ? ? ? ? ??
? ? ? ? ? ? ?box[1]=c/10%10;
? ? ? ? ? ? ?box[2]=c/100%10;
? ? ? ? ? ? ?box[3]=c/1000%10;
? ? ? ? ? ? ?box[4]=c/10000%10;
? ? ? ? ? ? ?box[5]=c/100000%10;
? ? ? ? ? ? ?box[6]=c/1000000%10;
? ? ? ? ? ? ?box[7]=c/10000000%10;
? ? ? ? ? ? ?display();
? ? ? ? ?}
?? ??? ??? ??? ??
?? ??? ??? ??? ? ?? ??? ??
? ? ? ? ?else ?if(KeyValue==12) ? ? ? //3y·¨
? ? ? ? ?{
? ? ? ? ? ? ?a=box[0]+box[1]*10+box[2]*100+box[3]*1000+box[4]*10000+box[5]*100000+box[6]*1000000+box[7]*10000000;
? ? ? ? ? ? ?for(i=0;i<8;i++)
? ? ? ? ? ? ?box[i]=0;
? ? ? ? ? ? ?while(1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? ?display();
? ? ? ? ? ? ? ? ? ? ?KeyDown();
?? ??? ??? ??? ??? ??? ??? ? ? ? ? Withdrew();
? ? ? ? ? ? ? ? ? ? ?if(KeySwitch==1)
? ? ? ? ? ? ? ? ? ? ?{ ?
? ? ? ? ? ? ? ? ? ? ? ? for(i=7;i>0;i--)
? ? ? ? ? ? ? ? ? ? ? ? {box[i]=box[i-1];}
? ? ? ? ? ? ? ? ? ? ? ? box[0]=KeyValue;
? ? ? ? ? ? ? ? ? ? ? ? KeySwitch=0;
? ? ? ? ? ? ? ? ? ? ?}
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ? if(KeyValue==-1) break;
? ? ? ? ? ? ? }
? ? ? ? ? ? ? b=box[0]+box[1]*10+box[2]*100+box[3]*1000+box[4]*10000+box[5]*100000+box[6]*1000000+box[7]*10000000;?
? ? ? ? ? ? ?c=a/b;
? ? ? ? ? ? ? ? ? ? ? if(c>=10000)?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//3??챨?ˉ
?? ??? ??? ? ? ? ? ? ? ? ? ? ? ?ring();
?? ??? ? ? ? ? ? ? ? ? ? ?else
?? ??? ??? ? ? ? ? ? ? ? ? ? ? ?beep=0;?? ??? ??? ??? ??? ??? ??? ?
? ? ? ? ? ? ?box[0]=c%10; ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ?box[1]=c/10%10;
? ? ? ? ? ? ?box[2]=c/100%10;
? ? ? ? ? ? ?box[3]=c/1000%10;
? ? ? ? ? ? ?box[4]=c/10000%10;
? ? ? ? ? ? ?box[5]=c/100000%10;
? ? ? ? ? ? ?box[6]=c/1000000%10;
? ? ? ? ? ? ?box[7]=c/10000000%10;
? ? ? ? ? ? ?display(); ? ? ? ? ? ? ??
? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ?
? ?}

}


? ? ? ?
? ? ? ? ? ? ? ? ? ? ?
? ?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:10:05  更:2022-01-12 00:10:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 12:23:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码