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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
求大佬帮忙看一看改一改吧,为什么只能显示个位,显示不了十位百位?
; `3 h% Z0 e' x" q1 y#include<reg51.h>' O* Y0 ]' P: G7 @4 j6 l
#define uint unsigned int# I6 \: i3 \( d  E
#define uchar unsigned charsbit P2_3=P2^3;, n& y( t7 r! Z
sbit k1=P3^4;
* z- A# A' b3 |; @. t7 W6 \9 Isbit k2=P3^5;4 }# n: c* j: n( \) O5 D
sbit k3=P3^6;6 @' L: ^' A3 M. ^8 E/ E, i
sbit k4=P3^7;
* N! y" T2 I! U0 H' Y9 ~8 isbit dula=P2^6;
' B9 y% m4 q7 `  d8 @: ^+ jsbit wela=P2^7;, {6 ^# L% J0 G. Z- x
uint pwm,num;
5 k% F. M* V8 W' a. ^4 Z7 wuchar temp,a;
9 X$ M* E3 j3 u1 e; \uchar code table[]=
3 ~: G4 Z/ E8 q$ f{ 0x3f ,0x06 ,0x5b ,0x4f,0x66 ,0x6d, 0x7d ,0x07 ,0x7f, 0x6f}3 r! ^, u. L; s: u8 \2 t" }7 L
;
' D# ]" L# z7 f! U' K7 auint G_H,G_L,D_H,D_L;void delay(uint t){uint x,y;for(x=t;x>0;x--)
: v: {9 c- P; O, ], G3 e8 C8 _4 ?7 z        for(y=150;y>0;y--);! \* G9 B( U7 B) c3 K. ?) F" s: W
}- h3 O- g0 f# {
void display(pwm). v- v& o% r( L2 X
{
' ~1 v' I) c' L3 G: O& E5 T1 Qunsigned char m,n,q;m=pwm/100;n=pwm/100%10;q=pwm%10;/ _; S( ?- ^9 L  F3 D
        dula=10=table[m];dula=0;wela=10=0xfe;wela=0;delay(1);
' x7 ?0 j: L# |5 O, J* f* i        dula=10=table[n];dula=0;wela=1;P0=0xfd;wela=0;delay(1);' T. j$ k! y; c% s
dula=1;/ r3 ]3 j' Y1 E
P0=table[q];0 L, B8 H8 A6 b( b& c( a
dula=0;
" e; D- S6 T0 _  [, Iwela=1;
* [6 ~2 X9 s2 W( D- T& x6 oP0=0xfb;
' \; v$ H5 p1 O- F) w' uwela=0;
$ s$ c$ U  V* v9 Y; Fdelay(1);
6 \- p  ?1 U9 c  \) j. B, R' G3 O}8 A2 V& d% \0 V7 n% A
void main()
7 e% s8 h3 y  ~( A& a{        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);                }}
7 P1 K3 a' H1 Xvoid 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 e& w- Q3 y8 x: e' \
  • 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-2 23:13 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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