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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
求大佬帮忙看一看改一改吧,为什么只能显示个位,显示不了十位百位?' L7 H9 ?! W, B: B# D
#include<reg51.h>
* A( ?4 l* ?' Z2 v  L6 h/ Y#define uint unsigned int
# _' x: [! d  M* O#define uchar unsigned charsbit P2_3=P2^3;$ F% j4 a$ R# k8 x1 d
sbit k1=P3^4;; Z# o4 H' F4 ]3 @* X& z
sbit k2=P3^5;$ a* Z$ y2 c- g. B
sbit k3=P3^6;- P0 P8 ]$ j2 C8 h: i
sbit k4=P3^7;- S5 Y0 v  a; I* M8 l
sbit dula=P2^6;8 v5 V- ]$ k3 j
sbit wela=P2^7;; k" v4 V+ I7 e( k( W
uint pwm,num;: u5 p8 i. K* _4 U( _/ v1 g
uchar temp,a;
( E( ~$ s2 q9 Auchar code table[]=8 m+ ~/ O- ^/ \3 O( t7 M0 ~# [
{ 0x3f ,0x06 ,0x5b ,0x4f,0x66 ,0x6d, 0x7d ,0x07 ,0x7f, 0x6f}  w2 I0 k! W4 V) r
;0 R" ^: g, `5 o# b" E
uint G_H,G_L,D_H,D_L;void delay(uint t){uint x,y;for(x=t;x>0;x--)
  \6 v! N% s' U; S$ N& F" Y        for(y=150;y>0;y--);* P+ n% O" D, Q9 \+ p
}3 S- o" V" i$ F- E
void display(pwm)
, C) ]6 x0 M, F  k8 C1 y+ y{
, n. b5 ^; t" o/ I+ @unsigned char m,n,q;m=pwm/100;n=pwm/100%10;q=pwm%10;
( C" F# V+ f4 L+ {# e3 n% i        dula=10=table[m];dula=0;wela=10=0xfe;wela=0;delay(1);
( g0 v8 u: }% a, w! s        dula=10=table[n];dula=0;wela=1;P0=0xfd;wela=0;delay(1);7 d" Q* P" p! v
dula=1;
& F: S- A' A( E/ {  C5 W( ^P0=table[q];8 e" X3 Z$ w; m) H5 e
dula=0;
  u. @/ b( b; t) e% U' H& `! ~wela=1;
; I' M5 S6 j% n6 x5 |: |P0=0xfb;
. W5 r0 c" A2 Y. ^- Y) `4 Q# }2 j& bwela=0;2 [5 ~7 l: V6 a
delay(1);
1 M$ O! a& e( m6 B$ t}
1 `3 F% k$ ^2 Ovoid main()3 N* c2 \* {, I1 {  f  e' |" D
{        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);                }}
+ U& y7 o( x. yvoid 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;}}
4 `' j' ]! A7 q. n- b1 l, x. K( w
  • 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-9-11 01:49 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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