标题: 单片机+CH451驱动数码管显示的例程需要到哪里找? [打印本页]

作者: Peanut丿    时间: 2021-4-9 10:48
标题: 单片机+CH451驱动数码管显示的例程需要到哪里找?
求指导思路,能显示个123就行,不需要很复杂的功能,单片机是STC89C52

IMG_20210409_104617.jpg (3.9 MB, 下载次数: 41)

IMG_20210409_104617.jpg

作者: 5701579    时间: 2021-4-9 21:17
51hei搜索"ch451"里面有
作者: 51hei团团    时间: 2021-4-10 03:29
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define unchar unsigned char
  4. #define unint  unsigned int
  5. sbit LOAD=P1^2;
  6. sbit DIN=P1^0;
  7. sbit DCLK=P1^1;
  8. sbit DOUT=P3^3;
  9. void CH451_init()
  10. {P1=0x60;
  11. DIN=0;
  12. DCLK=1;
  13. DIN=1;
  14. LOAD=1;
  15. DOUT=1;
  16. _nop_();}
  17. //*****************************************************

  18. //输出命令子程序
  19. //定义一无符号整型变量存储12字节的命令字。
  20. void ch451_write(unint cmd)
  21. {
  22.   unchar i;

  23.   EX1=0;                                         //禁止键盘中断
  24.        
  25.   LOAD=0;                                  //命令开始      
  26.   for(i=0;i<12;i++){                             //送入12位数据,低位在前
  27.     DIN=cmd&1;                               
  28.     DCLK=0;
  29.     cmd>>=1;
  30.     DCLK=1;                               //上升沿有效
  31.   }
  32.   LOAD=1;                                 //加载数据



  33. }
  34. //*************************************************
  35. void delay_ms(unint ms)
  36. {unchar i;
  37.   while(ms!=0)
  38. {for(i=1;i<=4;i++)
  39.   {_nop_();
  40.    _nop_();
  41.    _nop_();
  42.    _nop_();}}}
  43. void main(void)
  44. {  unchar i;
  45.    ch451_init();                                  //调用初始化
  46.    ch451_write(0x401);
  47.    ch451_write(0x580);                           //测试送入命令
  48.    ch451_write(0x801);
  49.    ch451_write(0x300);
  50.    ch451_write(0x802);
  51.    ch451_write(0x300);
  52.    ch451_write(0x803);
  53.    ch451_write(0x601);
  54.    while(1);
  55.    
  56.    
  57.    
  58. }
复制代码







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1