找回密码
 注册
关于网站域名变更的通知
查看: 449|回复: 1
打印 上一主题 下一主题

基于单片机的智能计算机程序 可以实现加减乘除运算

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-10 13:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
基于单片机的智能计算机程序 可以实现加减乘除运算: |" }& |. ^) Z% _

, W4 m9 _5 a. b+ a% ?
8 R' }+ ]) {3 o0 i( r' @. w9 {5 ~- s) R9 s
单片机源程序:
5 N4 y, x3 k3 v$ x/ G/*  S16 S12 S8 S4分别是123+: r6 I# Y* Z  Z$ V" e. \) b
        S15 S11 S7 S3分别是456-
* R  t$ h8 `1 N2 @8 s5 ]! a        S14 S10 S6 S2分别是789*
  j4 _$ A, ]7 I5 w" D& z( |7 t        S13 S9 S5 S1分别是0 CLR = // s- v$ a' Z6 G! d9 X
*/% K* w5 _1 Z! ~& P
/* 实现两个数的运算,每个数的位数至少可以八位  */
+ f; ~! H* U9 z' Q! ~, A+ l#include<reg52.h>                        
3 k$ n. b, H2 }* otypedef unsigned char uint8;& x% v" t& A' t
typedef unsigned int uint16;
1 B/ _/ u, E3 S6 h5 ^sbit rw=P2^5;
5 ~4 c' ^6 O2 Z) a% h1 s* i7 [sbit rs=P2^6;* Q" N* v3 ~; c( S! Q8 k) F" K
sbit en=P2^7;
+ w+ _  _3 K/ _( \4 T/ K4 h' J1 Zsbit led=P3^7;
7 z, |/ r/ Q$ j4 I; R( m: e  nsbit psb=P3^2;$ O/ o5 m8 Q5 }# }8 n
sbit beep=P2^0;
- z, K: p- ^7 Nuint8 key,num;( Y! F( i, u' r3 G. x% B4 N/ v
uint8 fuhao;//定义具体的那个符号,是加减还是乘除。
: {+ S! d- ^2 I; @& v4 W1 iuint8 flag;        //定义有没有按下符号键,这个是统称
( N$ [" F; j9 i! K9 g* ~8 |long a,b,c,d;        //定义运算数据的第一个和第二个及等于的数变量! F  v- p0 R: D2 Z/ X$ O4 r
uint8 k; //定义小数点后面显示的位数
& I$ q' {2 A: c( T. K2 V% }! ^uint8 biao,keyflag;
& f7 k, m: y1 b1 }9 j3 Quint8 dat1[]={1,2,3,0x2b-0x30,4,5,6,0x2d-0x30,7,8,9,0x2a-0x30,0,0x01-0x30,0x3d-0x30,0x2b-0x30 };//保存显示的数据$ ^) l1 v4 x! k. }
void delay(uint16 i)
, m" t* d  t% q& O! E{
- S: ^& m4 S  R4 y. q        while(i--);
, E- a: ]3 A% T( Y}) ~$ p* L" \, g
void write_com(uint16 com)" r+ ?  ~! {- u2 D+ A
{
7 p0 Z7 t& z: m* _ rs=0;
4 V& Q# g1 p2 h6 D8 M0 y) u P0=com;
; x8 d! [3 P. Q( L  v0 B0 W1 Y7 D+ {! J delay(500);
% F6 s, z2 S" I en=1;( N0 G5 D; n" }, ]) |
delay(500);
. }5 r" r' ?1 r% V9 L en=0;1 a7 {+ ]+ Q& ~- s5 E5 H
}" |2 _2 H* w1 e3 ^& }
void write_data(uint16 date)- W' D) L* g+ _, D! ?$ H# u
{
$ [* P# y0 N9 y0 o+ l rs=1;
+ W2 k/ w* }  p% x' C& H5 D P0=date;9 N7 ~! ?% E) w0 F# q2 L- m, j
delay(500);/ r+ {+ [* @7 x3 _2 b' N
en=1;
& ^+ k5 r6 ?8 W* Y! S$ K6 A delay(500);
) H8 F! f+ m# C! |) v% y) P* D. j en=0;
7 I7 M) p8 t' i% T( `! F4 K }; Q' ?) C5 M: I; C; ?" z+ x
void lcdinit()
' k0 F+ J. m9 ^5 k{
$ x9 G) R/ J; O$ b        psb=1;0 G! w/ H5 O; C# x  |% a
rw=0;$ n/ S1 z% H. Z" E
en=0;
9 z  |/ Q% `. |3 {  write_com(0x30);
8 q( J9 P5 [, ]& e$ f# O$ { delay(500);
. e" Q: A7 H3 I% x6 j& n* a  write_com(0x0c);' H/ i8 Q7 f+ s/ V& N; ~/ M! T
delay(500);
, t0 h- n' O7 c# a# k7 H write_com(0x01);, _4 r; ]6 _5 V  u* m' l
delay(500);
8 Q$ }) X9 g) _9 O5 |/ K        key=0;) l7 r( @% J5 F! h9 Z7 s; h
        num=0;
9 z1 K( Z6 m" M5 a+ J# q% d        flag=0;3 {+ O. W, N7 w7 n
        fuhao=0;& ~7 t) g/ M; I. |* {
        a=0;
* M7 p1 z) y! u5 h) p+ ?        b=0;5 b2 I7 ?* m, Q7 `
        c=0;
- ?2 V9 z" l6 @2 F/ c        d=0;  ?. {5 ^/ B* e4 C
        biao=0;
8 e( e' H7 C6 m        led=0;: ]3 ^: n! C+ _; t2 D
}
& b: q, n7 z$ @0 l6 n6 q7 Y$ h& n5 C3 qvoid keyscan()) l1 M) i. C1 k) l0 \+ l/ G. M
{: W2 k: y" h4 z7 p% s/ E5 f
        P1=0xfe;   //令第一行为0,然后判断是哪一列按下
, G9 _3 X# s2 }1 [( y8 R        if(P1!=0xfe)
. o- w  U- J1 B6 S        {& r" E. \& o  f9 k
                delay(1000);# {* e- B. ?+ l) T! A6 ~
                if(P1!=0xfe)
8 O4 z8 @" a2 y5 u9 T1 A                {3 b: h, ]. Z3 q$ a# ?8 S7 |
                        key=P1&0xf0;" m/ y# q9 J1 f  p9 H! c
                        switch(key)
, R' U! w; e7 e1 z                        {
  M3 x4 u3 Z; ~; n                                case 0xe0: num=0;if(keyflag==1){keyflag=0;write_com(0x01);};break;          //1
2 z( {. s  t* c                                case 0xd0: num=1;if(keyflag==1){keyflag=0;write_com(0x01);};break;          //2
' m1 k1 Z* k- u                                case 0xb0: num=2;if(keyflag==1){keyflag=0;write_com(0x01);};break;          //34 U# t6 B& Y3 j1 J% L6 o& |! T; d
                                case 0x70: num=3;break;          //加! q( f# _  n# K) P
                        }1 H, h3 g: A3 j8 @$ O
                }
9 P; z# V/ z* z. D/ S                while(P1!=0xfe);
' e" n- M) `% B. z- }9 ~                if(num==0||num==1||num==2)         //确认第一行的数1,2,3+ Y  l7 J" s6 o/ A) s6 h) Q
                {
% {' z, R! N' ]' Y                        if(flag==0)         //没有按下符号键( q+ L4 m" x# k6 z+ _2 I: \( Z
                        {
# f$ `( a3 j( F. U' d" h6 E                                //led=1;
9 b+ e9 I( Z3 q                                a=a*10+dat1[num];        
; g+ W" l) _! k. m, s0 h0 V                        }" @5 q5 \( P$ W! |
                        else
3 z) A3 k5 M* U# s8 q                        {
# Z, d0 C* a- ^                                //led=1;5 T% o/ j% r( F. e( s/ y: h
                                b=b*10+dat1[num];
1 o. s* V. u7 ^! K                        }
7 Z9 u& [# G- Q4 W                ( L0 r6 ]* J6 m8 T3 E: n! \- N
                }
: m: b0 F; h3 J5 m2 {+ p2 N                if(num==3)
- m) u' Z/ M- [0 L% O$ `5 y; R                {
3 O/ m/ w0 j! r# |, \                        //led=0;
8 `* H4 s' M  T' S& |* j7 g5 b' m                        flag=1;# ]- ~. Z9 `+ s1 [1 @0 m
                        fuhao=1;//加号+        
2 r  [$ J. u3 Y3 b                }1 q0 y' |0 h9 }* J+ P; V
                write_data(0x30+dat1[num]);" R- [5 K. n1 q* ]. k  _
        }
+ R3 T$ G3 _6 L3 P/ w; P: L/ ]  x5 }4 C! d; Q* ~
        P1=0xfd;                                //令第二行为0,判断是哪一列按下! ^) p3 C  x' |0 S; t. {
        if(P1!=0xfd)
5 p' m: j4 X7 l& j' {& J) h- s        {
) l' d) ?& ~5 _1 P1 p! e                delay(1000);
- P* [. A4 `; P: X                if(P1!=0xfd)6 P( g; x& F4 _2 B7 }( f- A1 o5 e0 H
                {
8 n3 }4 J- D: _( _/ e" }( i                        key=P1&0xf0;
- R& @, |0 S4 L" J% K! f, ~  }                        switch(key)
. O  c% {: W* A1 K6 ]                        {4 k: c! G. T: ]& r* l* S
                                case 0xe0: num=4;if(keyflag==1){keyflag=0;write_com(0x01);};break;          //4                                 
" u! _' L) c! K' V% n/ S                                case 0xd0: num=5;if(keyflag==1){keyflag=0;write_com(0x01);};break;          //5& o* U; O/ k' N0 _
                                case 0xb0: num=6;if(keyflag==1){keyflag=0;write_com(0x01);};break;          //69 c$ l5 d; m# X8 E
                                case 0x70: num=7;break;          //减—
" Z* K1 u. T) b. i# F" k                        }        / k9 L, l" n. L% D) m1 _+ C# A8 \
                }8 \7 a2 m& k  b) G
                while(P1!=0xfd);4 Q: R" c; g7 x" X
                if(num==4||num==5||num==6)# R' s; `- I* X# A! b
                {
$ H- Y( f- S. ~. j7 O                        if(flag==0)         //没有按下符号键6 r1 u$ h: O$ ^1 J& H& Y
                        {
) `# I9 a9 D8 f( z. f                                //led=1;
. Q* V& X7 k8 L, {  F/ S                                a=a*10+dat1[num];        
' l/ v. ~6 |+ R( w9 k7 `& |0 t                        }0 H! x: g+ E  g8 r% b( o$ F. K
                        else4 l; Z3 R! K1 w/ j6 h
                        {
5 v- w/ z! l. C2 @' O+ M& |, X                                //led=1;+ s( R! A: h5 p5 E
                                b=b*10+dat1[num];3 z1 I& b! m& x) i5 C; K
                        }                        
- N; Q6 F4 j, R! Y- q) _                }) S5 U# u7 c* O, }
                else4 S5 T: {' @: Q( x8 q
                {9 c+ X8 T, u  C. K* o# P
                        flag=1;% u6 T# T/ i9 g- d# |& F/ G
                        fuhao=2;//带表减号: U$ l- A- G. ^' @2 z1 i
                }- G% c- Y: E; B, ~
                write_data(0x30+dat1[num]);+ M( f$ n/ t" |9 L4 D7 B9 N
        }1 I& K0 [* p0 K6 d' \; K! R" P

: n, a9 M' i5 c- D8 f        P1=0xfb;                 //令第三行为0,判断哪一列按下
. |& Z9 v4 v( e9 L( \0 a/ u        if(P1!=0xfb)
. l! s% U& ~7 E9 ~        {
0 ?, a, L/ D% i                delay(1000);! a" \2 [7 e0 V6 r3 l2 q+ L
                if(P1!=0xfb)! G: E" g% P! k4 ~$ w+ h5 u
                {, |9 A7 Z& _% u# J
                        key=P1&0xf0;+ k+ t1 `: G+ B- R% p, \/ _
                        switch(key)/ t' J0 b! b! m& P) ~! t& I
                        {
- ~* h; s; X/ {0 T: O8 m3 o                                case 0xe0: num=8;if(keyflag==1){keyflag=0;write_com(0x01);};break;          //7
# Z# K* n* r' D" L% s' _                                case 0xd0: num=9;if(keyflag==1){keyflag=0;write_com(0x01);};break;          //8
1 A  C: k6 i/ w                                case 0xb0: num=10;if(keyflag==1){keyflag=0;write_com(0x01);};break;  //9& f6 b$ m2 b# @7 c( w! C9 _5 B- ^0 p
                                case 0x70: num=11;break;  //乘*2 o" J/ Q9 r' r0 V
                        }        
. Y" h' _. i4 y! n8 H                }/ W# d/ H! [: |/ E% y- O( p# |
                while(P1!=0xfb);1 s; o! L! k. }3 h4 E: B
                if(num==8||num==9||num==10)  d2 w, \6 o! r
                {
( Z& k  A/ J6 I& ?. Q+ J$ e1 t                        if(flag==0)         //没有按下符号键
# z( F3 k5 q' R2 z3 A0 V                        {
% E1 o  c" O( n                                //led=1;
1 z+ m' }. q1 q" O( j" s                                a=a*10+dat1[num];        3 V6 S! _3 s! ?: `! M
                        }
( x* t' _2 G: R                        else
) s7 m9 i! Q, ?4 y2 j% F; V                        {
7 R4 h2 ], c" T; E/ r: I                                //led=1;
7 u( {& E! O9 I: a1 h# {7 K; c                                b=b*10+dat1[num];
8 u+ Q% y- g( A; }! r+ d                        }                        * j* l  K' O4 S- s4 Z7 W
                }1 s5 g* l) n. W' ]
                else" ^6 }! c5 K( D4 t
                {1 F1 ^! B% w) @. n% n- U
                        flag=1;5 d& N# S( i0 f* ~; Y  S
                        fuhao=3;//带表乘号*
9 x7 D/ ]6 X' Q  D! r. u                }, N5 A# F" K% y, G, u
                write_data(0x30+dat1[num]);
3 K6 B6 j4 f( ?! ?, `        }
1 o5 o# n. R' R) C6 n5 V, p
; O' P" |: C2 u! q' l        P1=0xf7;                 //令第四行为0,判断哪一列按下# S2 d9 A5 {; U0 J
        if(P1!=0xf7)8 g7 t6 j7 G; f" `6 z
        {
0 l3 R" |7 I' K( B; X                delay(1000);$ n6 D# b/ P' \, c0 k, Q1 X
                if(P1!=0xf7)
$ m( F6 F5 Q3 w5 n  x                {# k' w; m, @* y9 S" Y
                        key=P1&0xf0;! T# Q: R# K: o  L; P/ v
                        switch(key)2 m( J1 G8 t" n* N1 h4 b" a
                        {
% Z! B3 ^7 Y; _8 n( K                                case 0xe0: num=12;if(keyflag==1){keyflag=0;write_data(0x01);};break;  //08 [9 K( ?4 a2 x
                                case 0xd0: num=13;break;  //清除rst+ b4 S" f7 ~3 J9 ~: k  a; T
                                case 0xb0: num=14;break;  //等号=+ v& G2 A" J5 p
                                case 0x70: num=15;break;  //除/; x# k9 T, {: X4 S! @6 f
                        }        / I2 |9 K$ C4 Y& x, A! l) |1 k
                }
' T1 ~- |" N' x1 M# ~' U                while(P1!=0xf7);
% j" V( ?2 D7 \; a- r8 B1 U* W3 X                switch(num)( J- a4 n  k, B0 S& y1 [  w, k
                {+ ^) a; w+ I4 T
                        case 12: 0 s- h. |) f) N0 K
                                        if(flag==0)         //没有按下符号键
( p9 X! q% |% m* d+ Z/ d                                        {8 `: H+ D) ?. V0 e6 Z
                                                //led=1;2 Y; H- a/ D1 x! o. |! ?0 Z1 {/ Z  V
                                                a=a*10+dat1[num];
" B9 C; a4 e+ S0 w5 P1 c# e                                                write_data(0x30);        
  B7 j& R) X9 H' {- d9 k                                        }# M$ V2 `8 @* T% M
                                        else
( ~8 \( H; B  |7 @! C9 w% ~$ m                                        {
- Q2 a2 n" L# R" a                                                //led=1;
& z: L" M* ]; {                                                b=b*10+dat1[num];' S' g" E' |; K" f4 Q8 I' m
                                                write_data(0x30);
! C7 R% l7 @# i& |/ X. E                                        }
- A+ e) u& q/ x; m( ?' @                                        break;9 b7 u& @5 K& P, K# o. ^
                        
) D* X" I% K% K5 K# ^! A                        case 13:
$ F) G( q$ C4 I, X. K6 s% H+ G8 l) d                                        write_com(0x01);        //清屏指令                        
/ b( s% E0 Z& P, e- F, y& H4 T                                        a=0;
& G" C2 X) Y- p                                        b=0;2 \4 S  O+ F# y& V
                                        flag=0;
6 b, J9 l* S  P0 H2 ^9 _& \, _                                        fuhao=0;/ q) x$ }5 s  Y) C
                                        break;
0 w+ |3 v/ O; z5 W                        case 15:6 A; b6 h! w  c% d  [
                        
0 a! j# w3 F- [& U" F6 v                                        flag=1;0 c. o- `! Z$ c* w
                                        fuhao=4;6 `, P: r6 Q1 c( p7 b% Q& \! l
                                        write_data(0x2f);//除号/
. H' ^5 X) e  G# A- `8 c. t1 x                                        break;: n+ a; G* x9 i+ H; Q* \( [0 _0 v
                                        4 \' O" h+ `+ D" ?6 P
                        case 14:                                 ! R6 W9 Q( c" |
                                        if(fuhao==1)//加( A' Y, `% F; a3 Y4 ^% B7 X
                                        {
9 `- S* s6 L% S/ B. f5 E( \                                            write_com(0x4f+0x80);
9 _  T. f4 _& H% Z                                                write_com(0x04);//设置光标左移,屏幕不移动
/ T9 S' L4 K* a" H; |2 T8 P- p8 ?                                                c=a+b;
) g& M) N3 U% l# Y                                                while(c!=0)         //一位一位显示% ~, l$ M' V1 N( W( n' n7 A1 m
                                                {
  `, D- L. M! p6 L( Q" T" F                                                        write_data(0x30+c%10);//显示结果的最后一位在0x4f的位置) H, d; R# g* l' B
                                                        c=c/10;//取前面的结果数据        
& b$ d+ G, ^  I                                                        keyflag=1;, Q; J: H& l# H- V3 o# T
                                                }1 b: g5 |2 |. V  l
                                                write_data(0x3d); //显示等于号=1 v' q& {* U3 u: H
                                                a=0;
! u& j& O$ l, |+ u9 O" b; k9 ~2 t                                                b=0;
1 I9 |' m+ _! W5 t& \                                                flag=0;
- t' ?3 H5 W; O+ Q! X                                                fuhao=0;//全部清除为0' K1 D0 G# r3 \7 ^- d: {* e) j
                                        }
% `3 n* s# v2 \% e                                        if(fuhao==2)   //减. U% Z2 _  @4 |0 m7 Q5 {, P
                                        {
- L4 p! ^) I# [& d* H9 S                                                write_com(0x4f+0x80);
0 x6 b  j/ ]) o6 `" \2 `. A* t                                            write_com(0x04);//设置光标左移,屏幕不移动
& r% w/ |( C) L0 `; g; U                                                if(a>b)5 v( L( h& M7 r2 w! A7 B
                                                        c=a-b;
" S) d& f: c# p; _% {2 e! T5 a                                                else
- O- c% ~4 q7 i/ H                                                        c=b-a;
) F  z) q* K( w; L                                                0 ~2 v& o& V5 `7 c/ `% [
                                                while(c!=0)         //一位一位显示+ V0 l4 ]9 L* g; K  b
                                                {( V1 M- J4 ^! E& P. P
                                                        write_data(0x30+c%10);//显示结果的最后一位在0x4f的位置' ?: B% g0 z) E
                                                        c=c/10;//取前面的结果数据        6 m& |& v- q" R$ Y
                                                        keyflag=1;* B$ V" ?; \5 U* N, B1 x( r) r6 f
                                                }
; b8 r3 Y4 Q4 W$ V' \8 P7 v                                                if(a<b)        write_data(0x2d); //显示-号
3 F' \; |7 ^' \' M8 c; A; |                                                write_data(0x3d); //显示等于号=
9 G0 h" |& S! O: y, D2 Z                                                a=0;
7 i6 I& `* B* I% @0 \                                                b=0;' I8 d, a! O0 h% D3 L) B0 c: i7 u
                                                flag=0;
5 k7 ?) n  Q5 t) O                                                fuhao=0;//全部清除为0
$ D* W3 w0 u9 A8 w# b2 e                                        }) q6 S2 C  J5 r. T1 s0 L' Z
                                        if(fuhao==3)//乘法               
/ j+ C" S) {: \                                        {' ^4 b9 j+ e! [; o" g9 `
                                                write_com(0x4f+0x80);
" H2 x1 h! ~. n, b5 z7 d                                                write_com(0x04);//设置光标左移,屏幕不移动9 _) Y8 s( g! d
                                                c=a*b;
2 r, p! Z+ J/ X5 `                                                while(c!=0)         //一位一位显示" }) l9 c* P# t# `5 z( A
                                                {, j) y+ x/ M  k, N7 ?4 O
                                                        write_data(0x30+c%10);//显示结果的最后一位在0x4f的位置: N0 E" Q+ Q, S8 I# ]) ?% {
                                                        c=c/10;//取前面的结果数据        2 E- q+ r( r" r+ U3 V+ P
                                                        keyflag=1;
% I9 Z0 F4 y( x  ^5 n                                                }
* [6 p, G: C- s) L4 p4 I0 i$ X                                                write_data(0x3d); //显示等于号=) l* o  K% g+ i% v9 u# e/ A  w
                                                a=0;1 s- [6 |1 k% I' b! t$ e0 x0 F
                                                b=0;
) y9 ?2 F8 I" V                                                flag=0;
" d" J$ X3 ^' g/ Q$ a7 c4 B: Q                                                fuhao=0;//全部清除为0        ) `4 X' V3 ?/ H
                                        }" U- S* {+ w, |. F
                                        if(fuhao==3)//乘法               
' _0 b; v1 T& C- `9 O/ o                                        {2 {5 l  o1 r! \( c/ K5 G  ~8 {
                                                write_com(0x4f+0x80);
. }8 |5 _) B% }% ?                                                write_com(0x04);//设置光标左移,屏幕不移动7 e( ^# R) G9 z$ x& p, c! Y
                                                c=a*b;) I" W( K# x  {8 T  R7 m$ p  R
                                                while(c!=0)         //一位一位显示/ H3 Y% S3 i$ v' T
                                                {
1 N4 _) N0 C3 p0 C+ b1 @                                                        write_data(0x30+c%10);//显示结果的最后一位在0x4f的位置
, |5 G- x5 ?7 v# p6 n                                                        c=c/10;//取前面的结果数据        
  g' B3 H# @0 `4 |                                                        keyflag=1;
6 X' D4 h. N9 s                                                }
) V7 k% e+ N* c; g: F0 [                                                write_data(0x3d); //显示等于号=
1 t$ [: L) c- n8 z# v# p! G                                                a=0;
. R  m/ Z+ W3 X3 }1 B- t) J                                                b=0;' U% D- i' _* R% k( D
                                                flag=0;6 Z1 A* p: N& n. ]6 p- \
                                                fuhao=0;//全部清除为0        $ i1 C# d/ r8 {! B3 I0 g3 S
                                        }0 W/ F7 z! g1 `: u
                                        if(fuhao==4)
7 o/ U- g: z6 Y* q& n) A. B5 j                                        {
1 I, c. i' R) C: u                                                k=0;
7 i  Y' _  U8 c, ]! \                                                write_com(0x4f+0x80);: F; X  ^0 q  ?6 ?6 |6 |# I3 x
                                                write_com(0x04);//设置光标左移,屏幕不移动
1 x9 v  o6 n; t( I                                                c=(long)(((float)a/b)*1000);//强制转换为long。
7 i  W' Y5 c8 C4 E( g                                                while(c!=0)         //一位一位显示
* W: u3 D( `& P$ ^0 {                                                {
) Q% K+ k( v9 c" o, w                                                        k++;
% k5 K5 H' c( c. A                                                        write_data(0x30+c%10);//显示结果的最后一位在0x4f的位置
# \1 S" E7 V/ Z$ X2 z3 B                                                        c=c/10;//取前面的结果数据& N' l+ V0 x* G9 s2 ^
                                                        if(k==3)8 F) L" h! c& y5 v0 G* o9 A' r
                                                        {
6 ]* S/ n$ R. F/ {                                                                write_data(0x2e);' d' k  d- \0 w7 c
                                                                k=0;
! e( w6 Q2 Y! e& ?4 O; C1 b1 A2 `                                                        }               
' U" R5 M, D# W2 }                                                        keyflag=1;% K1 K7 r1 E) Z/ g& R5 {4 M
                                                }9 T6 }7 u# r; p6 e! R" v
                                                if(a/b<0)          //如果a比b小的话那么除的结果最高位是04 V5 U8 M- ]( H/ d2 M/ p0 {% ^
                                                {6 q' A- p, d- u8 J& ^" E
                                                        write_data(0x30);        
$ A; N# T+ f; ]5 r. e                                                }
% j' J5 f$ e3 A2 L6 U. m* c5 t                                                write_data(0x3d); //显示等号' F" f) B6 n% _  H2 f* T
2 e4 M% I% k8 j+ o# F
…………限于本文篇幅 余下代码请下载附件…………
  m, }8 @2 t% U9 A- R; n
游客,如果您要查看本帖隐藏内容请回复
# b2 ]' A/ q4 {1 }$ e3 e

0 J3 Z8 K  u6 ]& S6 |4 R8 y/ T

该用户从未签到

2#
发表于 2019-1-10 17:01 | 只看该作者
看看楼主的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-11 04:35 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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