⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ht1380.lst

📁 内容摘要: LHD6000主板主芯片程序 ISD1730时序说明: 参考:void Send_1Byte(uchar ucData_s)和uchar Receive_1Byte(void)的说明.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 215          *
 216          *******************************************************************************/
 217          /*void    ComuStop(void)
 218          {
 219              pin_SCLK = 1;
 220              pin_RESET =0;;
 221          }*/
 222          
 223          /*******************************************************************************
 224          * 函数名称: void    SendByte(unsigned char ucData);
 225          * 功能描述: 发送一个字节到HT1380
 226          * 输入参数: 需要发送的字节
 227          * 输出参数: 无
 228          * 返 回 值: 无
 229          * 其他说明:
 230          * 修改日期      版 本 号        修 改 人        修改内容
 231          *-------------------------------------------------------------------------------
 232          *
 233          *******************************************************************************/
 234          void    SendByte(unsigned char ucData)
 235          {
 236   1          volatile unsigned char idata i;
 237   1          for (i = 8; i != 0; i--)
 238   1          {
 239   2              pin_SCLK = 0;
 240   2              pin_SIO = ucData & 0x01;
 241   2              ucData >>= 1;
C51 COMPILER V8.02   HT1380                                                                05/18/2008 16:43:12 PAGE 5   

 242   2              pin_SCLK = 1;
 243   2          }
 244   1          pin_SCLK = 0;
 245   1      }
 246          
 247          /*******************************************************************************
 248          * 函数名称: unsigned char ReceiByte(void);
 249          * 功能描述: 接收HT1380的一个字节
 250          * 输入参数: 无
 251          * 输出参数: 无
 252          * 返 回 值: HT1380发送出来的一个字节数据
 253          * 其他说明:
 254          * 修改日期      版 本 号        修 改 人        修改内容
 255          *-------------------------------------------------------------------------------
 256          *
 257          *******************************************************************************/
 258          unsigned char ReceiByte(void)
 259          {
 260   1          unsigned char i;
 261   1          unsigned char ucDataRecv = 0;
 262   1          for(i = 8; i > 0; i--)
 263   1          {
 264   2              ucDataRecv >>= 1;
 265   2              if (pin_SIO)
 266   2              {
 267   3                  ucDataRecv |= 0x80;
 268   3              }
 269   2              pin_SCLK = 1;
 270   2              pin_SCLK = 0;
 271   2          }
 272   1          return(ucDataRecv);
 273   1      }
 274          
 275          /*******************************************************************************
 276          * 函数名称: unsigned char ReadReg(unsigned char ucRegAdd);
 277          * 功能描述: 读取HT1380寄存器的命令函数
 278          * 输入参数: 要读取HT1380的寄存器地址
 279          * 输出参数: 无
 280          * 返 回 值: 读取出HT1380的寄存器数据
 281          * 其他说明:
 282          * 修改日期      版 本 号        修 改 人        修改内容
 283          *-------------------------------------------------------------------------------
 284          *
 285          *******************************************************************************/
 286          //unsigned char ReadReg(unsigned char ucRegAdd)
 287          unsigned char ReadTime(unsigned char ucRegAdd)
 288          {
 289   1          unsigned char idata ucData;   //存放接收数据
 290   1          ucRegAdd <<= 1;
 291   1          ucRegAdd &= 0x0E;
 292   1          ucRegAdd += 0x81;
 293   1          ComuStart();
 294   1          SendByte(ucRegAdd);     //需要读取地址
 295   1          ucData = ReceiByte();
 296   1          pin_RESET = 0;
 297   1          return ucData;
 298   1      }
 299          
 300          /*******************************************************************************
 301          * 函数名称: unsigned char ReadTime(unsigned char ucRegAdd);
 302          * 功能描述: 与ReadTime(ucRegAdd)功能完全相同,通过调用ReadTime(ucRegAdd)实现
 303          * 输入参数: 要读取HT1380的寄存器地址
C51 COMPILER V8.02   HT1380                                                                05/18/2008 16:43:12 PAGE 6   

 304          * 输出参数: 无
 305          * 返 回 值: 读取出HT1380的寄存器数据
 306          * 其他说明: 只是方便调用是理解,reg太普遍了,使用reg方便在本文件中理解
 307          * 修改日期      版 本 号        修 改 人        修改内容
 308          *-------------------------------------------------------------------------------
 309          *
 310          *******************************************************************************/
 311          /*unsigned char ReadTime(unsigned char ucRegAdd)
 312          {
 313              return ReadTime(ucRegAdd);
 314          }*/
 315          /*******************************************************************************
 316          * 函数名称: void WriteReg(unsigned char ucRegAdd, unsigned char ucData);
 317          * 功能描述: 写HT1380寄存器的函数
 318          * 输入参数: 要写入HT1380的寄存器地址ucRegAdd,要写入的数据ucData
 319          * 输出参数: 无
 320          * 返 回 值: 无
 321          * 其他说明:
 322          * 修改日期      版 本 号        修 改 人        修改内容
 323          *-------------------------------------------------------------------------------
 324          *
 325          *******************************************************************************/
 326          void WriteReg(unsigned char ucRegAdd, unsigned char ucData)
 327          {
 328   1          ComuStart();
 329   1          SendByte(ucRegAdd);
 330   1          SendByte(ucData);
 331   1          pin_RESET = 0;
 332   1      }
 333          
 334          /*******************************************************************************
 335          * 函数名称: void WriteReg(unsigned char ucRegAdd, unsigned char ucData);
 336          * 功能描述: 写HT1380寄存器的函数
 337          * 输入参数: 要写入HT1380的寄存器地址ucRegAdd,要写入的数据ucData
 338          * 输出参数: 无
 339          * 返 回 值: 无
 340          * 其他说明:
 341          * 修改日期      版 本 号        修 改 人        修改内容
 342          *-------------------------------------------------------------------------------
 343          *
 344          *******************************************************************************/
 345          void WriteTime(unsigned char ucRegAdd, unsigned char ucData)
 346          {
 347   1          //去除写保护
 348   1          WriteReg(CMD_WRT_WP, 0x00);
 349   1          //写数据
 350   1          ucRegAdd <<= 1;
 351   1          ucRegAdd &= 0x0E;
 352   1          ucRegAdd |= 0x80;
 353   1          WriteReg(ucRegAdd, ucData);
 354   1          //开写保护
 355   1          WriteReg(CMD_WRT_WP, 0x80);
 356   1      }
 357          /*******************************************************************************
 358          * 函数名称: void WriteTime(unsigned char ucRegAdd, unsigned char ucData);
 359          * 功能描述: 与WriteTime()功能完全相同,通过调用与WriteTime()实现
 360          * 输入参数: 要写入HT1380的寄存器地址ucRegAdd,要写入的数据ucData
 361          * 输出参数: 无
 362          * 返 回 值: 无
 363          * 其他说明:
 364          * 修改日期      版 本 号        修 改 人        修改内容
 365          *-------------------------------------------------------------------------------
C51 COMPILER V8.02   HT1380                                                                05/18/2008 16:43:12 PAGE 7   

 366          *
 367          *******************************************************************************/
 368          /*void WriteTime(unsigned char ucRegAdd, unsigned char ucData)
 369          {
 370              WriteTime(ucRegAdd, ucData);
 371          }*/
 372          
 373          /*******************************************************************************
 374          * 函 数 名: bit IsBCD(unsigned char ucNum_IsBCD)
 375          * 功    能: 判断一个无符号字符型数据是否为BCD码
 376          * 输入参数: 要判断的数据
 377          * 输出参数: 无
 378          * 返 回 值: 位(bool)变量,是就返回1,不是就返回0
 379          * 其它说明:
 380          * 修改日期            版本号       修改人           修改内容
 381          *-------------------------------------------------------------------------------
 382          *
 383          *******************************************************************************/
 384          //LHD6000的主程序中有实现部分,后面本文件中的实现部分被转成注释
 385          /*bit IsBCD(unsigned char ucNum_IsBCD)
 386          {
 387              if (((ucNum_IsBCD >> 4) <= 0x09) && ((ucNum_IsBCD & 0x0F) <= 0x09))
 388              {
 389                  return 1;
 390              }
 391              else
 392              {
 393                  return 0;
 394              }
 395          }*/
 396          
 397          /*******************************************************************************
 398          * 函 数 名: unsigned char BCD_Hex(unsigned char ucNumBCD)
 399          * 功    能:
 400          * 输入参数:
 401          * 输出参数: 无
 402          * 返 回 值:
 403          * 其它说明:
 404          * 修改日期            版本号       修改人           修改内容
 405          *-------------------------------------------------------------------------------
 406          *
 407          *******************************************************************************/
 408          //LHD6000的主程序中有实现部分,后面本文件中的实现部分被转成注释
 409          /*unsigned char BCD_Hex(unsigned char ucNumBCD)
 410          {
 411              if (IsBCD(ucNumBCD))
 412              {
 413                  return (ucNumBCD >> 4) * 10 + (ucNumBCD & 0x0F);
 414              }
 415              else
 416              {
 417                  return 0;
 418              }
 419          }*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    176    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       1
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
C51 COMPILER V8.02   HT1380                                                                05/18/2008 16:43:12 PAGE 8   

   IDATA SIZE       =   ----       2
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -