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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
求大佬帮忙看一看改一改吧,为什么只能显示个位,显示不了十位百位?2 E3 X. f) n4 b9 ~+ \
#include<reg51.h>
- \# Z. q( @1 M; r7 L" }4 K' z#define uint unsigned int
* Y" U7 a9 ?  z: E6 C#define uchar unsigned charsbit P2_3=P2^3;: I7 K9 f! \& U5 Y" D' o
sbit k1=P3^4;
( l9 q; J! T$ asbit k2=P3^5;
! i- \( x' Y  P8 l, Ksbit k3=P3^6;
/ c' |3 F0 \" s9 Z6 Csbit k4=P3^7;
" s- F9 w. B- S4 Y1 C4 i# k5 q2 E* Gsbit dula=P2^6;
1 J9 z2 g' ]5 q7 {. Rsbit wela=P2^7;: v0 S8 X0 ]+ A. u, F
uint pwm,num;; u' R1 _: o: o" ~2 g
uchar temp,a;0 u8 y6 T8 l3 w; a7 b+ R
uchar code table[]=
! ]! v* D5 _( @) x/ h{ 0x3f ,0x06 ,0x5b ,0x4f,0x66 ,0x6d, 0x7d ,0x07 ,0x7f, 0x6f}
# k. a; s' f* O* T& j;
' `- W6 O; H; j# T% V- W  Auint G_H,G_L,D_H,D_L;void delay(uint t){uint x,y;for(x=t;x>0;x--)' j% [) C! ]  |- O( F
        for(y=150;y>0;y--);
) {; [! e3 p/ O- b) e2 g% J( \4 [}9 S2 o. e$ S( }
void display(pwm)' j+ L. ?5 _9 U% X
{$ O4 V) f! a' H/ V2 J, U) F
unsigned char m,n,q;m=pwm/100;n=pwm/100%10;q=pwm%10;% V" C" F8 P9 s# \) ]  i
        dula=10=table[m];dula=0;wela=10=0xfe;wela=0;delay(1);" o8 k' n; k2 J; G) Z* p
        dula=10=table[n];dula=0;wela=1;P0=0xfd;wela=0;delay(1);
% |# G3 }  \& L- cdula=1;3 ~! {' n, b3 Q, C6 C, B& ?. U$ u
P0=table[q];% V0 j2 }0 h) J+ t
dula=0;
% ~3 F1 u5 q- P2 @9 _, nwela=1;
! @. u, i7 L0 @4 Q4 v9 C- wP0=0xfb;9 J5 E* s2 _4 U% Q3 _" _7 S
wela=0;
% f9 o' }# L' R5 C% N# w! s9 R5 ldelay(1);
$ |8 B3 V! v9 J" W( k}" k: M6 @% c: U9 @, I
void main()
$ I8 S: y& n/ Z" m{        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 O; Z" K& ^( M5 `
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;}}; @: V" l( _3 h  D  M% Y
  • 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-9 09:00 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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