[讨论] hd7279 c语言编程 点亮LED数码管

coffeebrk   2009-8-11 22:27 楼主
我只要求点亮LED数码管,不需要读取键盘。。。
我写的程序一个都不亮,请指教。
下面是我写的:
以下为代码内容

  1. #include
  2. #define uchar unsigned char;
  3. #define uint unsigned int;
  4. sbit HD_CS=P0^2;
  5. sbit HD_CLK=P0^1;
  6. sbit HD_DATA=P0^0;

  7. void delay(uint time)//延时
  8. {
  9.     while(time--);
  10. }

  11. void send(uchar temp)//发送数据
  12. {
  13.     uchar i;
  14.     HD_CLK=0;
  15.     HD_CS=0;
  16.     for(i=0;i<8;i++){
  17.         if(temp&0x80)
  18.             HD_DATA=1;
  19.         else HD_DATA=0;
  20.         HD_CLK=1;
  21.         delay(50);
  22.         HD_CLK=0;
  23.         delay(50);
  24.     }
  25.     HD_DATA=0;
  26. }

  27. void write(uchar cmd,uchar dta)//写入
  28. {
  29.     send(cmd);
  30.     send(dta);
  31. }

  32. main()
  33. {
  34.     send(0xa4);
  35.     write(0x80,0x00);
  36.     delay(500);
  37. }
  38. [\code]

回复评论 (3)

点不亮应该是时序不对

这样看着不好理解,最好能加上注释,说以下功能,原理图能一起放上更好了
点赞  2009-8-11 22:56

123

 
临空
点赞  2010-11-30 19:37
你应该下一份7279的说明书,上面有时序图。你的程序明显没按时序图工作
临空
点赞  2010-11-30 19:40
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复