當前位置:編程學習大全網 - 編程語言 - 單片機簡單C語言問題,實現壹個個位加法計算器

單片機簡單C語言問題,實現壹個個位加法計算器

妳的問題應該出現在鍵盤處理不完善造成的,稍微修改了壹下妳試試。

#include <reg52.h>

#define uchar unsigned char

#define unit unsigned int

#define OPdata P0 //十位數據口

#define OPdata1 P1//個位數據口

sbit se0=P3^6;//十位選擇

sbit se1=P3^7;//個位選擇

sbit Q=P2^6;

sbit W=P2^5;

sbit E=P2^4;

uchar cis; //按下鍵盤次數

uchar jia1; //加數1

uchar jia2; //加數2

uchar z; //中轉數

uchar shi; //十位數

uchar ge; //個位數

uchar s; //譯碼結果

uchar j; //譯碼結果

uchar sum; //加法結果

uchar keytemp;

void judge(uchar m) //數碼顯像管譯碼

{

switch (m)

{

case 0: s=0x3F; break;

case 1: s=0x06; break;

case 2: s=0x5B; break;

case 3: s=0x4F; break;

case 4: s=0x66; break;

case 5: s=0x6D; break;

case 6: s=0x7D; break;

case 7: s=0x07; break;

case 8: s=0x7F; break;

case 9: s=0x6F; break;

}

}

void judge1(uchar h) //十位數碼顯像管譯碼

{

switch (h)

{

case 0: j=0x3F; break;

case 1: j=0x06; break;

}

}

void judgecis()

{

if (cis==1)

{

jia1=z;

ge=z;

shi=0;

}

else if (cis==2)

{

jia2=z;

ge=z;

shi=0;

cis=0;

}

}

void jiafa(uchar m,uchar n) //加法

{

sum=m+n;

if (sum>=10)

{

ge=sum-10;

shi=1;

}

else

{

ge=sum;

shi=0;

}

}

void main()

{

cis=0;

jia1=0;

jia2=0;

shi=0;

ge=0;

s=0;

j=0;

P2=0XFF;

se0=0;//開啟十位

se1=0;//開啟個位

OPdata=0x3f;//十位

OPdata1=0x3f;//個位

while (1)

{

Q=0;

keytemp=P2;

switch (keytemp)

{

case 0xbb: z=3; cis++;while(P2==0xbb); break;

case 0xbd: z=6; cis++;while(P2==0xbd); break;

case 0xbe: z=9; cis++;while(P2==0xbe); break;

case 0xb7: //等於號

jiafa (jia1,jia2); cis=0; break;

}

Q=1;

W=0;

keytemp=P2;

switch (keytemp)

{

case 0xde: z=8; cis++;while(P2==0xde); break;

case 0xdd: z=5; cis++;while(P2==0xdd); break;

case 0xdb: z=2; cis++;while(P2==0xdb); break;

case 0xd7: z=0; cis++;while(P2==0xd7); break;

}

W=1;

E=0;

keytemp=P2;

switch (keytemp)

{

case 0xee: z=7; cis++;while(P2==0xee); break;

case 0xed: z=4; cis++;while(P2==0xed); break;

case 0xeb: z=1; cis++;while(P2==0xeb); break;

}

judgecis();

judge(ge);

OPdata1=s;

judge1(shi);

OPdata=j;

E=1;

}

}

  • 上一篇:汽車手機遠程啟動,壹鍵啟動跟鑰匙啟動優缺點?
  • 下一篇:變形機器人寫作文
  • copyright 2024編程學習大全網