久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機 簡單計算器
[打印本頁]
作者:
2901672092
時間:
2019-7-15 15:33
標題:
51單片機 簡單計算器
代碼:
#include <reg51.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char table[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
unsigned char pos[]={0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01};
uint num[10];
uint cnt,flag,num1,num2,op,st;
unsigned long res;
uint col,row;
/*--------------?óê±10ms×ó3ìDò---------*/
void delay10ms(void)
{
unsigned int TempCyc = 5552*2;
while(TempCyc--);
}
void update()
{
cnt = 1;
num[cnt] = res % 10;
for (;;)
{
if (res>10)
{
res = res/10;
cnt++;
num[cnt] = res % 10;
}
else
break;
}
st = 1;
}
void delay(unsigned int k)
{
unsigned int j;
for (j=0; j<k; j++)
{}
}
void main(void)
{
uchar keyval;
uint i;
cnt = 0;
flag = 0;
num1 = 0;
num2 = 0;
op = 0;
st = 0;
for (;;)
{
P1 = 0xf0;
keyval = 0xf0;
if ((P1&0xf0) != 0xf0)
{
if (st != 0)
{
st = 0;
cnt = 0;
}
keyval = P1^0xf0;
switch (keyval) //col
{
case (0x10):
col = 1;
break;
case (0x20):
col = 2;
break;
case (0x40):
col = 3;
break;
case (0x80):
col = 4;
break;
}
delay10ms();
P1 = 0x0f;
keyval = P1^0x0f;
switch (keyval)
{
case (0x01):
row = 1;
break;
case (0x02):
row = 2;
break;
case (0x04):
row = 3;
break;
case (0x08):
row = 4;
break;
}
if ((col<4 && row<4)) //1~9
{
cnt++;
if (flag == 0)
{
num1 = num1*10 + 9 - 3*row + col;
num[cnt] = 9 - 3*row + col;
}
else
{
num2 = num2*10 + 9 - 3*row + col;
num[cnt] = 9 - 3*row + col;
}
}
if (row == 4 && col == 1) //0
{
if (cnt!=0)
cnt++;
if (flag == 0)
{
num1 = num1*10;
if (cnt != 0)
num[cnt] = 0;
}
else
{
num2 = num2*10;
if (cnt != 0)
num[cnt] = 0;
}
}
if (row == 4 && col == 2) //C
{
cnt = 0;
flag = 0;
num1 = 0;
num2 = 0;
op = 0;
}
if (col == 4) //option
{
flag = 1;
cnt = 0;
op = row;
}
if (row == 4 && col == 3) //=
{
switch (op)
{
case (1):
res = num1+num2;
update();
break;
case (2):
res = num1-num2;
update();
break;
case (3):
res = num1*num2;
update();
break;
case (4):
res = (num1*10/num2+5)/10;
update();
break;
}
flag = 0;
num1 = 0;
num2 = 0;
op = 0;
}
P1 = 0xf0;
while((P1&0xf0)!=0xf0);
}
P2 = 0x00;
for (i = 1; i <=cnt; i++)
{
P2 = pos[i];
if (st == 0)
P0 = table[num[cnt-i+1]];
else
P0 = table[num[i]];
delay(300);
}
}
while (1)
;
}
2019-07-12_185550.png
(174.35 KB, 下載次數: 23)
下載附件
2019-7-15 15:32 上傳
原理圖
作者:
b1gfish
時間:
2019-7-21 11:19
正好需要,謝謝分享
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久av综合
|
自拍偷拍av
|
三级黄色片在线观看
|
成人午夜在线视频
|
亚洲夜射
|
国户精品久久久久久久久久久不卡
|
三级国产三级在线
|
玖玖久久
|
欧美国产日韩在线观看
|
蜜桃视频在线观看免费视频网站www
|
日本a∨视频
|
日韩精品一区二区三区免费观看
|
久久精品亚洲成在人线av网址
|
欧美激情精品久久久久久免费
|
在线播放亚洲
|
亚洲一区成人
|
久久乐国产精品
|
欧美九九
|
美美女高清毛片视频免费观看
|
亚洲成人一区二区
|
国产精品电影在线观看
|
www.夜夜骑.com
|
色婷婷综合成人av
|
欧美亚洲日本
|
久久99精品久久久久
|
一级做受毛片免费大片
|
日韩中文一区二区三区
|
久久国产婷婷国产香蕉
|
日韩视频在线免费观看
|
伊人一区
|
在线精品国产
|
一区二区精品电影
|
91麻豆精品一区二区三区
|
新91
|
国产视频黄色
|
日本 欧美 三级 高清 视频
|
91天堂网
|
亚洲免费一
|
亚洲综合大片69999
|
日韩成人一区二区
|
亚洲精品中文字幕
|