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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
求大佬帮忙看一看改一改吧,为什么只能显示个位,显示不了十位百位?
* G9 S2 w/ f' F6 B, u5 Q#include<reg51.h>
' \7 I' N% o6 W! T. p2 `#define uint unsigned int
& U) V% u3 F- t7 u% I! t- J#define uchar unsigned charsbit P2_3=P2^3;
* M* L& ?. ]1 Z- osbit k1=P3^4;8 v; J) s1 J( b6 E8 C
sbit k2=P3^5;& n1 ]. S# _7 ]+ j9 E
sbit k3=P3^6;; C* W8 ~5 @0 W$ M: z
sbit k4=P3^7;! z4 Y& ^$ o, R& ]5 @
sbit dula=P2^6;5 L( y4 W  y; |7 L3 c( J1 z0 P
sbit wela=P2^7;0 S7 E+ G* b2 }2 ~/ p
uint pwm,num;
0 c' Z' S& p. K5 M' Iuchar temp,a;
2 x& |1 d" d/ T+ Q) D4 auchar code table[]=
+ i, I$ y# J- ]$ G{ 0x3f ,0x06 ,0x5b ,0x4f,0x66 ,0x6d, 0x7d ,0x07 ,0x7f, 0x6f}( Z  f/ ^9 @8 ^* |% L2 @0 W
;
- c8 C& E8 z# g, o4 quint G_H,G_L,D_H,D_L;void delay(uint t){uint x,y;for(x=t;x>0;x--)
9 m1 M# x% u$ a, C, x) s        for(y=150;y>0;y--);4 W$ {/ f) Q+ }& g
}. \0 F3 J5 X' H* _# x' C5 k( a
void display(pwm)/ M. v) m9 Y* E* a' q* x7 F* J
{
. V3 u, z0 S; `. Nunsigned char m,n,q;m=pwm/100;n=pwm/100%10;q=pwm%10;
6 ^7 O( @" E$ z        dula=10=table[m];dula=0;wela=10=0xfe;wela=0;delay(1);6 \/ e0 O9 \, J( V
        dula=10=table[n];dula=0;wela=1;P0=0xfd;wela=0;delay(1);
% D2 L3 k0 G+ I' ~& P9 hdula=1;0 t9 k7 Z% ^: ~
P0=table[q];1 r4 u6 U& m- y( o
dula=0;
4 z/ |- C2 @  O+ l2 X$ s; Iwela=1;+ t' D8 f1 n5 s
P0=0xfb;
, L& Q! `3 T' f7 |8 L9 r3 |wela=0;( Y+ }& r8 a7 I) y
delay(1);
; W8 d6 W7 F9 _8 @4 P) g  X9 e( O}% i4 X, @4 w: E1 s; d. G
void main()7 a* k8 ]4 `) F  K
{        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);                }}: Y9 X% |) i: M; ]7 |( R, f6 w. b
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;}}
5 i8 |) t1 D) c/ Y- n7 t
  • 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-8-23 19:25 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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