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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
求大佬帮忙看一看改一改吧,为什么只能显示个位,显示不了十位百位?. x5 ~$ i% s$ ^* x1 y6 k
#include<reg51.h>; |# G  ]( b% s" f$ |
#define uint unsigned int
  ?! H) F) l# x, S( P( R" y4 H#define uchar unsigned charsbit P2_3=P2^3;
. w2 A- t/ r8 [sbit k1=P3^4;
& s7 `# v+ q* g8 Y0 Usbit k2=P3^5;
+ ^4 I. B7 X. [! P+ l! rsbit k3=P3^6;
7 n& T+ Z* R& z7 h5 bsbit k4=P3^7;, Y( A( G7 q& V( C6 f! V
sbit dula=P2^6;  Q$ I4 X5 M$ A2 z
sbit wela=P2^7;, @& _& G1 y7 v% T
uint pwm,num;
; X; r" O: @7 f5 V0 luchar temp,a;
- I( n' W/ k) H& C) z8 quchar code table[]=" Y0 G6 L; D% Q0 G+ o
{ 0x3f ,0x06 ,0x5b ,0x4f,0x66 ,0x6d, 0x7d ,0x07 ,0x7f, 0x6f}9 a8 f0 m4 ]& a8 ^0 H' M9 |$ V
;( w. E' g3 A  ^
uint G_H,G_L,D_H,D_L;void delay(uint t){uint x,y;for(x=t;x>0;x--)! i& G& V, T# c$ I( k5 _
        for(y=150;y>0;y--);
, `1 J5 v0 l; G( _/ U}
( L. J* s- S% ?) e  K: Q% i; q, tvoid display(pwm)
6 s" F% G( j5 \' v* P* b4 c2 j{  `, v/ V4 p$ V: x
unsigned char m,n,q;m=pwm/100;n=pwm/100%10;q=pwm%10;, E) }8 r% q9 w
        dula=10=table[m];dula=0;wela=10=0xfe;wela=0;delay(1);0 B' {: ~+ G# y9 J5 R( U7 Y* K& {$ v
        dula=10=table[n];dula=0;wela=1;P0=0xfd;wela=0;delay(1);' _. i- W% {- ?- ~( k
dula=1;" p/ a( [, `% i+ S4 q8 ]
P0=table[q];
# v2 {8 C1 A3 ?; t! Adula=0;
* k+ X" _+ q) k, P4 Z5 ~- X3 wwela=1;! s; h6 q8 g5 {( o7 w. ]$ b5 B
P0=0xfb;
/ c. A% v0 T' B0 {wela=0;2 K/ w* \) W7 d& P; N' T/ s
delay(1);
4 U' {* d( L% j1 D4 H}6 W3 h; v& _9 G4 I
void main()) j( X! ^" t) q- ~: d7 c, r$ ]0 q
{        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 Q0 V. R+ [6 I/ Q) o; w
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;}}- q7 q, L( r, e6 {8 {9 m6 p0 M
  • 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-7-29 22:58 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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