标题: 单片机+段码屏驱动HT1621用这个程序一个点也点不亮 [打印本页]

作者: finezwl    时间: 2020-3-16 11:49
标题: 单片机+段码屏驱动HT1621用这个程序一个点也点不亮
段码屏驱动HT1621用这个程序一个点也点不亮,单片机型号STC8G1K08。
  1. #include "STC8G1K08.H"

  2. typedef unsigned char u8;

  3. #include "absacc.h"
  4. #include "stdio.h"

  5. typedef unsigned char u8;
  6. sbit RLED=P3^2;
  7. bit         B_1ms;                //1ms标志 ;

  8.                      //必须跟硬件电路的COM匹配。1个或者2个COM:0x42。3个COM:0x4A。4个COM:0x52
  9. #define SYSTEN 0X02
  10. #define LCDON 0X06
  11. #define _nop()  _nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
  12. /****************************** 用户定义宏 ***********************************/



  13. void SendBitToHT1621(unsigned char nbit,unsigned char n);//发送一个字节中的N位到HT1621里,驱动程序的最底层部分
  14. void init_lcd(); //--初始化LCD屏
  15. void screen_clear (); //清空屏幕的内容

  16. //sbit ht162x_cs_dr=P3^6;
  17. sbit ht162x_data_dr=P3^4;
  18. sbit ht162x_wr_dr=P3^5;
  19. void Delay1000ms()                //@11.0592MHz
  20.         unsigned char i, j, k;
  21.         _nop_();
  22.         i = 43;
  23.         k = 203;
  24.         {
  25.                 {
  26.                 } while (--j);
  27. }

  28. {
  29.         {
  30.                 {
  31.                         if(nbit>=0x80) //判断最高位
  32.                         else
  33.                         _nop_();
  34.                         _nop_();
  35.                         ht162x_wr_dr=1;
  36.                          _nop_();
  37. //                        _nop();
  38.                 }
  39. }
  40. void write_com(unsigned char cmdcode)
  41.         ht162x_cs_dr=0; //选通HT1621
  42.          _nop_();
  43.         SendBitToHT1621(0x80,4);
  44.                 _nop_();
  45. //           _nop();
  46.                 _nop_();
  47.                 _nop_();
  48. }
  49. //*------------------初始化LCD屏--------------------------*/
  50. void init_lcd()
  51. write_com(SYSTEN); //Turn on system oscillator
  52. write_com(BIAS); // 1/3 bais . 4 duty
  53. }

  54. {
  55.         ht162x_cs_dr=0; //选通HT1621  
  56.         _nop_();
  57.         SendBitToHT1621(0xA0,3); //发送写数据模式101
  58.         SendBitToHT1621(col,4); //发送X轴数据
  59.         _nop_();
  60. //        _nop();


  61. {
  62. unsigned char y=0;
  63.         {
  64.         y=y+1;
  65. }
  66. void main()

  67.         P1M1 = 0;        P1M0 = 0;        //设置为准双向口
  68.         P3M1 = 0;        P3M0 = 0;        //设置为准双向口
  69.         P5M1 = 0;        P5M0 = 0;        //设置为准双向口

  70.         TH0 = (u8)(Timer0_Reload / 256);
  71.         ET0 = 1;        //Timer0 interrupt enable
  72.         EA = 1;                //打开总中断
  73.         init_lcd(); //初始化液晶屏      

  74.                 {
  75.                            Delay1000ms();
  76.                           
  77.                
  78. //                                 YLED=0;
  79.                 }
  80. void timer0 (void) interrupt 1
  81.         static u16 a=0;
  82.         TH0 = 0xA9;                //设置定时初值



  83. }
复制代码


作者: finezwl    时间: 2020-3-16 11:52
是用这个改的https://www.wendangwang.com/doc/da9f80600083194443ffd573
作者: lhx117    时间: 2020-6-27 13:41
楼主解决了吗?我也碰到同样问题,一个都不显示。示波器波形seg和comjun2.75v。不知是什么原因

作者: XTXB    时间: 2020-6-27 21:27
看看初始化做得对不对

HT1621B.jpg (52.6 KB, 下载次数: 65)

HT1621B.jpg





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