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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
求大佬帮忙看一看改一改吧,为什么只能显示个位,显示不了十位百位?6 [3 f, l3 s& ~4 j/ K
#include<reg51.h>
) F2 B$ V+ D8 H5 F#define uint unsigned int
# D% W! G/ v, Q: L) d' F# w4 z#define uchar unsigned charsbit P2_3=P2^3;* K. E) M( z5 f0 @
sbit k1=P3^4;
, j! v5 b# l! K5 P  usbit k2=P3^5;; m/ T7 _* T0 U
sbit k3=P3^6;. s3 C$ E% t& f  v+ l* m" ]1 y+ V
sbit k4=P3^7;# u5 Q/ c. f+ U. t0 N: l2 }
sbit dula=P2^6;
9 V( E8 s) Z5 P/ `" H0 @sbit wela=P2^7;
6 d" u6 T1 A; h$ suint pwm,num;4 m) M  {* n% q5 y" ]4 s, ?
uchar temp,a;+ h! l( @! S; b) F
uchar code table[]=
! X1 X  V3 x- v% _6 Q{ 0x3f ,0x06 ,0x5b ,0x4f,0x66 ,0x6d, 0x7d ,0x07 ,0x7f, 0x6f}1 ]7 N. I4 o" z# H& L9 W
;( D5 b2 e; [# V
uint G_H,G_L,D_H,D_L;void delay(uint t){uint x,y;for(x=t;x>0;x--), q+ V/ {, K/ r! a% N$ P# \; {: n
        for(y=150;y>0;y--);
4 L8 M. R' i, A. s( L( ]( o) T}) W1 s/ k, b4 |  ?8 _( P
void display(pwm)
  a) }+ j3 q* t% |' ?! U{7 V1 i4 t6 `" R
unsigned char m,n,q;m=pwm/100;n=pwm/100%10;q=pwm%10;* [, j, {8 t: O
        dula=10=table[m];dula=0;wela=10=0xfe;wela=0;delay(1);
; N0 I0 P, i7 o3 X& ?0 e        dula=10=table[n];dula=0;wela=1;P0=0xfd;wela=0;delay(1);  N& W+ `3 ^6 [/ K& s' d# K
dula=1;  p3 w, }8 y' ~
P0=table[q];  @  K) o& y& D2 G
dula=0;
. {6 u9 \" {- x5 p: J$ {# @5 xwela=1;
) c* H( ?. j* ]% TP0=0xfb;( j3 j6 _0 E& k! Z/ z
wela=0;
) m" Q0 A0 O' a& y% r( e" W8 g/ W9 Qdelay(1);
0 t8 c! Q( e6 X  T: ]% }" R& C}
5 f$ d- `2 `# v4 v( E- ]void main()) P; e- Q3 k$ X, v4 v) P
{        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);                }}
/ J. B% J% z8 P: d" G- }& T2 cvoid 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;}}$ x* ~, {7 `5 v9 @
  • 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-6-11 20:24 , Processed in 0.078125 second(s), 24 queries , Gzip On.

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

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

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