找回密码
 注册
查看: 344|回复: 3
打印 上一主题 下一主题

为什么只能显示个位,显示不了十位百位?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-11-16 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
求大佬帮忙看一看改一改吧,为什么只能显示个位,显示不了十位百位?
! L/ O0 Y4 }0 q% r1 Z8 ?( ?9 I#include<reg51.h>
6 P9 L- R$ N6 v( K( Z#define uint unsigned int
, d2 d6 W" H( ~+ w4 T#define uchar unsigned charsbit P2_3=P2^3;
* q* ~  b' W, csbit k1=P3^4;# E6 ]) j! U% a0 u" K
sbit k2=P3^5;
5 j9 k( S  q2 R) ^  }. y& }sbit k3=P3^6;
8 j3 o+ A; L4 [; W, b4 ssbit k4=P3^7;
' A' `* j) G2 U3 nsbit dula=P2^6;
$ p# I. a+ `1 I$ \! t; C: }4 Dsbit wela=P2^7;6 e/ c# G; P4 s! ?- M
uint pwm,num;0 v; \4 B/ [4 Z* e# O% ?
uchar temp,a;
; T) s. @" M1 k1 \) Muchar code table[]=7 B, Q; T5 T, y( H/ z8 `' R4 h
{ 0x3f ,0x06 ,0x5b ,0x4f,0x66 ,0x6d, 0x7d ,0x07 ,0x7f, 0x6f}
- D# L. F1 v; a) J) V" b1 \;
- |* N- i$ {+ ?# W( l6 P; |0 kuint G_H,G_L,D_H,D_L;void delay(uint t){uint x,y;for(x=t;x>0;x--)* ~! |+ |+ p2 ^/ A; N+ `' v
        for(y=150;y>0;y--);  |: M# M/ c  D) E  c3 v4 N& E
}3 p( o, J3 `; Y; b' o4 `1 d
void display(pwm)
% @1 e/ |1 K, H{& p* o1 \1 a1 d6 }
unsigned char m,n,q;m=pwm/100;n=pwm/100%10;q=pwm%10;
  K: }& R* Z  |6 N9 T5 l; M# w        dula=10=table[m];dula=0;wela=10=0xfe;wela=0;delay(1);
# y3 Y2 U3 b& |/ O0 q        dula=10=table[n];dula=0;wela=1;P0=0xfd;wela=0;delay(1);
  ]7 J% a, o# P: q0 P' a; |dula=1;8 ?2 T) a* L8 r# N: L. j( l% y3 s
P0=table[q];
$ W/ m9 A2 j7 d( j& ?% K- @dula=0;
8 p  l# q% m( ]" pwela=1;1 d5 n, e$ k8 J% p
P0=0xfb;
1 A# A' m( T- p8 Rwela=0;
" L2 o% |, a% v, |7 Ddelay(1);
- W5 q* c  h# E/ h8 v6 Z}* ^( k8 t0 p3 p# o
void main()
# t( B0 u) @, ^- I" H9 k5 z/ v1 |{        EA=1;  ET0=1;  TMOD=0x01;  TR0=1;        P2_3=0; while(1)        {    G_H=(65536-pwm)/256;    G_L=(65536-pwm)%256;    D_H=(65536-100+pwm)/256;    D_L=(65536-100+pwm)%256;     if(k1==0) {delay(10);while(!k1);TR0=1;pwm=50;}                 if(k2==0) {delay(10);while(!k2);pwm=(pwm==100)?100pwm+1);}                 if(k3==0) {delay(10);while(!k3);pwm=(pwm==0)?0pwm-1);}                 if(k4==0) {delay(10);while(!k4);TR0=0;P2_3=0;pwm=0;}                TF0=0;          display(pwm);                }}
- g0 j. m( L% R4 y2 c6 Q. [void timer0() interrupt 1{    P2_3=~P2_3;    if(P2_3==1) {TH0=G_H;TL0=G_L;}    if(P2_3==0) {TH0=D_H;TL0=D_L;}}
6 x7 `' E4 p+ |
  • TA的每日心情
    开心
    2023-1-3 15:10
  • 签到天数: 2 天

    [LV.1]初来乍到

    推荐
    发表于 2022-11-16 11:04 | 只看该作者
    可以DEBUG看看

    该用户从未签到

    3#
    发表于 2022-11-16 11:13 | 只看该作者
    代码没有具体看,不过你不显示,应当是算错了吧,51单片机可以单步调试的。可以DEBUG看看

    该用户从未签到

    4#
    发表于 2022-11-16 13:23 | 只看该作者
    我看了,你是算错了。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-5-28 18:01 , Processed in 0.078125 second(s), 24 queries , Gzip On.

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

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

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