hardware.h
上传用户:sdjqgc
上传日期:2022-08-06
资源大小:2404k
文件大小:6k
开发平台:

Asm

  1. #ifndef __HARDWARE_H__
  2. #define __HARDWARE_H__
  3. // write your header here
  4. //========================================================================================
  5. // Progarm: The file be included by modules
  6. // Arranged by: Andy Hsu
  7. // Date:  2000/06/23: first version
  8. // 2000/07/24: modified
  9. //========================================================================================
  10. //////////////////////////////////////////////////////////////////
  11. // Define Area for I/O
  12. //////////////////////////////////////////////////////////////////
  13. #define Port_IOA_Data    0x7000        //portA data
  14. #define Port_IOA_Buffer         0x7001        //portA buffer
  15. #define Port_IOA_Dir            0x7002        //portA direction
  16. #define Port_IOA_Attrib         0x7003        //portA attribution
  17. #define Port_IO_RL              0x7004        //portA last data latch
  18. #define Port_IOB_Data           0x7005        //portB data
  19. #define Port_IOB_Buffer         0x7006        //portB buffer
  20. #define Port_IOB_Dir            0x7007        //portB direction
  21. #define Port_IOB_Attrib         0x7008        //portB attribution
  22. #define Port_Feed_Back          0x7009        //portB.4 portB.5 SFC
  23. #define Port_TimerA_Data        0x700A        //timer A data
  24. #define Port_TimerA_Ctrl        0x700B        //timer A control
  25. #define Port_TimerB_Data        0x700C        //timer B data
  26. #define Port_TimerB_Ctrl        0x700D        //timer B control
  27. #define Port_TimeBaseSetup      0x700E        //time base configuration
  28. #define Port_INT_Ctrl           0x7010        //interrupt control
  29. #define Port_INT_Clear          0x7011        //Interrupt clear register
  30. #define Port_Watchdog_Clear     0x7012        //clear watchdog ??
  31. #define Port_SystemClock        0x7013        //system clock generator setup
  32. #define Port_ADDA               0x7014        //10-bit DA(W) AD(R)
  33. #define Port_DAC1               0x7014        //
  34. #define Port_AD_Ctrl            0x7015        //AD/DA control
  35. #define Port_AD_Status          0x7015        //AD status
  36. #define Port_DAC2               0x7016        //DAC channel 2
  37. #define Port_PWM                0x7016        //PWM output
  38. #define Port_DA_Ctrl            0x7017        //DAC latch control
  39. #define Port_LVD_Ctrl           0x7018        //Low voltage detect control
  40. // Define for Port_INT_Ctrl 
  41. #define C_IRQ6_TMB2             0x0001;         // Timer B IRQ6
  42. #define C_IRQ6_TMB1             0x0002;         // Timer A IRQ6
  43. #define C_IRQ5_2Hz              0x0004;         // 2Hz IRQ5
  44. #define C_IRQ5_4Hz              0x0008;         // 4Hz IRQ5
  45. #define C_IRQ4_1KHz             0x0010;         // 1024Hz IRQ4
  46. #define C_IRQ4_2KHz             0x0020;         // 2048Hz IRQ4
  47. #define C_IRQ4_4KHz             0x0040;         // 4096Hz IRQ4
  48. #define C_IRQ3_KEY              0x0080;         // Key Change IRQ3
  49. #define C_IRQ3_EXT1             0x0100;         // Ext1 IRQ3
  50. #define C_IRQ3_EXT2             0x0200;         // Ext2 IRQ3
  51. #define C_IRQ2_TMB              0x0400;         // Timer B IRQ2
  52. #define C_FIQ_TMB               0x0800;         // Timer B FIQ
  53. #define C_IRQ1_TMA              0x1000;         // Timer A IRQ1
  54. #define C_FIQ_TMA               0x2000;         // Timer A FIQ
  55. #define C_IRQ0_PWM              0x4000;         // PWM IRQ0
  56. #define C_FIQ_PWM               0x8000;         // PWM FIQ
  57. // Define for Port_TimerA_Ctrl, Port_TimerB_Ctrl                               
  58. #define C_Fosc_2 0x0000 // Timer A
  59. #define C_Fosc_256      0x0001 //
  60. #define C_32768Hz 0x0002 //
  61. #define C_8192Hz 0x0003 //
  62. #define C_4096Hz 0x0004 //
  63. #define C_A1 0x0005 //
  64. #define C_A0 0x0006 //
  65. #define C_Ext1 0x0007 //
  66. #define C_2048Hz 0x0000 //
  67. #define C_1024Hz 0x0008 //
  68. #define C_256Hz 0x0010 //
  69. #define C_TMB1Hz 0x0018 //
  70. #define C_4Hz 0x0020 //
  71. #define C_2Hz 0x0028 //
  72. #define C_B1 0x0030 //
  73. #define C_Ext2 0x0038 //
  74. #define C_Off 0x0000 //
  75. #define C_D1 0x0040 //
  76. #define C_D2 0x0080 //
  77. #define C_D3 0x00C0 //
  78. #define C_D4 0x0100 //
  79. #define C_D5 0x0140 //
  80. #define C_D6 0x0180 //
  81. #define C_D7 0x01C0 //
  82. #define C_D8 0x0200 //
  83. #define C_D9 0x0240 //
  84. #define C_D10 0x0280 //
  85. #define C_D11 0x02C0 //
  86. #define C_D12 0x0300 //
  87. #define C_D13 0x0340 //
  88. #define C_D14 0x0380 //
  89. #define C_TA_Div_2 0x03C0 // Timer A
  90. #define C_TB_Div_2 0x03C0 // Timer B
  91. // Define for Port_SystemClock
  92. #define C_Fosc 0x0000 // b3..b0
  93. #define C_Fosc_Div_2 0x0001 //
  94. #define C_Fosc_Div_4 0x0002 //
  95. #define C_Fosc_Div_8 0x0003 // (default)
  96. #define C_Fosc_Div_16 0x0004 //
  97. #define C_Fosc_Div_32 0x0005 //
  98. #define C_Fosc_Div_64 0x0006 //
  99. #define C_Sleep 0x0007   //
  100. #define C_32K_Work 0x0000 // b4
  101. #define C_32K_Off 0x0000 // 
  102. #define C_StrongMode 0x0000 // b5
  103. #define C_AutoMode 0x0000 //
  104. // Define for Port_AD_Ctrl
  105. #define C_AD 0x0001 //
  106. #define C_DA 0x0000 //
  107. #define C_MIC 0x0000 //
  108. #define C_LINE 0x0002 //
  109. // Define for Port_DA_Ctrl
  110. #define C_PushPull 0x0000 // b0, (default) 
  111. #define C_DoubleEnd 0x0001 // b0
  112. #define C_DAC_Mode 0x0000 // b1, (default)
  113. #define C_PWM_Mode 0x0002 // b1
  114. #define C_D1_Direct 0x0000 // DAC1 latch
  115. #define C_D1_LatchA 0x0008 // 
  116. #define C_D1_LatchB 0x0010 //
  117. #define C_D1_LatchAB 0x0018 //
  118. #define C_D2_Direct 0x0000 // DAC2 latch
  119. #define C_D2_LatchA 0x0020 // 
  120. #define C_D2_LatchB 0x0040 //
  121. #define C_D2_LatchAB 0x00C0 //
  122. // Define for Port_LVD_Ctrl
  123. #define C_LVD24V 0x0000 // LVD = 2.4V 
  124. #define C_LVD28V 0x0001 // LVD = 2.8V
  125. #define C_LVD32V 0x0002 // LVD = 3.2V
  126. #define C_LVD36V 0x0003 // LVD = 3.6V
  127. #endif
  128. extern void STD_Init_IOA(unsigned int, unsigned int, unsigned int);
  129. extern void STD_Init_IOB(unsigned int, unsigned int, unsigned int);
  130. extern unsigned int STD_Import(unsigned int);
  131. extern void STD_Export(unsigned int, unsigned int);
  132. #define Full 1
  133. #define Empty 2
  134. #define DAC1 1
  135. #define DAC2 2
  136. #define Ramp_UpDn_Off 0
  137. #define  Ramp_Up_On 1
  138. #define Ramp_Dn_On 2
  139. #define Ramp_UpDn_On 3