谁知道一道郭天祥老师练习题答案

[复制链接]
2249|4
 楼主| bin126_com 发表于 2012-2-28 22:46 | 显示全部楼层 |阅读模式
有点长,请高手别介意:dizzy:
第七课的第三题:
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态显示出来,波特率自定。
这是我写的,发送数据数码管显示不了前三位,为毛?
  1. #include<reg52.h>
  2. unsigned int num,aa;
  3. unsigned char flag,num1,num2,num3,num4,num5,num6;
  4. sbit dula=P2^6;
  5. sbit wela=P2^7;
  6. unsigned char code table[]={0x3f,0x06,0x5b,0x4f,
  7.                                                         0x66,0x6d,0x7d,0x07,
  8.                                                         0x7f,0x6f,0x77,0x7c,
  9.                                                         0x39,0x5e,0x79,0x71,
  10.                                                         0x76,0x79,0x38,0x3f};
  11. void led_dispaly(unsigned int num);
  12. void delay(unsigned int z);
  13. void ser_init()
  14. {
  15.         TMOD=0x20;
  16.         TH1=0xfd;
  17.         TL1=0xfd;
  18.         TR1=1;
  19.         SM0=0;
  20.         SM1=1;
  21.         REN=1;
  22.         EA=1;
  23.         ES=1;
  24.         flag=0;
  25.         num=0;
  26.         aa=0;
  27. }

  28. void main()
  29. {
  30.         ser_init();
  31.         while(1)
  32.         {
  33.                 if(flag==1)
  34.                 {
  35.                         ES=0;
  36.                         flag=0;
  37.                         SBUF=aa;
  38.                         while(!TI);
  39.                         TI=0;
  40.                         ES=1;
  41.                         while(RI==0)
  42.                         {
  43.                                 led_dispaly(num);
  44.                         }       
  45.                 }       
  46.         }
  47. }

  48. void ser() interrupt 4
  49. {
  50.         RI=0;
  51.         flag=1;
  52.         num=SBUF;
  53.         aa=SBUF;
  54. }

  55. void led_dispaly(unsigned int num0)   
  56. {
  57.                 num1=num0/100000%10;
  58.                 num2=num0/10000%10;
  59.                 num3=num0/1000%10;
  60.                 num4=num0/100%10;
  61.                 num5=num0/10%10;
  62.                 num6=num0%10;
  63.                 P0=0xff;
  64.                 wela=1;
  65.                 P0=0xfe;
  66.                 wela=0;
  67.                 dula=1;
  68.                 P0=table[num1];
  69.                 dula=0;
  70.                 delay(1);
  71.                 P0=0xff;                 
  72.                 P0=0xfd;
  73.                 wela=0;
  74.                 dula=1;
  75.                 P0=table[num2];
  76.                 dula=0;
  77.                 delay(1);
  78.                 P0=0xff;
  79.                 wela=1;
  80.                 P0=0xfb;
  81.                 wela=0;
  82.                 dula=1;
  83.                 P0=table[num3];
  84.                 dula=0;
  85.                 delay(1);
  86.                 P0=0xff;
  87.                 wela=1;
  88.                 P0=0xf7;
  89.                 wela=0;
  90.                 dula=1;
  91.                 P0=table[num4];
  92.                 dula=0;
  93.                 delay(1);
  94.                 P0=0xff;
  95.                 wela=1;
  96.                 P0=0xef;
  97.                 wela=0;
  98.                 dula=1;
  99.                 P0=table[num5];
  100.                 dula=0;
  101.                 delay(1);
  102.                 P0=0xff;
  103.                 wela=1;
  104.                 P0=0xdf;
  105.                 wela=0;
  106.                 dula=1;
  107.                 P0=table[num6];
  108.                 dula=0;
  109.                 delay(1);       
  110. }

  111. void delay(unsigned int z)    //延时函数,delay(1);延时1ms  11.0592MHZ
  112. {
  113.         unsigned int i,j;
  114.         for(i=z;i>0;i--)
  115.                 for(j=110;j>0;j--);       
  116. }
 楼主| bin126_com 发表于 2012-2-29 10:25 | 显示全部楼层
我擦!21IC上的人呢?这是很基本的入门问题啊,没人指教一下啊·····:L
tmark 发表于 2012-2-29 10:44 | 显示全部楼层
基本的入门问题
cbb125@163.com 发表于 2012-2-29 17:12 | 显示全部楼层
在线等
 楼主| bin126_com 发表于 2012-2-29 23:00 | 显示全部楼层
看来这种直接贴程序的 帖子是没人看的:'(
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

118

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部