iom16c62p.h 122 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757
  1. /****************************************************************
  2. KPIT Cummins Infosystems Ltd, Pune, India. 1-April-2006.
  3. This program is distributed in the hope that it will be useful,
  4. but WITHOUT ANY WARRANTY; without even the implied warranty of
  5. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  6. *****************************************************************/
  7. /****************************************************************/
  8. /* M16C/60 62P Include File */
  9. /****************************************************************/
  10. /*------------------------------------------------------
  11. Processor mode register 0 //0x0004
  12. ------------------------------------------------------*/
  13. union st_pm0 { /* union PM0 */
  14. struct { /* Bit Access */
  15. unsigned char PM0_0:1; /* Processor mode bit 0 */
  16. unsigned char PM0_1:1; /* Processor mode bit 1 */
  17. unsigned char PM0_2:1; /* R/W mode select bit */
  18. unsigned char PM0_3:1; /* Software reset bit */
  19. unsigned char PM0_4:1; /* Multiplexed bus space select bit 0 */
  20. unsigned char PM0_5:1; /* Multiplexed bus space select bit 1 */
  21. unsigned char PM0_6:1; /* Port P40 to P43 function select bit */
  22. unsigned char PM0_7:1; /* BCLK output disable bit */
  23. } BIT; /* */
  24. unsigned char BYTE; /* Byte Access */
  25. }; /* */
  26. /*------------------------------------------------------
  27. Processor mode register 1 //0x0005
  28. ------------------------------------------------------*/
  29. union st_pm1 { /* union PM1 */
  30. struct { /* Bit Access */
  31. unsigned char PM1_0:1; /* CS2 area switching bit */
  32. unsigned char PM1_1:1; /* Port P3_4 to P3_7 function select bit */
  33. unsigned char PM1_2:1; /* Watch dog timer function select bit */
  34. unsigned char PM1_3:1; /* Intermal reserved area expansion bit */
  35. unsigned char PM1_4:1; /* Memory area expansion bit */
  36. unsigned char PM1_5:1; /* Memory area expansion bit */
  37. unsigned char PM1_6:1; /* Reserved bit */
  38. unsigned char PM1_7:1; /* PM17 - Wait bit */
  39. } BIT; /* */
  40. unsigned char BYTE; /* Byte Access */
  41. }; /* */
  42. /*------------------------------------------------------
  43. System clock control register 0 //0x0006
  44. ------------------------------------------------------*/
  45. union st_cm0 { /* union CM0 */
  46. struct { /* Bit Access */
  47. unsigned char CM0_0:1; /* Clock output function select bit */
  48. unsigned char CM0_1:1; /* Clock output function select bit */
  49. unsigned char CM0_2:1; /* WAIT peripheral function clock stop bit */
  50. unsigned char CM0_3:1; /* Xcin-Xcout drive capacity select bit*/
  51. unsigned char CM0_4:1; /* Port Xc select bit */
  52. unsigned char CM0_5:1; /* Main clock stop bit */
  53. unsigned char CM0_6:1; /* Main clock division select bit 0 */
  54. unsigned char CM0_7:1; /* System clock select bit */
  55. } BIT; /* */
  56. unsigned char BYTE; /* Byte Access */
  57. }; /* system clock control register 0 */
  58. /*------------------------------------------------------
  59. System clock control register 1 //0x0007
  60. ------------------------------------------------------*/
  61. union st_cm1 { /* union CM1 */
  62. struct { /* Bit Access */
  63. unsigned char CM1_0:1; /* All clock stop control bit */
  64. unsigned char :1; /* Reserved bit always set to 0 */
  65. unsigned char :1; /* Reserved bit always set to 0 */
  66. unsigned char :1; /* Reserved bit always set to 0 */
  67. unsigned char :1; /* Reserved bit always set to 0 */
  68. unsigned char CM1_5:1; /* Xin-Xouts drive capacity select bit */
  69. unsigned char CM1_6:1; /* Main clock division select bit 1 */
  70. unsigned char CM1_7:1; /* Main clock division select bit 1 */
  71. } BIT; /* */
  72. unsigned char BYTE; /* Byte Access */
  73. }; /* system clock control register 1 */
  74. /*------------------------------------------------------
  75. Chip select control register //0x0008
  76. ------------------------------------------------------*/
  77. union st_csr { /* union CSR */
  78. struct { /* Bit Access */
  79. unsigned char CS0 :1; /* CS0~ output enable bit */
  80. unsigned char CS1 :1; /* CS1~ output enable bit */
  81. unsigned char CS2 :1; /* CS2~ output enable bit */
  82. unsigned char CS3 :1; /* CS3~ output enable bit */
  83. unsigned char CS0W:1; /* CS0~ wait bit */
  84. unsigned char CS1W:1; /* CS1~ wait bit */
  85. unsigned char CS2W:1; /* CS2~ wait bit */
  86. unsigned char CS3W:1; /* CS3~ wait bit */
  87. } BIT; /* */
  88. unsigned char BYTE; /* Byte Access */
  89. }; /* Chip select control register */
  90. /*------------------------------------------------------
  91. Address match interrupt enable register //0x0009
  92. ------------------------------------------------------*/
  93. union st_aier { /* union AIER */
  94. struct { /* Bit Access */
  95. unsigned char AIER0:1; /* Address match interrupt0 enable bit*/
  96. unsigned char AIER1:1; /* Address match interrupt1 enable bit*/
  97. unsigned char :1; /* Nothing assigned */
  98. unsigned char :1; /* Nothing assigned */
  99. unsigned char :1; /* Nothing assigned */
  100. unsigned char :1; /* Nothing assigned */
  101. unsigned char :1; /* Nothing assigned */
  102. unsigned char :1; /* Nothing assigned */
  103. } BIT; /* */
  104. unsigned char BYTE; /* Byte Access */
  105. }; /* Address match interrupt enable register */
  106. /*------------------------------------------------------
  107. Protect register //0x000A
  108. -----------------------------------------------------*/
  109. union st_prcr { /* union PRCR */
  110. struct { /* Bit Access */
  111. unsigned char PRC0:1; /* Enables writing to system clock control registers 0 & 1 */
  112. unsigned char PRC1:1; /* Enables writing to processor mode registers 0 & 1 */
  113. unsigned char PRC2:1; /* Enables writing to port P9 direction register & SI/Oi control register(i=3,4)*/
  114. unsigned char PRC3:1; /* Enable writting to Power supply detection register 2 and Power supply down detection register */
  115. unsigned char :1; /* Nothing assigned */
  116. unsigned char :1; /* Nothing assigned */
  117. unsigned char :1; /* Nothing assigned */
  118. unsigned char :1; /* Nothing assigned */
  119. } BIT; /* */
  120. unsigned char BYTE; /* Byte Access */
  121. }; /* Protect register */
  122. /*------------------------------------------------------
  123. Data bank register //0x000B
  124. ------------------------------------------------------*/
  125. union st_dbr { /* union DBR */
  126. struct { /* Bit Access */
  127. unsigned char :1; /* Nothing assigned */
  128. unsigned char :1; /* Nothing assigned */
  129. unsigned char OFS :1; /* Offset bit */
  130. unsigned char BSR0:1; /* Bank select bit 0 */
  131. unsigned char BSR1:1; /* Bank select bit 1 */
  132. unsigned char BSR2:1; /* Bank select bit 2 */
  133. unsigned char :1; /* Nothing assigned */
  134. unsigned char :1; /* Nothing assigned */
  135. } BIT; /* */
  136. unsigned char BYTE; /* Data bank register */
  137. };
  138. /*------------------------------------------------------
  139. Oscillation stop detection register //0x000C
  140. ------------------------------------------------------*/
  141. union st_cm2 { /* union CM2 */
  142. struct { /* Bit Access */
  143. unsigned char CM2_0:1; /* Oscillation stop detection bit */
  144. unsigned char CM2_1:1; /* Main clock switch bit */
  145. unsigned char CM2_2:1; /* Oscillation stop detection status */
  146. unsigned char CM2_3:1; /* Clock monitor bit */
  147. unsigned char :1; /* Nothing assigned */
  148. unsigned char :1; /* Nothing assigned */
  149. unsigned char :1; /* Nothing assigned */
  150. unsigned char CM2_7:1; /* Operation select bit(when an oscillation stop is detected) */
  151. } BIT; /* */
  152. unsigned char BYTE; /* Oscillation stop detection register */
  153. };
  154. /*------------------------------------------------------
  155. Watchdog timer control register //0x000f
  156. -----------------------------------------------------*/
  157. union st_wdc { /* union WDC */
  158. struct { /* Bit Access */
  159. unsigned char B0:1; /* High-order bit of watchdog timer */
  160. unsigned char B1:1; /* High-order bit of watchdog timer */
  161. unsigned char B2:1; /* High-order bit of watchdog timer */
  162. unsigned char B3:1; /* High-order bit of watchdog timer */
  163. unsigned char B4:1; /* High-order bit of watchdog timer */
  164. unsigned char WDC5:1; /* Cold start / warm start discrimination flag */
  165. unsigned char B6:1; /* Reserved bit, must always be 0 */
  166. unsigned char WDC7:1; /* Prescaler select bit */
  167. } BIT; /* */
  168. unsigned char BYTE; /* Byte Access */
  169. }; /* Watchdog timer control register */
  170. /*------------------------------------------------------
  171. Address match interrupt register 0 //0x0010
  172. -----------------------------------------------------*/
  173. union st_rmad0 {
  174. struct{
  175. unsigned char RMAD0L; /* Address match interrupt register 0 low 8 bit */
  176. unsigned char RMAD0M; /* Address match interrupt register 0 mid 8 bit */
  177. unsigned char RMAD0H; /* Address match interrupt register 0 high 8 bit */
  178. unsigned char NC; /* non use */
  179. } BYTE; /* Byte access */
  180. unsigned long DWORD; /* Word Access */
  181. }; /* Address match interrupt register 0 32 bit */
  182. /*------------------------------------------------------
  183. Address match interrupt register 1 //0x0014
  184. -----------------------------------------------------*/
  185. union st_rmad1 {
  186. struct{
  187. unsigned char RMAD1L; /* Address match interrupt register 1 low 8 bit */
  188. unsigned char RMAD1M; /* Address match interrupt register 1 mid 8 bit */
  189. unsigned char RMAD1H; /* Address match interrupt register 1 high 8 bit */
  190. unsigned char NC; /* non use */
  191. } BYTE; /* Byte access */
  192. unsigned long DWORD; /* Word Access */
  193. }; /* Address match interrupt register 1 32 bit */
  194. /*------------------------------------------------------
  195. Voltage Detection Register 1 //0x0019
  196. -----------------------------------------------------*/
  197. union st_vcr1 { /* union VCR1 */
  198. struct { /* Bit Access */
  199. unsigned char B0:1; /* Reserved bit,must be 0 */
  200. unsigned char B1:1; /* Reserved bit,must be 0 */
  201. unsigned char B2:1; /* Reserved bit,must be 0 */
  202. unsigned char VC1_3:1; /* Voltage down monitor flag */
  203. unsigned char B4:1; /* Reserved bit,must be 0 */
  204. unsigned char B5:1; /* Reserved bit,must be 0 */
  205. unsigned char B6:1; /* Reserved bit, must always be 0 */
  206. unsigned char B7:1; /* Reserved bit,must be 0 */
  207. } BIT; /* */
  208. unsigned char BYTE; /* Byte Access */
  209. }; /* Voltage Detection Register 1 */
  210. /*------------------------------------------------------
  211. Voltage Detection Register 2 //0x001A
  212. -----------------------------------------------------*/
  213. union st_vcr2 { /* union VCR2 */
  214. struct { /* Bit Access */
  215. unsigned char B0:1; /* Reserved bit,must be 0 */
  216. unsigned char B1:1; /* Reserved bit,must be 0 */
  217. unsigned char B2:1; /* Reserved bit,must be 0 */
  218. unsigned char B3:1; /* Reserved bit,must be 0 */
  219. unsigned char B4:1; /* Reserved bit,must be 0 */
  220. unsigned char B5:1; /* Reserved bit,must be 0 */
  221. unsigned char VC2_6:1; /* Reset area monitor bit */
  222. unsigned char VC2_7:1; /* Voltage down monitor bit */
  223. } BIT; /* */
  224. unsigned char BYTE; /* Byte Access */
  225. }; /* Voltage Detection Register 1 */
  226. /*------------------------------------------------------
  227. Chip select expansion control register//0x001B
  228. -----------------------------------------------------*/
  229. union st_cse { /* union CSE */
  230. struct { /* Bit Access */
  231. unsigned char CSE00W:1; /* CS0~ wait expansion bit */
  232. unsigned char CSE01W:1; /* CS0~ wait expansion bit */
  233. unsigned char CSE10W:1; /* CS1~ wait expansion bit */
  234. unsigned char CSE11W:1; /* CS1~ wait expansion bit */
  235. unsigned char CSE20W:1; /* CS2~ wait expansion bit */
  236. unsigned char CSE21W:1; /* CS2~ wait expansion bit */
  237. unsigned char CSE30W:1; /* CS3~ wait expansion bit */
  238. unsigned char CSE31W:1; /* CS3~ wait expansion bit */
  239. } BIT; /* */
  240. unsigned char BYTE; /* Byte Access */
  241. }; /* Chip select expansion control register */
  242. /*------------------------------------------------------
  243. PLL control register 0 //0x001C
  244. -----------------------------------------------------*/
  245. union st_plc0 { /* union */
  246. struct { /* Bit Access */
  247. unsigned char PLC00:1; /* Programmable counter select bit */
  248. unsigned char PLC01:1; /* Programmable counter select bit */
  249. unsigned char PLC02:1; /* Programmable counter select bit */
  250. unsigned char :1; /* Nothing assigned */
  251. unsigned char :1; /* Reserved bit,set to one */
  252. unsigned char :1; /* Reserved bit,set to zero */
  253. unsigned char :1; /* Reserved bit,set to zero */
  254. unsigned char PLC07:1; /* Operation enable bit */
  255. } BIT; /* */
  256. unsigned char BYTE; /* Byte Access */
  257. }; /* PLL control register 0 */
  258. /*------------------------------------------------------
  259. Processor mode register 2 //0x001E
  260. -----------------------------------------------------*/
  261. union st_pm2 { /* union */
  262. struct { /* Bit Access */
  263. unsigned char PM2_0:1; /* Specifying wait when accessing SFR at PLL operation */
  264. unsigned char PM2_1:1; /* System clock protective bit */
  265. unsigned char PM2_2:1; /* WDT count source protective bit */
  266. unsigned char :1; /* Reserved bit,set to zero */
  267. unsigned char :1; /* Reserved bit,set to zero */
  268. unsigned char :1; /* Nothing assigned */
  269. unsigned char :1; /* Nothing assigned */
  270. unsigned char :1; /* Nothing assigned */
  271. } BIT; /* */
  272. unsigned char BYTE; /* Byte Access */
  273. }; /* Processor mode register 2 */
  274. /*------------------------------------------------------
  275. Power supply down detection register //0x001F
  276. -----------------------------------------------------*/
  277. union st_d4int { /* union */
  278. struct { /* Bit Access */
  279. unsigned char D40:1; /* Power supply down detection interrupt enable bit */
  280. unsigned char D41:1; /* STOP mode deactivation control bit */
  281. unsigned char D42:1; /* Power supply change detection flag */
  282. unsigned char D43:1; /* WDT overflow detect flag */
  283. unsigned char DF0:1; /* Sampling clock select bit */
  284. unsigned char DF1:1; /* Sampling clock select bit */
  285. unsigned char :1; /* Nothing assigned */
  286. unsigned char :1; /* Nothing assigned */
  287. } BIT; /* */
  288. unsigned char BYTE; /* Byte Access */
  289. }; /* Power supply down detection register */
  290. /*------------------------------------------------------
  291. DMA0 source pointer //0x0020
  292. -----------------------------------------------------*/
  293. union st_sar0 {
  294. struct{
  295. unsigned char SAR01; /* DMA0 source pointer low 8 bit */
  296. unsigned char SAR0M; /* DMA0 source pointer mid 8 bit */
  297. unsigned char SAR0H; /* DMA0 source pointer high 8 bit */
  298. unsigned char NC; /* non use */
  299. } BYTE; /* Byte access */
  300. unsigned long DWORD; /* Word Access */
  301. }; /* DMA0 source pointer 32 bit */
  302. /*------------------------------------------------------
  303. DMA1 source pointer //0x0030
  304. -----------------------------------------------------*/
  305. union st_sar1 {
  306. struct{
  307. unsigned char SAR11; /* DMA1 source pointer low 8 bit */
  308. unsigned char SAR1M; /* DMA1 source pointer mid 8 bit */
  309. unsigned char SAR1H; /* DMA1 source pointer high 8 bit */
  310. unsigned char NC; /* non use */
  311. } BYTE; /* Byte access */
  312. unsigned long DWORD; /* Word Access */
  313. }; /* DMA1 source pointer 32 bit */
  314. /*------------------------------------------------------
  315. DMA0 destination pointer //0x0024
  316. -----------------------------------------------------*/
  317. union st_dar0 { /* DMA0 destination pointer 32 bit */
  318. struct{
  319. unsigned char DAR0L; /* DMA0 destination pointer low 8 bit */
  320. unsigned char DAR0M; /* DMA0 destination pointer mid 8 bit */
  321. unsigned char DAR0H; /* DMA0 destination pointer high 8 bit */
  322. unsigned char NC; /* non use */
  323. } BYTE; /* Byte access */
  324. unsigned long DWORD; /* Word Access */
  325. };
  326. /*------------------------------------------------------
  327. DMA1 destination pointer //0x0034
  328. -----------------------------------------------------*/
  329. union st_dar1 { /* DMA1 destination pointer 32 bit */
  330. struct{
  331. unsigned char DAR1L; /* DMA1 destination pointer low 8 bit */
  332. unsigned char DAR1M; /* DMA1 destination pointer mid 8 bit */
  333. unsigned char DAR1H; /* DMA1 destination pointer high 8 bit */
  334. unsigned char NC; /* non use */
  335. } BYTE; /* Byte access */
  336. unsigned long DWORD; /* Word Access */
  337. };
  338. /*------------------------------------------------------
  339. DMA0 transfer counter //0x0028
  340. -----------------------------------------------------*/
  341. union st_tcr0 { /* DMA0 transfer counter 16 bit */
  342. struct{
  343. unsigned char TCR0L; /* DMA0 transfer counter low 8 bit */
  344. unsigned char TCR0H; /* DMA0 transfer counter high 8 bit */
  345. } BYTE; /* Byte access */
  346. unsigned short WORD; /* Word Access */
  347. };
  348. /*------------------------------------------------------
  349. DMA1 transfer counter //0x0038
  350. -----------------------------------------------------*/
  351. union st_tcr1 { /* DMA1 transfer counter 16 bit */
  352. struct{
  353. unsigned char TCR1L; /* DMA1 transfer counter low 8 bit */
  354. unsigned char TCR1H; /* DMA1 transfer counter high 8 bit */
  355. } BYTE; /* Byte access */
  356. unsigned short WORD; /* Word Access */
  357. };
  358. /*------------------------------------------------------
  359. DMA0 control register //0x002c
  360. ------------------------------------------------------*/
  361. union st_dm0con { /* DMA0 control register */
  362. struct{
  363. unsigned char DMBIT:1; /* Transfer unit bit select bit */
  364. unsigned char DMASL:1; /* Repeat transfer mode select bit */
  365. unsigned char DMAS :1; /* DMA request bit */
  366. unsigned char DMAE :1; /* DMA enable bit */
  367. unsigned char DSD :1; /* Source address direction select bit */
  368. unsigned char DAD :1; /* Destination address direction select bit */
  369. unsigned char :1;
  370. unsigned char :1;
  371. }BIT;
  372. unsigned char BYTE;
  373. };
  374. /*------------------------------------------------------
  375. DMA1 control register //0x003c
  376. ------------------------------------------------------*/
  377. union st_dm1con { /* DMA1 control register union */
  378. struct{
  379. unsigned char DMBIT:1; /* Transfer unit bit select bit */
  380. unsigned char DMASL:1; /* Repeat transfer mode select bit */
  381. unsigned char DMAS :1; /* DMA request bit */
  382. unsigned char DMAE :1; /* DMA enable bit */
  383. unsigned char DSD :1; /* Source address direction select bit */
  384. unsigned char DAD :1; /* Destination address direction select bit */
  385. unsigned char :1; /*Nothing assigned */
  386. unsigned char :1; /*Nothing assigned */
  387. }BIT;
  388. unsigned char BYTE;
  389. };
  390. union st_icr { /* interrupt control registers */
  391. struct{
  392. unsigned char ILVL0:1; /* Interrupt priority level select bit */
  393. unsigned char ILVL1:1; /* Interrupt priority level select bit */
  394. unsigned char ILVL2:1; /* Interrupt priority level select bit */
  395. unsigned char IR :1; /* Interrupt request bit */
  396. unsigned char POL :1; /* Polarity select bit */
  397. unsigned char :1; /* Reserved bit, set to 0 */
  398. unsigned char :1; /* Nothing assigned */
  399. unsigned char :1; /* Nothing assigned */
  400. }BIT;
  401. unsigned char BYTE;
  402. };
  403. union st_icr1 { /* interrupt control registers */
  404. struct{
  405. unsigned char ILVL0:1; /* Interrupt priority level select bit */
  406. unsigned char ILVL1:1; /* Interrupt priority level select bit */
  407. unsigned char ILVL2:1; /* Interrupt priority level select bit */
  408. unsigned char IR :1; /* Interrupt request bit */
  409. unsigned char :1; /* Nothing assigned */
  410. unsigned char :1; /* Nothing assigned */
  411. unsigned char :1; /* Nothing assigned */
  412. unsigned char :1; /* Nothing assigned */
  413. }BIT;
  414. unsigned char BYTE;
  415. };
  416. /*------------------------------------------------------
  417. bcnic //0x004a
  418. ------------------------------------------------------*/
  419. union st_bcnic { /* interrupt control registers*/
  420. struct{
  421. unsigned char ILVL0_BCNIC:1;/* Interrupt priority level select bit */
  422. unsigned char ILVL1_BCNIC:1;/* Interrupt priority level select bit */
  423. unsigned char ILVL2_BCNIC:1;/* Interrupt priority level select bit */
  424. unsigned char IR_BCNIC :1;/* Interrupt request bit */
  425. unsigned char :1;
  426. unsigned char :1;
  427. unsigned char :1;
  428. unsigned char :1;
  429. }BIT;
  430. unsigned char BYTE;
  431. };
  432. /*------------------------------------------------------
  433. dm0ic //0x004b
  434. ------------------------------------------------------*/
  435. union st_dm0ic { /* interrupt control registers*/
  436. struct{
  437. unsigned char ILVL0_DM0IC:1;/* Interrupt priority level select bit */
  438. unsigned char ILVL1_DM0IC:1;/* Interrupt priority level select bit */
  439. unsigned char ILVL2_DM0IC:1;/* Interrupt priority level select bit */
  440. unsigned char IR_DM0IC :1;/* Interrupt request bit */
  441. unsigned char :1;
  442. unsigned char :1;
  443. unsigned char :1;
  444. unsigned char :1;
  445. }BIT;
  446. unsigned char BYTE;
  447. };
  448. /*------------------------------------------------------
  449. Flash identification register //0x01b4
  450. ------------------------------------------------------*/
  451. union st_fidr { /* Flash identification register */
  452. struct{
  453. unsigned char FIDR0:1; /* Flash identification value */
  454. unsigned char FIDR1:1; /* Flash identification value */
  455. unsigned char :1; /* Nothing assigned */
  456. unsigned char :1; /* Nothing assigned */
  457. unsigned char :1; /* Nothing assigned */
  458. unsigned char :1; /* Nothing assigned */
  459. unsigned char :1; /* Nothing assigned */
  460. unsigned char :1; /* Nothing assigned */
  461. }BIT;
  462. unsigned char BYTE;
  463. };
  464. /*------------------------------------------------------
  465. Flash memory control register 1 //0x01b5
  466. ------------------------------------------------------*/
  467. union st_fmr1 { /* Flash identification register */
  468. struct{
  469. unsigned char :1; /* Reserved bit */
  470. unsigned char FMR11:1; /* EW1 mode select bit */
  471. unsigned char :1; /* Reserved bit */
  472. unsigned char :1; /* Reserved bit */
  473. unsigned char :1; /* Reserved bit */
  474. unsigned char :1; /* Reserved bit */
  475. unsigned char FMR16:1; /* Lock bit status flag */
  476. unsigned char :1; /* Reserved bit */
  477. }BIT;
  478. unsigned char BYTE;
  479. };
  480. /*------------------------------------------------------
  481. Flash memory control register 0 //0x01b7
  482. ------------------------------------------------------*/
  483. union st_fmr0 { /* Flash identification register */
  484. struct{
  485. unsigned char FMR00:1; /* RY/BY~ status flag */
  486. unsigned char FMR01:1; /* EW0 mode select bit */
  487. unsigned char FMR02:1; /* Lock bit disable bit */
  488. unsigned char FMSTP:1; /* Flash memory stop bit */
  489. unsigned char :1; /* Reserved bit */
  490. unsigned char FMR05:1; /* User ROM area select bit */
  491. unsigned char FMR06:1; /* Program status flag */
  492. unsigned char FMR07:1; /* Erase status flag */
  493. }BIT;
  494. unsigned char BYTE;
  495. };
  496. /*------------------------------------------------------
  497. Address match interrupt register 2 //0x01b8
  498. -----------------------------------------------------*/
  499. union st_rmad2 {
  500. struct{
  501. unsigned char RMAD2L; /* Address match interrupt register 2 low 8 bit */
  502. unsigned char RMAD2M; /* Address match interrupt register 2 mid 8 bit */
  503. unsigned char RMAD2H; /* Address match interrupt register 2 high 8 bit */
  504. unsigned char NC; /* non use */
  505. } BYTE; /* Byte access */
  506. unsigned long DWORD; /* Word Access */
  507. }; /* Address match interrupt register 2 32 bit */
  508. /*------------------------------------------------------
  509. Address match interrupt enable register 2 //0x01bb
  510. ------------------------------------------------------*/
  511. union st_aier2 { /* Address match interrupt enable register 2 */
  512. struct{
  513. unsigned char AIER20:1; /* Address match interrupt 2 enable bit */
  514. unsigned char AIER21:1; /* Address match interrupt 3 enable bit */
  515. unsigned char :1; /* Nothing assigned */
  516. unsigned char :1; /* Nothing assigned */
  517. unsigned char :1; /* Nothing assigned */
  518. unsigned char :1; /* Nothing assigned */
  519. unsigned char :1; /* Nothing assigned */
  520. unsigned char :1; /* Nothing assigned */
  521. }BIT;
  522. unsigned char BYTE;
  523. };
  524. /*------------------------------------------------------
  525. Address match interrupt register 3 //0x01bc
  526. -----------------------------------------------------*/
  527. union st_rmad3 {
  528. struct{
  529. unsigned char RMAD3L; /* Address match interrupt register 3 low 8 bit */
  530. unsigned char RMAD3M; /* Address match interrupt register 3 mid 8 bit */
  531. unsigned char RMAD3H; /* Address match interrupt register 3 high 8 bit */
  532. unsigned char NC; /* non use */
  533. } BYTE; /* Byte access */
  534. unsigned long DWORD; /* Word Access */
  535. }; /* Address match interrupt register 3 32 bit */
  536. /*------------------------------------------------------
  537. Peripheral clock select register //0x025e
  538. ------------------------------------------------------*/
  539. union st_pclkr { /* Peripheral clock select register */
  540. struct{
  541. unsigned char PCLK0 :1; /* TimerA,B clock select bit */
  542. unsigned char PCLK1 :1; /* SI/O clock select bit */
  543. unsigned char :1; /* Reserved bit,set to 0 */
  544. unsigned char :1; /* Reserved bit,set to 0 */
  545. unsigned char :1; /* Reserved bit,set to 0 */
  546. unsigned char :1; /* Reserved bit,set to 0 */
  547. unsigned char :1; /* Reserved bit,set to 0 */
  548. unsigned char :1; /* Reserved bit,set to 0 */
  549. }BIT;
  550. unsigned char BYTE;
  551. };
  552. /*------------------------------------------------------
  553. Timer B3,4,5 Count start flag //0x0340
  554. ------------------------------------------------------*/
  555. union st_tbsr { /* union tbsr */
  556. struct { /* Bit Access */
  557. unsigned char :1; /* Nothing Assigned */
  558. unsigned char :1; /* Nothing Assigned */
  559. unsigned char :1; /* Nothing Assigned */
  560. unsigned char :1; /* Nothing Assigned */
  561. unsigned char :1; /* Nothing Assigned */
  562. unsigned char TB3S:1; /* Timer B3 count start flag */
  563. unsigned char TB4S:1; /* Timer B4 count start flag */
  564. unsigned char TB5S:1; /* Timer B5 count start flag */
  565. } BIT; /* */
  566. unsigned char BYTE; /* Byte Access */
  567. }; /* Timer B3,4,5 Count start flag */
  568. /*------------------------------------------------------
  569. Three-phase PWM control regester 0 //0x0348
  570. ------------------------------------------------------*/
  571. union st_invc0 { /* union invc0 */
  572. struct { /* Bit Access */
  573. unsigned char INV00:1;/* Effective interrupt output polarity select bit */
  574. unsigned char INV01:1;/* Effective interrupt output specification bit */
  575. unsigned char INV02:1;/* Mode select bit */
  576. unsigned char INV03:1;/* Output control bit */
  577. unsigned char INV04:1;/* Positive and negative phases concurrent L output disable function enable bit */
  578. unsigned char INV05:1;/* Positive and negative phases concurrent L output detect flag */
  579. unsigned char INV06:1;/* Modulation mode select bit */
  580. unsigned char INV07:1;/* Software trigger bit */
  581. } BIT; /* */
  582. unsigned char BYTE; /* Byte Access */
  583. }; /* */
  584. /*------------------------------------------------------
  585. Three-phase PWM control regester 1 //0x0349
  586. ------------------------------------------------------*/
  587. union st_invc1 { /* union invc1 */
  588. struct { /* Bit Access */
  589. unsigned char INV10:1;/* Timer Ai start trigger signal select bit */
  590. unsigned char INV11:1;/* Timer A1-1,A2-1,A4-1 control bit */
  591. unsigned char INV12:1;/* Short circuit timer count source select bit*/
  592. unsigned char :1;/* Nothing Assigned */
  593. unsigned char :1;/* Reserved bit (always 0) */
  594. unsigned char :1;/* Nothing Assigned */
  595. unsigned char :1;/* Nothing Assigned */
  596. unsigned char :1;/* Nothing Assigned */
  597. } BIT; /* */
  598. unsigned char BYTE; /* Byte Access */
  599. }; /* */
  600. /*------------------------------------------------------
  601. Three-phase output buffer register 0 //0x034a
  602. ------------------------------------------------------*/
  603. union st_idb0 { /* union idb0 */
  604. struct { /* Bit Access */
  605. unsigned char DU0 :1;/* U phase output buffer 0 */
  606. unsigned char DUB0:1;/* U~ phase output buffer 0 */
  607. unsigned char DV0 :1;/* V phase output buffer 0 */
  608. unsigned char DVB0:1;/* V~ phase output buffer 0 */
  609. unsigned char DW0 :1;/* W phase output buffer 0 */
  610. unsigned char DWB0:1;/* W~ phase output buffer 0 */
  611. unsigned char :1;/* Nothing Assigned */
  612. unsigned char :1;/* Nothing Assigned */
  613. } BIT; /* */
  614. unsigned char BYTE; /* Byte Access */
  615. }; /* */
  616. /*------------------------------------------------------
  617. Three-phase output buffer register 1 //0x034b
  618. ------------------------------------------------------*/
  619. union st_idb1 { /* union idb1 */
  620. struct { /* Bit Access */
  621. unsigned char DU1 :1;/* U phase output buffer 1 */
  622. unsigned char DUB1:1;/* U~ phase output buffer 1 */
  623. unsigned char DV1 :1;/* V phase output buffer 1 */
  624. unsigned char DVB1:1;/* V~ phase output buffer 1 */
  625. unsigned char DW1 :1;/* W phase output buffer 1 */
  626. unsigned char DWB1:1;/* W~ phase output buffer 1 */
  627. unsigned char :1;/* Nothing Assigned */
  628. unsigned char :1;/* Nothing Assigned */
  629. } BIT; /* */
  630. unsigned char BYTE; /* Byte Access */
  631. }; /* */
  632. /*----------------------------------------------------------------------------------
  633. Timer mode registers //0x035b,0x035c,0x035d,0x0396,
  634. 0x0397,0x0398,0x0399,0x039a,0x039b,0x039c
  635. ---------------------------------------------------------------------------------*/
  636. union st_tmr { /* union tmr */
  637. struct { /* Bit Access */
  638. unsigned char TMOD0:1; /* Operation mode select bit */
  639. unsigned char TMOD1:1; /* Operation mode select bit */
  640. unsigned char MR0 :1; /* Pulse output function select bit */
  641. unsigned char MR1 :1; /* External trigger select bit */
  642. unsigned char MR2 :1; /* Trigger select bit */
  643. unsigned char MR3 :1; /* Must always be "0" in one-shot timer*/
  644. unsigned char TCK0 :1; /* Count source select bit */
  645. unsigned char TCK1 :1; /* Count source select bit */
  646. } BIT; /* */
  647. unsigned char BYTE; /* Byte Access */
  648. };
  649. /*------------------------------------------------------
  650. Interrupt request cause select register 2 //0x035e
  651. ------------------------------------------------------*/
  652. union st_ifsr2a { /* union ifsr2a */
  653. struct { /* Bit Access */
  654. unsigned char :1; /* Nothing assigned */
  655. unsigned char :1; /* Nothing assigned */
  656. unsigned char :1; /* Nothing assigned */
  657. unsigned char :1; /* Nothing assigned */
  658. unsigned char :1; /* Nothing assigned */
  659. unsigned char :1; /* Nothing assigned */
  660. unsigned char IFSR26 :1; /* Interrupt request cause select bit */
  661. unsigned char IFSR27 :1; /* Interrupt request cause select bit */
  662. } BIT; /* */
  663. unsigned char BYTE; /* Byte Access */
  664. };
  665. /*------------------------------------------------------
  666. Interrupt request cause select register //0x035f
  667. -----------------------------------------------------*/
  668. union st_ifsr { /* union IFSR */
  669. struct { /* Bit Access */
  670. unsigned char IFSR0:1; /* INT0~ interrupt polarity switching bit */
  671. unsigned char IFSR1:1; /* INT1~ interrupt polarity switching bit */
  672. unsigned char IFSR2:1; /* INT2~ interrupt polarity switching bit */
  673. unsigned char IFSR3:1; /* INT3~ interrupt polarity switching bit */
  674. unsigned char IFSR4:1; /* INT4~ interrupt polarity switching bit */
  675. unsigned char IFSR5:1; /* INT5~ interrupt polarity switching bit */
  676. unsigned char IFSR6:1; /* Interrupt request cause select bit */
  677. unsigned char IFSR7:1; /* Interrupt request cause select bit */
  678. } BIT; /* */
  679. unsigned char BYTE; /* Byte Access */
  680. }; /* */
  681. /*------------------------------------------------------
  682. SI/O4 control registers //0x0360
  683. ------------------------------------------------------*/
  684. union st_s4c { /* union S4C */
  685. struct { /* Bit Access */
  686. unsigned char SM40:1; /* Internal synchronous clock select bit */
  687. unsigned char SM41:1; /* Internal synchronous clock select bit */
  688. unsigned char SM42:1; /* Sout4 output disable bit */
  689. unsigned char SM43:1; /* SI/O4 port select bit */
  690. unsigned char SM44:1; /* CLK polarity select bit */
  691. unsigned char SM45:1; /* Transfer direction select bit */
  692. unsigned char SM46:1; /* Synchronous clock select bit */
  693. unsigned char SM47:1; /* Sout4 initial value set bit */
  694. } BIT; /* */
  695. unsigned char BYTE; /* Byte Access */
  696. };
  697. /*------------------------------------------------------
  698. SI/O3 control registers //0x0362
  699. ------------------------------------------------------*/
  700. union st_s3c { /* union S3C */
  701. struct { /* Bit Access */
  702. unsigned char SM30:1; /* Internal synchronous clock select bit */
  703. unsigned char SM31:1; /* Internal synchronous clock select bit */
  704. unsigned char SM32:1; /* Sout3 output disable bit */
  705. unsigned char SM33:1; /* SI/O3 port select bit */
  706. unsigned char SM34:1; /* CLK polarity select bit */
  707. unsigned char SM35:1; /* Transfer direction select bit */
  708. unsigned char SM36:1; /* Synchronous clock select bit */
  709. unsigned char SM37:1; /* Sout3 initial value set bit */
  710. } BIT; /* */
  711. unsigned char BYTE; /* Byte Access */
  712. }; /* */
  713. /*------------------------------------------------------
  714. UART0 special mode register 4 //0x036c
  715. ------------------------------------------------------*/
  716. union st_u0smr4 { /* union u0smr4 */
  717. struct { /* Bit Access */
  718. unsigned char STAREQ :1; /* Start condition generate bit */
  719. unsigned char RSTAREQ:1; /* Restart condition generate bit */
  720. unsigned char STPREQ :1; /* Stop condition generate bit */
  721. unsigned char STSPSEL:1; /* SCL,SDA output select bit */
  722. unsigned char ACKD :1; /* ACK data bit */
  723. unsigned char ACKC :1; /* ACK data output enable bit */
  724. unsigned char SCLHI :1; /* SCL output stop enable bit */
  725. unsigned char SWC9 :1; /* Final bit L hold enable bit */
  726. } BIT; /* */
  727. unsigned char BYTE; /* Byte Access */
  728. }; /* */
  729. /*------------------------------------------------------
  730. UART0 special mode register 3 //0x036d
  731. ------------------------------------------------------*/
  732. union st_u0smr3 { /* union u0smr3 */
  733. struct { /* Bit Access */
  734. unsigned char :1; /* Nothing is assigned */
  735. unsigned char CKPH :1; /* Clock phase set bit */
  736. unsigned char :1; /* Nothing is assigned */
  737. unsigned char NODC :1; /* Clock output set bit */
  738. unsigned char :1; /* Nothing is assigned */
  739. unsigned char DL0 :1; /* SDA0(TxD0) digital delay setup bit */
  740. unsigned char DL1 :1; /* SDA0(TxD0) digital delay setup bit */
  741. unsigned char DL2 :1; /* SDA0(TxD0) digital delay setup bit */
  742. } BIT; /* */
  743. unsigned char BYTE; /* Byte Access */
  744. }; /* */
  745. /*------------------------------------------------------
  746. UART0 special mode register 2 //0x036e
  747. ------------------------------------------------------*/
  748. union st_u0smr2 { /* union u0smr2 */
  749. struct { /* Bit Access */
  750. unsigned char IICM2 :1; /* IIC mode selection bit 2 */
  751. unsigned char CSC :1; /* Clock-synchronous bit */
  752. unsigned char SWC :1; /* SCL wait output bit */
  753. unsigned char ALS :1; /* SDA output stop bit */
  754. unsigned char STAC :1; /* UART0 initialization bit */
  755. unsigned char SWC2 :1; /* SCL wait output bit 2 */
  756. unsigned char SDHI :1; /* SDA output disable bit */
  757. unsigned char :1; /* Nothing is assigned */
  758. } BIT; /* */
  759. unsigned char BYTE; /* Byte Access */
  760. }; /* */
  761. /*------------------------------------------------------
  762. UART0 special mode register //0x036f
  763. ------------------------------------------------------*/
  764. union st_u0smr { /* union u0smr */
  765. struct { /* Bit Access */
  766. unsigned char IICM:1; /* IIC mode selection bit */
  767. unsigned char ABC :1; /* Arbitration lost detecting flag control bit */
  768. unsigned char BBS :1; /* Bus busy flag */
  769. unsigned char :1; /* Reserved bit,set to 0 */
  770. unsigned char ABSC:1; /* Bus collision detect sampling clock select bit */
  771. unsigned char ACSE:1; /* Auto clear function select bit of transmit enable bit */
  772. unsigned char SSS :1; /* Transmit start condition select bit */
  773. unsigned char :1; /* Nothing is assigned */
  774. } BIT; /* */
  775. unsigned char BYTE; /* Byte Access */
  776. }; /* */
  777. /*------------------------------------------------------
  778. UART1 special mode register 4 //0x0370
  779. ------------------------------------------------------*/
  780. union st_u1smr4 { /* union u1smr4 */
  781. struct { /* Bit Access */
  782. unsigned char STAREQ:1; /* Start condition generate bit */
  783. unsigned char RSTARE:1; /* Restart condition generate bit */
  784. unsigned char STPREQ:1; /* Stop condition generate bit */
  785. unsigned char STSPSE:1; /* SCL,SDA output select bit */
  786. unsigned char ACKD :1; /* ACK data bit */
  787. unsigned char ACKC :1; /* ACK data output enable bit */
  788. unsigned char SCLHI :1; /* SCL output stop enable bit */
  789. unsigned char SWC9 :1; /* Final bit L hold enable bit */
  790. } BIT; /* */
  791. unsigned char BYTE; /* Byte Access */
  792. }; /* */
  793. /*------------------------------------------------------
  794. UART1 special mode register 3 //0x0371
  795. ------------------------------------------------------*/
  796. union st_u1smr3 { /* union u1smr3 */
  797. struct { /* Bit Access */
  798. unsigned char :1; /* Nothing is assigned */
  799. unsigned char CKPH :1; /* Clock phase set bit */
  800. unsigned char :1; /* Nothing is assigned */
  801. unsigned char NODC :1; /* Clock output set bit */
  802. unsigned char :1; /* Nothing is assigned */
  803. unsigned char DL0 :1; /* SDA1(TxD1) digital delay setup bit */
  804. unsigned char DL1 :1; /* SDA1(TxD1) digital delay setup bit */
  805. unsigned char DL2 :1; /* SDA1(TxD1) digital delay setup bit */
  806. } BIT; /* */
  807. unsigned char BYTE; /* Byte Access */
  808. }; /* */
  809. /*------------------------------------------------------
  810. UART1 special mode register 2 //0x0372
  811. ------------------------------------------------------*/
  812. union st_u1smr2 { /* union u1smr2 */
  813. struct { /* Bit Access */
  814. unsigned char IICM2 :1; /* IIC mode selection bit 2 */
  815. unsigned char CSC :1; /* Clock-synchronous bit */
  816. unsigned char SWC :1; /* SCL wait output bit */
  817. unsigned char ALS :1; /* SDA output stop bit */
  818. unsigned char STAC :1; /* UART0 initialization bit */
  819. unsigned char SWC2 :1; /* SCL wait output bit 2 */
  820. unsigned char SDHI :1; /* SDA output disable bit */
  821. unsigned char :1; /* Nothing is assigned */
  822. } BIT; /* */
  823. unsigned char BYTE; /* Byte Access */
  824. }; /* */
  825. /*------------------------------------------------------
  826. UART1 special mode register //0x0373
  827. ------------------------------------------------------*/
  828. union st_u1smr { /* union u1smr */
  829. struct { /* Bit Access */
  830. unsigned char IICM:1; /* IIC mode selection bit */
  831. unsigned char ABC :1; /* Arbitration lost detecting flag control bit */
  832. unsigned char BBS :1; /* Bus busy flag */
  833. unsigned char :1; /* Reserved bit,set to 0 */
  834. unsigned char ABSC:1; /* Bus collision detect sampling clock select bit */
  835. unsigned char ACSE:1; /* Auto clear function select bit of transmit enable bit */
  836. unsigned char SSS :1; /* Transmit start condition select bit */
  837. unsigned char :1; /* Nothing is assigned */
  838. } BIT; /* */
  839. unsigned char BYTE; /* Byte Access */
  840. }; /* */
  841. /*------------------------------------------------------
  842. UART2 special mode register 4 //0x0374
  843. ------------------------------------------------------*/
  844. union st_u2smr4 { /* union u1smr4 */
  845. struct { /* Bit Access */
  846. unsigned char STAREQ:1; /* Start condition generate bit */
  847. unsigned char RSTARE:1; /* Restart condition generate bit */
  848. unsigned char STPREQ:1; /* Stop condition generate bit */
  849. unsigned char STSPSE:1; /* SCL,SDA output select bit */
  850. unsigned char ACKD :1; /* ACK data bit */
  851. unsigned char ACKC :1; /* ACK data output enable bit */
  852. unsigned char SCLHI :1; /* SCL output stop enable bit */
  853. unsigned char SWC9 :1; /* Final bit L hold enable bit */
  854. } BIT; /* */
  855. unsigned char BYTE; /* Byte Access */
  856. }; /* */
  857. /*------------------------------------------------------
  858. UART2 special mode register 3 //0x0375
  859. ------------------------------------------------------*/
  860. union st_u2smr3 { /* union U2SMR3 */
  861. struct { /* Bit Access */
  862. unsigned char :1; /* Nothing is assigned */
  863. unsigned char CKPH :1; /* Clock phase set bit */
  864. unsigned char :1; /* Nothing is assigned */
  865. unsigned char NODC :1; /* Clock output set bit */
  866. unsigned char :1; /* Nothing is assigned */
  867. unsigned char DL0 :1; /* SDA digital delay setup bit */
  868. unsigned char DL1 :1; /* SDA digital delay setup bit */
  869. unsigned char DL2 :1; /* SDA digital delay setup bit */
  870. } BIT; /* */
  871. unsigned char BYTE; /* Byte Access */
  872. }; /* */
  873. /*------------------------------------------------------
  874. UART2 special mode register 2 //0x0376
  875. ------------------------------------------------------*/
  876. union st_u2smr2 { /* union U2SMR2 */
  877. struct { /* Bit Access */
  878. unsigned char IICM2:1; /* IIC mode selection bit 2 */
  879. unsigned char CSC :1; /* Clock-synchronous bit */
  880. unsigned char SWC :1; /* SCL wait output bit */
  881. unsigned char ALS :1; /* SDA output stop bit */
  882. unsigned char STAC :1; /* UART2 initialization bit */
  883. unsigned char SWC2 :1; /* SCL wait output bit 2 */
  884. unsigned char SDHI :1; /* SDA output disable bit */
  885. unsigned char :1; /* Nothing is assigned */
  886. } BIT; /* */
  887. unsigned char BYTE; /* Byte Access */
  888. }; /* */
  889. /*------------------------------------------------------
  890. UART2 special mode register //0x0377
  891. ------------------------------------------------------*/
  892. union st_u2smr { /* union U2SMR */
  893. struct { /* Bit Access */
  894. unsigned char IICM :1; /* IIC mode selection bit */
  895. unsigned char ABC :1; /* Arbitration lost detecting flag control bit */
  896. unsigned char BBS :1; /* Reserved bit,set to 0 */
  897. unsigned char :1; /* SCLL sync output enable bit */
  898. unsigned char ABSCS:1; /* Bus collision detect sampling clock select bit */
  899. unsigned char ACSE :1; /* Auto clear function select bit of transmit enable bit */
  900. unsigned char SSS :1; /* Transmit start condition select bit */
  901. unsigned char :1; /* Nothing is assigned */
  902. } BIT; /* */
  903. unsigned char BYTE; /* Byte Access */
  904. }; /* */
  905. /*------------------------------------------------------
  906. UART2 transmit/receive mode register //0x0378
  907. ------------------------------------------------------*/
  908. union st_u2mr { /* union U2MR */
  909. struct { /* Bit Access */
  910. unsigned char SMD0_U2MR :1; /* Serial I/O mode select bit */
  911. unsigned char SMD1_U2MR :1; /* Serial I/O mode select bit */
  912. unsigned char SMD2_U2MR :1; /* Serial I/O mode select bit */
  913. unsigned char CKDIR_U2MR:1; /* Internal/external clock select bit */
  914. unsigned char STPS_U2MR :1; /* Stop bit length select bit */
  915. unsigned char PRY_U2MR :1; /* Odd/even parity select bit */
  916. unsigned char PRYE_U2MR :1; /* Parity enable bit */
  917. unsigned char IOPOL_U2MR:1; /* TxD RxD I/O polarity reverse bit */
  918. } BIT; /* */
  919. unsigned char BYTE; /* Byte Access */
  920. };
  921. /*------------------------------------------------------
  922. UART2 Transmit buffer register 16 bit //0x037a
  923. ------------------------------------------------------*/
  924. union st_u2tb { /* UART2 Transmit buffer register 16 bit ; Use "MOV" instruction when writing to this register. */
  925. struct{
  926. unsigned char U2TBL; /* UART2 Transmit buffer register low 8 bit */
  927. unsigned char U2TBH; /* UART2 Transmit buffer register high 8 bit */
  928. } BYTE; /* Byte access */
  929. unsigned short WORD; /* Word Access */
  930. };
  931. /*------------------------------------------------------
  932. UART2 transmit/receive control register 0//0x037c
  933. ------------------------------------------------------*/
  934. union st_u2c0 { /* union U2C0 */
  935. struct { /* Bit Access */
  936. unsigned char CLK0 :1; /* BRG count source select bit */
  937. unsigned char CLK1 :1; /* BRG count source select bit */
  938. unsigned char CRS :1; /* CTS~/RTS~ function select bit */
  939. unsigned char TXEPT:1; /* Transmit register empty flag */
  940. unsigned char CRD :1; /* CTS~/RTS~ disable bit */
  941. unsigned char :1; /* Nothing Assigned */
  942. unsigned char CKPOL:1; /* CLK polarity select bit */
  943. unsigned char UFORM:1; /* Transfer format select bit */
  944. } BIT; /* */
  945. unsigned char BYTE; /* Byte Access */
  946. }; /* UART2 transmit/receive control register 0*/
  947. /*------------------------------------------------------
  948. UART2 transmit/receive control register 1 //0x037d
  949. -----------------------------------------------------*/
  950. union st_u2c1 { /* union U2C1 */
  951. struct { /* Bit Access */
  952. unsigned char TE_U2C1:1; /* Transmit enable bit */
  953. unsigned char TI_U2C1:1; /* Transmit buffer empty flag */
  954. unsigned char RE_U2C1:1; /* Receive enable bit */
  955. unsigned char RI_U2C1:1; /* Receive complete flag */
  956. unsigned char U2IRS :1; /* UART2 transmit interrupt cause select bit*/
  957. unsigned char U2RRM :1; /* UART2 continuous receive mode enable bit */
  958. unsigned char U2LCH :1; /* Data logic select bit */
  959. unsigned char U2ERE :1; /* Error signal output enable bit */
  960. } BIT; /* */
  961. unsigned char BYTE; /* Byte Access */
  962. }; /*UART2 transmit/receive control register 1 */
  963. /*------------------------------------------------------
  964. UART2 receive buffer registers //0x037e
  965. ------------------------------------------------------*/
  966. union st_u2rb { /* UART2 receive buffer register */
  967. struct { /* Bit Access */
  968. unsigned char :1; /* Receive data */
  969. unsigned char :1; /* Receive data */
  970. unsigned char :1; /* Receive data */
  971. unsigned char :1; /* Receive data */
  972. unsigned char :1; /* Receive data */
  973. unsigned char :1; /* Receive data */
  974. unsigned char :1; /* Receive data */
  975. unsigned char :1; /* Receive data */
  976. unsigned char :1; /* Receive data */
  977. unsigned char :1; /* Nothing assigned */
  978. unsigned char :1; /* Nothing assigned */
  979. unsigned char ABT_U2RB:1; /* Arbitration lost detecting flag */
  980. unsigned char OER_U2RB:1; /* Overrun error flag */
  981. unsigned char FER_U2RB:1; /* Framing error flag */
  982. unsigned char PER_U2RB:1; /* Parity error flag */
  983. unsigned char SUM_U2RB:1; /* Error sum flag */
  984. }BIT;
  985. struct{
  986. unsigned char U2RBL; /* Low 8 bit */
  987. unsigned char U2RBH; /* High 8 bit */
  988. }BYTE;
  989. unsigned short WORD;
  990. };
  991. /*------------------------------------------------------
  992. Count start flag //0x0380
  993. ------------------------------------------------------*/
  994. union st_tabsr { /* union TABSR */
  995. struct { /* Bit Access */
  996. unsigned char TA0S:1; /* Timer A0 count start flag */
  997. unsigned char TA1S:1; /* Timer A1 count start flag */
  998. unsigned char TA2S:1; /* Timer A2 count start flag */
  999. unsigned char TA3S:1; /* Timer A3 count start flag */
  1000. unsigned char TA4S:1; /* Timer A4 count start flag */
  1001. unsigned char TB0S:1; /* Timer B0 count start flag */
  1002. unsigned char TB1S:1; /* Timer B1 count start flag */
  1003. unsigned char TB2S:1; /* Timer B2 count start flag */
  1004. } BIT; /* */
  1005. unsigned char BYTE; /* Byte Access */
  1006. }; /*UART2 transmit/receive control register 1 */
  1007. /*------------------------------------------------------
  1008. Clock prescaler reset flag //0x0381
  1009. ------------------------------------------------------*/
  1010. union st_cpsrf { /* union CPSRF */
  1011. struct { /* Bit Access */
  1012. unsigned char :1; /* */
  1013. unsigned char :1; /* */
  1014. unsigned char :1; /* */
  1015. unsigned char :1; /* */
  1016. unsigned char :1; /* */
  1017. unsigned char :1; /* */
  1018. unsigned char :1; /* */
  1019. unsigned char CPSR:1; /* Clock prescaler reset flag */
  1020. } BIT; /* */
  1021. unsigned char BYTE; /* Byte Access */
  1022. }; /* Watchdog timer start register */
  1023. /*------------------------------------------------------
  1024. One-shot start flag //0x0382
  1025. ------------------------------------------------------*/
  1026. union st_onsf { /* union ONSF */
  1027. struct { /* Bit Access */
  1028. unsigned char TA0OS:1; /* Timer A0 one-shot start flag */
  1029. unsigned char TA1OS:1; /* Timer A1 one-shot start flag */
  1030. unsigned char TA2OS:1; /* Timer A2 one-shot start flag */
  1031. unsigned char TA3OS:1; /* Timer A3 one-shot start flag */
  1032. unsigned char TA4OS:1; /* Timer A4 one-shot start flag */
  1033. unsigned char TAZIE:1; /* Z phase input enable bit */
  1034. unsigned char TA0TGL:1; /* Timer A0 event/trigger select bit */
  1035. unsigned char TA0TGH:1; /* Timer A0 event/trigger select bit */
  1036. } BIT; /* */
  1037. unsigned char BYTE; /* Byte Access */
  1038. }; /*UART2 transmit/receive control register 1 */
  1039. /*------------------------------------------------------
  1040. Trigger select register //0x0383
  1041. ------------------------------------------------------*/
  1042. union st_trgsr { /* union TRGSR */
  1043. struct { /* Bit Access */
  1044. unsigned char TA1TGL:1; /* Timer A1 event/trigger select bit */
  1045. unsigned char TA1TGH:1; /* Timer A1 event/trigger select bit */
  1046. unsigned char TA2TGL:1; /* Timer A2 event/trigger select bit */
  1047. unsigned char TA2TGH:1; /* Timer A2 event/trigger select bit */
  1048. unsigned char TA3TGL:1; /* Timer A3 event/trigger select bit */
  1049. unsigned char TA3TGH:1; /* Timer A3 event/trigger select bit */
  1050. unsigned char TA4TGL:1; /* Timer A4 event/trigger select bit */
  1051. unsigned char TA4TGH:1; /* Timer A4 event/trigger select bit */
  1052. } BIT; /* */
  1053. unsigned char BYTE; /* Byte Access */
  1054. }; /*UART2 transmit/receive control register 1 */
  1055. /*------------------------------------------------------
  1056. Timer B2 special mode register //0x039e
  1057. ------------------------------------------------------*/
  1058. union st_tb2sc { /* union tb2sc */
  1059. struct { /* Bit Access */
  1060. unsigned char PWCON :1; /* Timer B2 reload timing switching bit */
  1061. unsigned char IVPCR1:1; /* Three phase output port NMI control bit 1 */
  1062. unsigned char :1; /* Nothing is assigned */
  1063. unsigned char :1; /* Nothing is assigned */
  1064. unsigned char :1; /* Nothing is assigned */
  1065. unsigned char :1; /* Nothing is assigned */
  1066. unsigned char :1; /* Nothing is assigned */
  1067. unsigned char :1; /* Nothing is assigned */
  1068. } BIT; /* */
  1069. unsigned char BYTE; /* Byte Access */
  1070. }; /*UART2 transmit/receive control register 1 */
  1071. /*------------------------------------------------------
  1072. UART0 transmit/receive mode register //0x03a0
  1073. ------------------------------------------------------*/
  1074. union st_u0mr { /* union U0MR */
  1075. struct { /* Bit Access */
  1076. unsigned char SMD0_U0MR :1; /* Serial I/O mode select bit */
  1077. unsigned char SMD1_U0MR :1; /* Serial I/O mode select bit */
  1078. unsigned char SMD2_U0MR :1; /* Serial I/O mode select bit */
  1079. unsigned char CKDIR_U0MR:1; /* Internal/external clock select bit */
  1080. unsigned char STPS_U0MR :1; /* Stop bit length select bit */
  1081. unsigned char PRY_U0MR :1; /* Odd/even parity select bit */
  1082. unsigned char PRYE_U0MR :1; /* Parity enable bit */
  1083. unsigned char IOPOL_U0MR :1; /* TxD,RxD I/O polarity reverse bit */
  1084. } BIT; /* */
  1085. unsigned char BYTE; /* Byte Access */
  1086. };
  1087. /*------------------------------------------------------
  1088. UART0 transmit/receive mode register //0x03a2
  1089. ------------------------------------------------------*/
  1090. union st_u0tb { /* UART0 Transmit buffer register 16 bit ; Use "MOV" instruction when writing to this register. */
  1091. struct{
  1092. unsigned char U0TBL; /* UART0 Transmit buffer register low 8 bit */
  1093. unsigned char U0TBH; /* UART0 Transmit buffer register high 8 bit */
  1094. } BYTE; /* Byte access */
  1095. unsigned short WORD; /* Word Access */
  1096. };
  1097. /*------------------------------------------------------
  1098. UARTi transmit/receive control register 0 //0x03a4
  1099. ------------------------------------------------------*/
  1100. union st_u0c0 { /* union U0C0 */
  1101. struct { /* Bit Access */
  1102. unsigned char CLK0 :1; /* BRG count source select bit */
  1103. unsigned char CLK1 :1; /* BRG count source select bit */
  1104. unsigned char CRS :1; /* CTS~/RTS~ function select bit */
  1105. unsigned char TXEPT:1; /* Transmit register empty flag */
  1106. unsigned char CRD :1; /* CTS~/RTS~ disable bit */
  1107. unsigned char NCH :1; /* Data output select bit */
  1108. unsigned char CKPOL:1; /* CLK polarity select bit */
  1109. unsigned char UFORM:1; /* Transfer format select bit */
  1110. } BIT; /* */
  1111. unsigned char BYTE; /* Byte Access */
  1112. }; /*UARTi transmit/receive control register 0 */
  1113. /*------------------------------------------------------
  1114. UART0 transmit/receive control register 1 //0x03a5
  1115. ------------------------------------------------------*/
  1116. union st_u0c1 { /* union U0C1 */
  1117. struct { /* Bit Access */
  1118. unsigned char TE :1; /* Transmit enable bit */
  1119. unsigned char TI :1; /* Transmit buffer empty flag */
  1120. unsigned char RE :1; /* Receive enable bit */
  1121. unsigned char RI :1; /* Receive complete flag */
  1122. unsigned char :1; /* Nothing Assigned */
  1123. unsigned char :1; /* Nothing Assigned */
  1124. unsigned char U0LCH :1; /* Data logic select bit */
  1125. unsigned char U0ERE :1; /* Error signal output enable bit */
  1126. } BIT; /* */
  1127. unsigned char BYTE; /* Byte Access */
  1128. }; /*UART0 transmit/receive control register 1 */
  1129. /*------------------------------------------------------
  1130. UART0 receive buffer register //0x03a6
  1131. ------------------------------------------------------*/
  1132. union st_u0rb { /* UART0 receive buffer register */
  1133. struct { /* Bit Access */
  1134. unsigned char :1; /* Receive data */
  1135. unsigned char :1; /* Receive data */
  1136. unsigned char :1; /* Receive data */
  1137. unsigned char :1; /* Receive data */
  1138. unsigned char :1; /* Receive data */
  1139. unsigned char :1; /* Receive data */
  1140. unsigned char :1; /* Receive data */
  1141. unsigned char :1; /* Receive data */
  1142. unsigned char :1; /* Receive data */
  1143. unsigned char :1; /* Nothing assigned */
  1144. unsigned char :1; /* Nothing assigned */
  1145. unsigned char ABT_U0RB:1; /* Arbitration lost detecting flag */
  1146. unsigned char OER_U0RB:1; /* Overrun error flag */
  1147. unsigned char FER_U0RB:1; /* Framing error flag */
  1148. unsigned char PER_U0RB:1; /* Parity error flag */
  1149. unsigned char SUM_U0RB:1; /* Error sum flag */
  1150. }BIT;
  1151. struct{
  1152. unsigned char U0RBL; /* Low 8 bit */
  1153. unsigned char U0RBH; /* High 8 bit */
  1154. }BYTE;
  1155. unsigned short WORD;
  1156. };
  1157. /*------------------------------------------------------
  1158. UART1 transmit/receive mode register //0x03a8
  1159. ------------------------------------------------------*/
  1160. union st_u1mr { /* union U1MR */
  1161. struct { /* Bit Access */
  1162. unsigned char SMD0_U1MR :1; /* Serial I/O mode select bit */
  1163. unsigned char SMD1_U1MR :1; /* Serial I/O mode select bit */
  1164. unsigned char SMD2_U1MR :1; /* Serial I/O mode select bit */
  1165. unsigned char CKDIR_U1MR :1; /* Internal/external clock select bit */
  1166. unsigned char STPS_U1MR :1; /* Stop bit length select bit */
  1167. unsigned char PRY_U1MR :1; /* Odd/even parity select bit */
  1168. unsigned char PRYE_U1MR :1; /* Parity enable bit */
  1169. unsigned char IOPOL_U1MR :1; /* TxD,RxD I/O polarity reverse bit */
  1170. } BIT; /* */
  1171. unsigned char BYTE; /* Byte Access */
  1172. };
  1173. /*------------------------------------------------------
  1174. UART1 transmit buffer register //0x03aa
  1175. ------------------------------------------------------*/
  1176. union st_u1tb { /* UART1 Transmit buffer register 16 bit ; Use "MOV" instruction when writing to this register. */
  1177. struct{
  1178. unsigned char U1TBL; /* UART1 Transmit buffer register low 8 bit */
  1179. unsigned char U1TBH; /* UART1 Transmit buffer register high 8 bit */
  1180. } BYTE; /* Byte access */
  1181. unsigned short WORD; /* Word Access */
  1182. };
  1183. /*------------------------------------------------------
  1184. UART1 transmit/receive control register 0 //0x03ac
  1185. ------------------------------------------------------*/
  1186. union st_u1c0 { /* union UCR */
  1187. struct { /* Bit Access */
  1188. unsigned char CLK0 :1; /* BRG count source select bit */
  1189. unsigned char CLK1 :1; /* BRG count source select bit */
  1190. unsigned char CRS :1; /* CTS~/RTS~ function select bit */
  1191. unsigned char TXEPT:1; /* Transmit register empty flag */
  1192. unsigned char CRD :1; /* CTS~/RTS~ disable bit */
  1193. unsigned char NCH :1; /* Data output select bit */
  1194. unsigned char CKPOL:1; /* CLK polarity select bit */
  1195. unsigned char UFORM:1; /* Transfer format select bit */
  1196. } BIT; /* */
  1197. unsigned char BYTE; /* Byte Access */
  1198. }; /*UARTi transmit/receive control register 0 */
  1199. /*------------------------------------------------------
  1200. UART1 transmit/receive control register 1 //0x03ad
  1201. ------------------------------------------------------*/
  1202. union st_u1c1 { /* union U1C1 */
  1203. struct { /* Bit Access */
  1204. unsigned char TE:1; /* Transmit enable bit */
  1205. unsigned char TI:1; /* Transmit buffer empty flag */
  1206. unsigned char RE:1; /* Receive enable bit */
  1207. unsigned char RI:1; /* Receive complete flag */
  1208. unsigned char :1; /* */
  1209. unsigned char :1; /* */
  1210. unsigned char :1; /* */
  1211. unsigned char :1; /* */
  1212. } BIT; /* */
  1213. unsigned char BYTE; /* Byte Access */
  1214. }; /*UART1 transmit/receive control register 1 */
  1215. /*------------------------------------------------------
  1216. UART1 receive buffer register //0x03ae
  1217. ------------------------------------------------------*/
  1218. union st_u1rb { /* UART1 receive buffer register */
  1219. struct { /* Bit Access */
  1220. unsigned char :1; /* Receive data */
  1221. unsigned char :1; /* Receive data */
  1222. unsigned char :1; /* Receive data */
  1223. unsigned char :1; /* Receive data */
  1224. unsigned char :1; /* Receive data */
  1225. unsigned char :1; /* Receive data */
  1226. unsigned char :1; /* Receive data */
  1227. unsigned char :1; /* Receive data */
  1228. unsigned char :1; /* Receive data */
  1229. unsigned char :1; /* Nothing assigned */
  1230. unsigned char :1; /* Nothing assigned */
  1231. unsigned char ABT_U1RB:1; /* Arbitration lost detecting flag */
  1232. unsigned char OER_U1RB:1; /* Overrun error flag */
  1233. unsigned char FER_U1RB:1; /* Framing error flag */
  1234. unsigned char PER_U1RB:1; /* Parity error flag */
  1235. unsigned char SUM_U1RB:1; /* Error sum flag */
  1236. }BIT;
  1237. struct{
  1238. unsigned char U1RBL; /* Low 8 bit */
  1239. unsigned char U1RBH; /* High 8 bit */
  1240. }BYTE;
  1241. unsigned short WORD;
  1242. };
  1243. /*------------------------------------------------------
  1244. UART transmit/receive control register 2 //0x03b0
  1245. ------------------------------------------------------*/
  1246. union st_ucon { /* union UCON */
  1247. struct { /* Bit Access */
  1248. unsigned char U0IRS :1; /* UART0 transmit interrupt cause select bit*/
  1249. unsigned char U1IRS :1; /* UART1 transmit interrupt cause select bit*/
  1250. unsigned char U0RRM :1; /* UART0 continuous receive mode enable bit */
  1251. unsigned char U1RRM :1; /* UART1 continuous receive mode enable bit */
  1252. unsigned char CLKMD0:1; /* CLK/CLKS select bit 0 */
  1253. unsigned char CLKMD1:1; /* CLK/CLKS select bit 1 */
  1254. unsigned char RCSP :1; /* Separate CTS~/RTS~ bit */
  1255. unsigned char :1; /* */
  1256. } BIT; /* */
  1257. unsigned char BYTE; /* Byte Access */
  1258. }; /*UART transmit/receive control register 2 */
  1259. /*------------------------------------------------------
  1260. DMA0 request cause select register //0x03b8
  1261. ------------------------------------------------------*/
  1262. union st_dm0sl { /* DMAi request cause select registers */
  1263. struct{
  1264. unsigned char DSEL0:1;/* DMA request cause select bit */
  1265. unsigned char DSEL1:1;/* DMA request cause select bit */
  1266. unsigned char DSEL2:1;/* DMA request cause select bit */
  1267. unsigned char DSEL3:1;/* DMA request cause select bit */
  1268. unsigned char :1;
  1269. unsigned char :1;
  1270. unsigned char DMS :1;/* DMA request cause expansion bit */
  1271. unsigned char DSR :1;/* Software DMA request bit */
  1272. }BIT;
  1273. unsigned char BYTE;
  1274. };
  1275. /*------------------------------------------------------
  1276. DMA1 request cause select register //0x03ba
  1277. ------------------------------------------------------*/
  1278. union st_dm1sl { /* DMAi request cause select registers */
  1279. struct{
  1280. unsigned char DSEL0:1; /* DMA request cause select bit */
  1281. unsigned char DSEL1:1; /* DMA request cause select bit */
  1282. unsigned char DSEL2:1; /* DMA request cause select bit */
  1283. unsigned char DSEL3:1; /* DMA request cause select bit */
  1284. unsigned char :1;
  1285. unsigned char :1;
  1286. unsigned char DMS :1; /* DMA request cause expansion bit */
  1287. unsigned char DSR :1; /* Software DMA request bit */
  1288. }BIT;
  1289. unsigned char BYTE;
  1290. };
  1291. /*------------------------------------------------------
  1292. CRC data register //0x03bc
  1293. ------------------------------------------------------*/
  1294. union st_crcd { /* CRC data register 16 bit */
  1295. struct{
  1296. unsigned char CRCDL; /* CRC data register low 8 bit */
  1297. unsigned char CRCDH; /* CRC data register high 8 bit */
  1298. } BYTE; /* Byte access */
  1299. unsigned short WORD; /* Word Access */
  1300. };
  1301. /*------------------------------------------------------
  1302. A/D register 0 //0x03c0
  1303. ------------------------------------------------------*/
  1304. union st_ad0 { /* A/D register 0 16 bit */
  1305. struct{
  1306. unsigned char AD0L; /* A/D register 0 low 8 bit */
  1307. unsigned char AD0H; /* A/D register 0 high 8 bit */
  1308. }BYTE; /* Byte access */
  1309. unsigned short WORD; /* Word Access */
  1310. };
  1311. /*------------------------------------------------------
  1312. A/D register 1 //0x03c2
  1313. ------------------------------------------------------*/
  1314. union st_ad1 { /* A/D register 1 16 bit */
  1315. struct{
  1316. unsigned char AD1L; /* A/D register 1 low 8 bit */
  1317. unsigned char AD1H; /* A/D register 1 high 8 bit */
  1318. } BYTE; /* Byte access */
  1319. unsigned short WORD; /* Word Access */
  1320. };
  1321. /*------------------------------------------------------
  1322. A/D register 2 //0x03c4
  1323. ------------------------------------------------------*/
  1324. union st_ad2 { /* A/D register 2 16 bit */
  1325. struct{
  1326. unsigned char AD2L; /* A/D register 2 low 8 bit */
  1327. unsigned char AD2H; /* A/D register 2 high 8 bit */
  1328. } BYTE; /* Byte access */
  1329. unsigned short WORD; /* Word Access */
  1330. };
  1331. /*------------------------------------------------------
  1332. A/D register 3 //0x03c6
  1333. ------------------------------------------------------*/
  1334. union st_ad3 { /* A/D register 3 16 bit */
  1335. struct{
  1336. unsigned char AD3L; /* A/D register 3 low 8 bit */
  1337. unsigned char AD3H; /* A/D register 3 high 8 bit */
  1338. } BYTE; /* Byte access */
  1339. unsigned short WORD; /* Word Access */
  1340. };
  1341. /*------------------------------------------------------
  1342. A/D register 4 //0x03c8
  1343. ------------------------------------------------------*/
  1344. union st_ad4 { /* A/D register 4 16 bit */
  1345. struct{
  1346. unsigned char AD4L; /* A/D register 4 low 8 bit */
  1347. unsigned char AD4H; /* A/D register 4 high 8 bit */
  1348. } BYTE; /* Byte access */
  1349. unsigned short WORD; /* Word Access */
  1350. };
  1351. /*------------------------------------------------------
  1352. A/D register 5 //0x03ca
  1353. ------------------------------------------------------*/
  1354. union st_ad5 { /* A/D register 5 16 bit */
  1355. struct{
  1356. unsigned char AD5L; /* A/D register 5 low 8 bit */
  1357. unsigned char AD5H; /* A/D register 5 high 8 bit */
  1358. } BYTE; /* Byte access */
  1359. unsigned short WORD; /* Word Access */
  1360. };
  1361. /*------------------------------------------------------
  1362. A/D register 6 //0x03cc
  1363. ------------------------------------------------------*/
  1364. union st_ad6 { /* A/D register 6 16 bit */
  1365. struct{
  1366. unsigned char AD6L; /* A/D register 6 low 8 bit */
  1367. unsigned char AD6H; /* A/D register 6 high 8 bit */
  1368. } BYTE; /* Byte access */
  1369. unsigned short WORD; /* Word Access */
  1370. };
  1371. /*------------------------------------------------------
  1372. A/D register 7 //0x03ce
  1373. ------------------------------------------------------*/
  1374. union st_ad7 { /* A/D register 7 16 bit */
  1375. struct{
  1376. unsigned char AD7L; /* A/D register 7 low 8 bit */
  1377. unsigned char AD7H; /* A/D register 7 high 8 bit */
  1378. } BYTE; /* Byte access */
  1379. unsigned short WORD; /* Word Access */
  1380. };
  1381. /*------------------------------------------------------
  1382. A/D control register 2 //0x03d4
  1383. ------------------------------------------------------*/
  1384. union st_adcon2 { /* union ADCON2 */
  1385. struct { /* Bit Access */
  1386. unsigned char SMP :1; /* A/D conversion method select bit */
  1387. unsigned char ADGSEL0 :1; /* Reserved bit (Always set to 0 ) */
  1388. unsigned char ADGSEL1 :1; /* Reserved bit (Always set to 0 ) */
  1389. unsigned char :1; /* Reserved bit (Always set to 0 ) */
  1390. unsigned char CKS2 :1; /* Nothing Assigned. */
  1391. unsigned char :1; /* Nothing Assigned. */
  1392. unsigned char :1; /* Nothing Assigned. */
  1393. unsigned char :1; /* Nothing Assigned. */
  1394. } BIT;
  1395. unsigned char BYTE; /* Byte Access */
  1396. };
  1397. /*------------------------------------------------------
  1398. A/D control register 0 //0x03d6
  1399. ------------------------------------------------------*/
  1400. union st_adcon0 { /* union ADCON0 */
  1401. struct { /* Bit Access */
  1402. unsigned char CH0 :1; /* Analog input pin select bit */
  1403. unsigned char CH1 :1; /* Analog input pin select bit */
  1404. unsigned char CH2 :1; /* Analog input pin select bit */
  1405. unsigned char MD0 :1; /* A/D operation mode select bit 0 */
  1406. unsigned char MD1 :1; /* A/D operation mode select bit 0 */
  1407. unsigned char TRG :1; /* Trigger select bit */
  1408. unsigned char ADST:1; /* A/D conversion start flag */
  1409. unsigned char CKS0:1; /* Frequency select bit 0 */
  1410. } BIT; /* */
  1411. unsigned char BYTE; /* Byte Access */
  1412. }; /*A/D control register 0 */
  1413. /*------------------------------------------------------
  1414. A/D control register 1 //0x03d7
  1415. ------------------------------------------------------*/
  1416. union st_adcon1 { /* union ADCON1 */
  1417. struct { /* Bit Access */
  1418. unsigned char SCAN0:1; /* A/D sweep pin select bit */
  1419. unsigned char SCAN1:1; /* A/D sweep pin select bit */
  1420. unsigned char MD2 :1; /* A/D operation mode select bit 1 */
  1421. unsigned char BITS :1; /* 8/10-bit mode select bit */
  1422. unsigned char CKS1 :1; /* Frequency select bit 1 */
  1423. unsigned char VCUT :1; /* Vref connect bit */
  1424. unsigned char OPA0 :1; /* External op-amp connection mode bit */
  1425. unsigned char OPA1 :1; /* External op-amp connection mode bit */
  1426. } BIT; /* */
  1427. unsigned char BYTE; /* Byte Access */
  1428. }; /*A-D control register 1 */
  1429. /*------------------------------------------------------
  1430. D/A control register //0x03dc
  1431. ------------------------------------------------------*/
  1432. union st_dacon{ /* union DACON */
  1433. struct { /* Bit Access */
  1434. unsigned char DA0E :1; /* D/A0 output enable bit */
  1435. unsigned char DA1E :1; /* D/A1 output enable bit */
  1436. unsigned char :1; /* Nothing Assigned */
  1437. unsigned char :1; /* Nothing Assigned */
  1438. unsigned char :1; /* Nothing Assigned */
  1439. unsigned char :1; /* Nothing Assigned */
  1440. unsigned char :1; /* Nothing Assigned */
  1441. unsigned char :1; /* Nothing Assigned */
  1442. } BIT; /* */
  1443. unsigned char BYTE; /* Byte Access */
  1444. }; /* D/A control register */
  1445. /*------------------------------------------------------
  1446. Port P14 control register //0x03de
  1447. ------------------------------------------------------*/
  1448. union st_pc14{ /* union pc14 */
  1449. struct { /* Bit Access */
  1450. unsigned char P140 :1; /* Port P14_0 register */
  1451. unsigned char P141 :1; /* Port P14_1 register */
  1452. unsigned char :1; /* Nothing Assigned */
  1453. unsigned char :1; /* Nothing Assigned */
  1454. unsigned char pd140:1; /* Port P14_0 direction register */
  1455. unsigned char pd141:1; /* Port P14_1 direction register */
  1456. unsigned char :1; /* Nothing Assigned */
  1457. unsigned char :1; /* Nothing Assigned */
  1458. } BIT; /* */
  1459. unsigned char BYTE; /* Byte Access */
  1460. }; /* Port P14 control register */
  1461. /*------------------------------------------------------
  1462. Pull-up control register 3 //0x03df
  1463. ------------------------------------------------------*/
  1464. union st_pur3{ /* union pur3 */
  1465. struct { /* Bit Access */
  1466. unsigned char PU30:1; /* P11_0 to P11_3 pull-up */
  1467. unsigned char PU31:1; /* P11_4 to P11_7 pull-up */
  1468. unsigned char PU32:1; /* P12_0 to P12_3 pull-up */
  1469. unsigned char PU33:1; /* P12_4 to P12_7 pull-up */
  1470. unsigned char PU34:1; /* P13_0 to P13_3 pull-up */
  1471. unsigned char PU35:1; /* P13_4 to P13_7 pull-up */
  1472. unsigned char PU36:1; /* P14_0,P14_1 pull-up */
  1473. unsigned char PU37:1; /* P11 to P14 effective bit */
  1474. } BIT; /* */
  1475. unsigned char BYTE; /* Byte Access */
  1476. }; /* Pull-up control register 3 */
  1477. /*------------------------------------------------------
  1478. Port P0 register //0x03e0
  1479. ------------------------------------------------------*/
  1480. union st_p0 { /* union P0 */
  1481. struct { /* Bit Access */
  1482. unsigned char P0_0:1; /* Port P00 register */
  1483. unsigned char P0_1:1; /* Port P01 register */
  1484. unsigned char P0_2:1; /* Port P02 register */
  1485. unsigned char P0_3:1; /* Port P03 register */
  1486. unsigned char P0_4:1; /* Port P04 register */
  1487. unsigned char P0_5:1; /* Port P05 register */
  1488. unsigned char P0_6:1; /* Port P06 register */
  1489. unsigned char P0_7:1; /* Port P07 register */
  1490. } BIT; /* */
  1491. unsigned char BYTE; /* Byte Access */
  1492. }; /* */
  1493. /*------------------------------------------------------
  1494. Port P1 register //0x03e1
  1495. ------------------------------------------------------*/
  1496. union st_p1 { /* union P1 */
  1497. struct { /* Bit Access */
  1498. unsigned char P1_0:1;/* Port P10 register */
  1499. unsigned char P1_1:1;/* Port P11 register */
  1500. unsigned char P1_2:1;/* Port P12 register */
  1501. unsigned char P1_3:1;/* Port P13 register */
  1502. unsigned char P1_4:1;/* Port P14 register */
  1503. unsigned char P1_5:1;/* Port P15 register */
  1504. unsigned char P1_6:1;/* Port P16 register */
  1505. unsigned char P1_7:1;/* Port P17 register */
  1506. } BIT; /* */
  1507. unsigned char BYTE; /* Byte Access */
  1508. }; /* */
  1509. /*------------------------------------------------------
  1510. Port P0 direction register //0x03e2
  1511. ------------------------------------------------------*/
  1512. union st_pd0 { /* union PD0 */
  1513. struct { /* Bit Access */
  1514. unsigned char PD0_0:1;/* Port P00 direction register */
  1515. unsigned char PD0_1:1;/* Port P01 direction register */
  1516. unsigned char PD0_2:1;/* Port P02 direction register */
  1517. unsigned char PD0_3:1;/* Port P03 direction register */
  1518. unsigned char PD0_4:1;/* Port P04 direction register */
  1519. unsigned char PD0_5:1;/* Port P05 direction register */
  1520. unsigned char PD0_6:1;/* Port P06 direction register */
  1521. unsigned char PD0_7:1;/* Port P07 direction register */
  1522. } BIT; /* */
  1523. unsigned char BYTE; /* Byte Access */
  1524. }; /* */
  1525. /*------------------------------------------------------
  1526. Port P1 direction register //0x03e3
  1527. ------------------------------------------------------*/
  1528. union st_pd1 { /* union PD1 */
  1529. struct { /* Bit Access */
  1530. unsigned char PD1_0:1;/* Port P10 direction register */
  1531. unsigned char PD1_1:1;/* Port P11 direction register */
  1532. unsigned char PD1_2:1;/* Port P12 direction register */
  1533. unsigned char PD1_3:1;/* Port P13 direction register */
  1534. unsigned char PD1_4:1;/* Port P14 direction register */
  1535. unsigned char PD1_5:1;/* Port P15 direction register */
  1536. unsigned char PD1_6:1;/* Port P16 direction register */
  1537. unsigned char PD1_7:1;/* Port P17 direction register */
  1538. } BIT; /* */
  1539. unsigned char BYTE; /* Byte Access */
  1540. }; /* */
  1541. /*------------------------------------------------------
  1542. Port P2 register //0x03e4
  1543. ------------------------------------------------------*/
  1544. union st_p2 { /* union P2 */
  1545. struct { /* Bit Access */
  1546. unsigned char P2_0:1;/* Port P20 register */
  1547. unsigned char P2_1:1;/* Port P21 register */
  1548. unsigned char P2_2:1;/* Port P22 register */
  1549. unsigned char P2_3:1;/* Port P23 register */
  1550. unsigned char P2_4:1;/* Port P24 register */
  1551. unsigned char P2_5:1;/* Port P25 register */
  1552. unsigned char P2_6:1;/* Port P26 register */
  1553. unsigned char P2_7:1;/* Port P27 register */
  1554. } BIT; /* */
  1555. unsigned char BYTE; /* Byte Access */
  1556. }; /* */
  1557. /*------------------------------------------------------
  1558. Port P3 register //0x03e5
  1559. ------------------------------------------------------*/
  1560. union st_p3 { /* union P3 */
  1561. struct { /* Bit Access */
  1562. unsigned char P3_0:1;/* Port P30 register */
  1563. unsigned char P3_1:1;/* Port P31 register */
  1564. unsigned char P3_2:1;/* Port P32 register */
  1565. unsigned char P3_3:1;/* Port P33 register */
  1566. unsigned char P3_4:1;/* Port P34 register */
  1567. unsigned char P3_5:1;/* Port P35 register */
  1568. unsigned char P3_6:1;/* Port P36 register */
  1569. unsigned char P3_7:1;/* Port P37 register */
  1570. } BIT; /* */
  1571. unsigned char BYTE; /* Byte Access */
  1572. }; /* */
  1573. /*------------------------------------------------------
  1574. Port P2 direction register //0x03e6
  1575. ------------------------------------------------------*/
  1576. union st_pd2 { /* union PD2 */
  1577. struct { /* Bit Access */
  1578. unsigned char PD2_0:1;/* Port P20 direction register */
  1579. unsigned char PD2_1:1;/* Port P21 direction register */
  1580. unsigned char PD2_2:1;/* Port P22 direction register */
  1581. unsigned char PD2_3:1;/* Port P23 direction register */
  1582. unsigned char PD2_4:1;/* Port P24 direction register */
  1583. unsigned char PD2_5:1;/* Port P25 direction register */
  1584. unsigned char PD2_6:1;/* Port P26 direction register */
  1585. unsigned char PD2_7:1;/* Port P27 direction register */
  1586. } BIT; /* */
  1587. unsigned char BYTE; /* Byte Access */
  1588. }; /* */
  1589. /*------------------------------------------------------
  1590. Port P3 direction register //0x03e7
  1591. ------------------------------------------------------*/
  1592. union st_pd3 { /* union PD3 */
  1593. struct { /* Bit Access */
  1594. unsigned char PD3_0:1;/* Port P30 direction register */
  1595. unsigned char PD3_1:1;/* Port P31 direction register */
  1596. unsigned char PD3_2:1;/* Port P32 direction register */
  1597. unsigned char PD3_3:1;/* Port P33 direction register */
  1598. unsigned char PD3_4:1;/* Port P34 direction register */
  1599. unsigned char PD3_5:1;/* Port P35 direction register */
  1600. unsigned char PD3_6:1;/* Port P36 direction register */
  1601. unsigned char PD3_7:1;/* Port P37 direction register */
  1602. } BIT; /* */
  1603. unsigned char BYTE; /* Byte Access */
  1604. }; /* */
  1605. /*------------------------------------------------------
  1606. Port P4 register //0x03e8
  1607. ------------------------------------------------------*/
  1608. union st_p4 { /* union P4 */
  1609. struct { /* Bit Access */
  1610. unsigned char P4_0:1;/* Port P40 register */
  1611. unsigned char P4_1:1;/* Port P41 register */
  1612. unsigned char P4_2:1;/* Port P42 register */
  1613. unsigned char P4_3:1;/* Port P43 register */
  1614. unsigned char P4_4:1;/* Port P44 register */
  1615. unsigned char P4_5:1;/* Port P45 register */
  1616. unsigned char P4_6:1;/* Port P46 register */
  1617. unsigned char P4_7:1;/* Port P47 register */
  1618. } BIT; /* */
  1619. unsigned char BYTE; /* Byte Access */
  1620. }; /* */
  1621. /*------------------------------------------------------
  1622. Port P5 register //0x03e9
  1623. ------------------------------------------------------*/
  1624. union st_p5 { /* union P5 */
  1625. struct { /* Bit Access */
  1626. unsigned char P5_0:1;/* Port P50 register */
  1627. unsigned char P5_1:1;/* Port P51 register */
  1628. unsigned char P5_2:1;/* Port P52 register */
  1629. unsigned char P5_3:1;/* Port P53 register */
  1630. unsigned char P5_4:1;/* Port P54 register */
  1631. unsigned char P5_5:1;/* Port P55 register */
  1632. unsigned char P5_6:1;/* Port P56 register */
  1633. unsigned char P5_7:1;/* Port P57 register */
  1634. } BIT; /* */
  1635. unsigned char BYTE; /* Byte Access */
  1636. }; /* */
  1637. /*------------------------------------------------------
  1638. Port P4 direction register //0x03ea
  1639. ------------------------------------------------------*/
  1640. union st_pd4 { /* union PD4 */
  1641. struct { /* Bit Access */
  1642. unsigned char PD4_0:1;/* Port P40 direction register */
  1643. unsigned char PD4_1:1;/* Port P41 direction register */
  1644. unsigned char PD4_2:1;/* Port P42 direction register */
  1645. unsigned char PD4_3:1;/* Port P43 direction register */
  1646. unsigned char PD4_4:1;/* Port P44 direction register */
  1647. unsigned char PD4_5:1;/* Port P45 direction register */
  1648. unsigned char PD4_6:1;/* Port P46 direction register */
  1649. unsigned char PD4_7:1;/* Port P47 direction register */
  1650. } BIT; /* */
  1651. unsigned char BYTE; /* Byte Access */
  1652. }; /* */
  1653. /*------------------------------------------------------
  1654. Port P5 direction register //0x03eb
  1655. ------------------------------------------------------*/
  1656. union st_pd5 { /* union PD5 */
  1657. struct { /* Bit Access */
  1658. unsigned char PD5_0:1;/* Port P50 direction register */
  1659. unsigned char PD5_1:1;/* Port P51 direction register */
  1660. unsigned char PD5_2:1;/* Port P52 direction register */
  1661. unsigned char PD5_3:1;/* Port P53 direction register */
  1662. unsigned char PD5_4:1;/* Port P54 direction register */
  1663. unsigned char PD5_5:1;/* Port P55 direction register */
  1664. unsigned char PD5_6:1;/* Port P56 direction register */
  1665. unsigned char PD5_7:1;/* Port P57 direction register */
  1666. } BIT; /* */
  1667. unsigned char BYTE; /* Byte Access */
  1668. }; /* */
  1669. /*------------------------------------------------------
  1670. Port P6 register //0x03ec
  1671. ------------------------------------------------------*/
  1672. union st_p6 { /* union P6 */
  1673. struct { /* Bit Access */
  1674. unsigned char P6_0:1;/* Port P60 register */
  1675. unsigned char P6_1:1;/* Port P61 register */
  1676. unsigned char P6_2:1;/* Port P62 register */
  1677. unsigned char P6_3:1;/* Port P63 register */
  1678. unsigned char P6_4:1;/* Port P64 register */
  1679. unsigned char P6_5:1;/* Port P65 register */
  1680. unsigned char P6_6:1;/* Port P66 register */
  1681. unsigned char P6_7:1;/* Port P67 register */
  1682. } BIT; /* */
  1683. unsigned char BYTE; /* Byte Access */
  1684. }; /* */
  1685. /*------------------------------------------------------
  1686. Port P7 register //0x03ed
  1687. ------------------------------------------------------*/
  1688. union st_p7 { /* union P7 */
  1689. struct { /* Bit Access */
  1690. unsigned char P7_0:1;/* Port P70 register */
  1691. unsigned char P7_1:1;/* Port P71 register */
  1692. unsigned char P7_2:1;/* Port P72 register */
  1693. unsigned char P7_3:1;/* Port P73 register */
  1694. unsigned char P7_4:1;/* Port P74 register */
  1695. unsigned char P7_5:1;/* Port P75 register */
  1696. unsigned char P7_6:1;/* Port P76 register */
  1697. unsigned char P7_7:1;/* Port P77 register */
  1698. } BIT; /* */
  1699. unsigned char BYTE; /* Byte Access */
  1700. }; /* */
  1701. /*------------------------------------------------------
  1702. Port P6 direction register //0x03ee
  1703. ------------------------------------------------------*/
  1704. union st_pd6 { /* union PD6 */
  1705. struct { /* Bit Access */
  1706. unsigned char PD6_0:1;/* Port P60 direction register */
  1707. unsigned char PD6_1:1;/* Port P61 direction register */
  1708. unsigned char PD6_2:1;/* Port P62 direction register */
  1709. unsigned char PD6_3:1;/* Port P63 direction register */
  1710. unsigned char PD6_4:1;/* Port P64 direction register */
  1711. unsigned char PD6_5:1;/* Port P65 direction register */
  1712. unsigned char PD6_6:1;/* Port P66 direction register */
  1713. unsigned char PD6_7:1;/* Port P67 direction register */
  1714. } BIT; /* */
  1715. unsigned char BYTE; /* Byte Access */
  1716. }; /* */
  1717. /*------------------------------------------------------
  1718. Port P7 direction register //0x03ef
  1719. ------------------------------------------------------*/
  1720. union st_pd7 { /* union PD7 */
  1721. struct { /* Bit Access */
  1722. unsigned char PD7_0:1;/* Port P70 direction register */
  1723. unsigned char PD7_1:1;/* Port P71 direction register */
  1724. unsigned char PD7_2:1;/* Port P72 direction register */
  1725. unsigned char PD7_3:1;/* Port P73 direction register */
  1726. unsigned char PD7_4:1;/* Port P74 direction register */
  1727. unsigned char PD7_5:1;/* Port P75 direction register */
  1728. unsigned char PD7_6:1;/* Port P76 direction register */
  1729. unsigned char PD7_7:1;/* Port P77 direction register */
  1730. } BIT; /* */
  1731. unsigned char BYTE; /* Byte Access */
  1732. }; /* */
  1733. /*------------------------------------------------------
  1734. Port P8 register //0x03f0
  1735. ------------------------------------------------------*/
  1736. union st_p8 { /* union P8 */
  1737. struct { /* Bit Access */
  1738. unsigned char P8_0:1;/* Port P80 register */
  1739. unsigned char P8_1:1;/* Port P81 register */
  1740. unsigned char P8_2:1;/* Port P82 register */
  1741. unsigned char P8_3:1;/* Port P83 register */
  1742. unsigned char P8_4:1;/* Port P84 register */
  1743. unsigned char P8_5:1;/* Port P85 register */
  1744. unsigned char P8_6:1;/* Port P86 register */
  1745. unsigned char P8_7:1;/* Port P87 register */
  1746. } BIT; /* */
  1747. unsigned char BYTE; /* Byte Access */
  1748. }; /* */
  1749. /*------------------------------------------------------
  1750. Port P9 register //0x03f1
  1751. ------------------------------------------------------*/
  1752. union st_p9 { /* union P9 */
  1753. struct { /* Bit Access */
  1754. unsigned char P9_0:1;/* Port P90 register */
  1755. unsigned char P9_1:1;/* Port P91 register */
  1756. unsigned char P9_2:1;/* Port P92 register */
  1757. unsigned char P9_3:1;/* Port P93 register */
  1758. unsigned char P9_4:1;/* Port P94 register */
  1759. unsigned char P9_5:1;/* Port P95 register */
  1760. unsigned char P9_6:1;/* Port P96 register */
  1761. unsigned char P9_7:1;/* Port P97 register */
  1762. } BIT; /* */
  1763. unsigned char BYTE; /* Byte Access */
  1764. }; /* */
  1765. /*------------------------------------------------------
  1766. Port P8 direction register //0x03f2
  1767. ------------------------------------------------------*/
  1768. union st_pd8 { /* union PD8 */
  1769. struct { /* Bit Access */
  1770. unsigned char PD8_0:1;/* Port P80 direction register */
  1771. unsigned char PD8_1:1;/* Port P81 direction register */
  1772. unsigned char PD8_2:1;/* Port P82 direction register */
  1773. unsigned char PD8_3:1;/* Port P83 direction register */
  1774. unsigned char PD8_4:1;/* Port P84 direction register */
  1775. unsigned char :1;/* Nothing assigned */
  1776. unsigned char PD8_6:1;/* Port P86 direction register */
  1777. unsigned char PD8_7:1;/* Port P87 direction register */
  1778. } BIT; /* */
  1779. unsigned char BYTE; /* Byte Access */
  1780. }; /* */
  1781. /*------------------------------------------------------
  1782. Port P9 direction register //0x03f3
  1783. ------------------------------------------------------*/
  1784. union st_pd9 { /* union PD9 */
  1785. struct { /* Bit Access */
  1786. unsigned char PD9_0:1;/* Port P90 direction register */
  1787. unsigned char PD9_1:1;/* Port P91 direction register */
  1788. unsigned char PD9_2:1;/* Port P92 direction register */
  1789. unsigned char PD9_3:1;/* Port P93 direction register */
  1790. unsigned char PD9_4:1;/* Port P94 direction register */
  1791. unsigned char PD9_5:1;/* Port P95 direction register */
  1792. unsigned char PD9_6:1;/* Port P96 direction register */
  1793. unsigned char PD9_7:1;/* Port P97 direction register */
  1794. } BIT; /* */
  1795. unsigned char BYTE; /* Byte Access */
  1796. }; /* */
  1797. /*------------------------------------------------------
  1798. Port P10 register //0x03f4
  1799. ------------------------------------------------------*/
  1800. union st_p10 { /* union P10 */
  1801. struct { /* Bit Access */
  1802. unsigned char P10_0:1;/* Port P100 register */
  1803. unsigned char P10_1:1;/* Port P101 register */
  1804. unsigned char P10_2:1;/* Port P102 register */
  1805. unsigned char P10_3:1;/* Port P103 register */
  1806. unsigned char P10_4:1;/* Port P104 register */
  1807. unsigned char P10_5:1;/* Port P105 register */
  1808. unsigned char P10_6:1;/* Port P106 register */
  1809. unsigned char P10_7:1;/* Port P107 register */
  1810. } BIT; /* */
  1811. unsigned char BYTE; /* Byte Access */
  1812. }; /* */
  1813. /*------------------------------------------------------
  1814. Port P11 register //0x03f5
  1815. ------------------------------------------------------*/
  1816. union st_p11 { /* union P11 */
  1817. struct { /* Bit Access */
  1818. unsigned char P11_0:1;/* Port P110 register */
  1819. unsigned char P11_1:1;/* Port P111 register */
  1820. unsigned char P11_2:1;/* Port P112 register */
  1821. unsigned char P11_3:1;/* Port P113 register */
  1822. unsigned char P11_4:1;/* Port P114 register */
  1823. unsigned char P11_5:1;/* Port P115 register */
  1824. unsigned char P11_6:1;/* Port P116 register */
  1825. unsigned char P11_7:1;/* Port P117 register */
  1826. } BIT; /* */
  1827. unsigned char BYTE; /* Byte Access */
  1828. }; /* */
  1829. /*------------------------------------------------------
  1830. Port P10 direction register //0x03f6
  1831. ------------------------------------------------------*/
  1832. union st_pd10 { /* union PD10 */
  1833. struct { /* Bit Access */
  1834. unsigned char PD10_0:1;/* Port P100 direction register */
  1835. unsigned char PD10_1:1;/* Port P101 direction register */
  1836. unsigned char PD10_2:1;/* Port P102 direction register */
  1837. unsigned char PD10_3:1;/* Port P103 direction register */
  1838. unsigned char PD10_4:1;/* Port P104 direction register */
  1839. unsigned char PD10_5:1;/* Port P105 direction register */
  1840. unsigned char PD10_6:1;/* Port P106 direction register */
  1841. unsigned char PD10_7:1;/* Port P107 direction register */
  1842. } BIT; /* */
  1843. char BYTE; /* Byte Access */
  1844. }; /* */
  1845. /*------------------------------------------------------
  1846. Port P11 direction register //0x03f7
  1847. ------------------------------------------------------*/
  1848. union st_pd11 { /* union PD11 */
  1849. struct { /* Bit Access */
  1850. unsigned char PD11_0:1;/* Port P110 direction register */
  1851. unsigned char PD11_1:1;/* Port P111 direction register */
  1852. unsigned char PD11_2:1;/* Port P112 direction register */
  1853. unsigned char PD11_3:1;/* Port P113 direction register */
  1854. unsigned char PD11_4:1;/* Port P114 direction register */
  1855. unsigned char PD11_5:1;/* Port P115 direction register */
  1856. unsigned char PD11_6:1;/* Port P116 direction register */
  1857. unsigned char PD11_7:1;/* Port P117 direction register */
  1858. } BIT; /* */
  1859. char BYTE; /* Byte Access */
  1860. }; /* */
  1861. /*------------------------------------------------------
  1862. Port P12 register //0x03f8
  1863. ------------------------------------------------------*/
  1864. union st_p12 { /* union P12 */
  1865. struct { /* Bit Access */
  1866. unsigned char P12_0:1;/* Port P120 register */
  1867. unsigned char P12_1:1;/* Port P121 register */
  1868. unsigned char P12_2:1;/* Port P122 register */
  1869. unsigned char P12_3:1;/* Port P123 register */
  1870. unsigned char P12_4:1;/* Port P124 register */
  1871. unsigned char P12_5:1;/* Port P125 register */
  1872. unsigned char P12_6:1;/* Port P126 register */
  1873. unsigned char P12_7:1;/* Port P127 register */
  1874. } BIT; /* */
  1875. unsigned char BYTE; /* Byte Access */
  1876. }; /* */
  1877. /*------------------------------------------------------
  1878. Port P13 register //0x03f9
  1879. ------------------------------------------------------*/
  1880. union st_p13 { /* union P13 */
  1881. struct { /* Bit Access */
  1882. unsigned char P13_0:1;/* Port P130 register */
  1883. unsigned char P13_1:1;/* Port P131 register */
  1884. unsigned char P13_2:1;/* Port P132 register */
  1885. unsigned char P13_3:1;/* Port P133 register */
  1886. unsigned char P13_4:1;/* Port P134 register */
  1887. unsigned char P13_5:1;/* Port P135 register */
  1888. unsigned char P13_6:1;/* Port P136 register */
  1889. unsigned char P13_7:1;/* Port P137 register */
  1890. } BIT; /* */
  1891. unsigned char BYTE; /* Byte Access */
  1892. }; /* */
  1893. /*------------------------------------------------------
  1894. Port P12 direction register //0x03fa
  1895. ------------------------------------------------------*/
  1896. union st_pd12 { /* union PD12 */
  1897. struct { /* Bit Access */
  1898. unsigned char PD12_0:1;/* Port P120 direction register */
  1899. unsigned char PD12_1:1;/* Port P121 direction register */
  1900. unsigned char PD12_2:1;/* Port P122 direction register */
  1901. unsigned char PD12_3:1;/* Port P123 direction register */
  1902. unsigned char PD12_4:1;/* Port P124 direction register */
  1903. unsigned char PD12_5:1;/* Port P125 direction register */
  1904. unsigned char PD12_6:1;/* Port P126 direction register */
  1905. unsigned char PD12_7:1;/* Port P127 direction register */
  1906. } BIT; /* */
  1907. char BYTE; /* Byte Access */
  1908. }; /* */
  1909. /*------------------------------------------------------
  1910. Port P13 direction register //0x03fb
  1911. ------------------------------------------------------*/
  1912. union st_pd13 { /* union PD13 */
  1913. struct { /* Bit Access */
  1914. unsigned char PD13_0:1;/* Port P130 direction register */
  1915. unsigned char PD13_1:1;/* Port P131 direction register */
  1916. unsigned char PD13_2:1;/* Port P132 direction register */
  1917. unsigned char PD13_3:1;/* Port P133 direction register */
  1918. unsigned char PD13_4:1;/* Port P134 direction register */
  1919. unsigned char PD13_5:1;/* Port P135 direction register */
  1920. unsigned char PD13_6:1;/* Port P136 direction register */
  1921. unsigned char PD13_7:1;/* Port P137 direction register */
  1922. } BIT; /* */
  1923. char BYTE; /* Byte Access */
  1924. }; /* */
  1925. /*------------------------------------------------------
  1926. Pull-up control register 0 //0x03fc
  1927. ------------------------------------------------------*/
  1928. union st_pur0 { /* union PUR0 */
  1929. struct { /* Bit Access */
  1930. unsigned char PU00:1;/* P00 to P03 pull-up */
  1931. unsigned char PU01:1;/* P04 to P07 pull-up */
  1932. unsigned char PU02:1;/* P10 to P13 pull-up */
  1933. unsigned char PU03:1;/* P14 to P17 pull-up */
  1934. unsigned char PU04:1;/* P20 to P23 pull-up */
  1935. unsigned char PU05:1;/* P24 to P27 pull-up */
  1936. unsigned char PU06:1;/* P30 to P33 pull-up */
  1937. unsigned char PU07:1;/* P34 to P37 pull-up */
  1938. } BIT; /* */
  1939. unsigned char BYTE; /* Byte Access */
  1940. }; /* */
  1941. /*------------------------------------------------------
  1942. Pull-up control register 1 //0x03fd
  1943. ------------------------------------------------------*/
  1944. union st_pur1 { /* union PUR1 */
  1945. struct { /* Bit Access */
  1946. unsigned char PU10:1;/* P40 to P43 pull-up */
  1947. unsigned char PU11:1;/* P44 to P47 pull-up */
  1948. unsigned char PU12:1;/* P50 to P53 pull-up */
  1949. unsigned char PU13:1;/* P54 to P57 pull-up */
  1950. unsigned char PU14:1;/* P60 to P63 pull-up */
  1951. unsigned char PU15:1;/* P64 to P67 pull-up */
  1952. unsigned char PU16:1;/* P70 to P73 pull-up (Except P70,P71 ; P70,P71 -> N-channel open drain ports)*/
  1953. unsigned char PU17:1;/* P74 to P77 pull-up */
  1954. } BIT; /* */
  1955. unsigned char BYTE; /* Byte Access */
  1956. }; /* */
  1957. /*------------------------------------------------------
  1958. Pull-up control register 2 //0x03fe
  1959. ------------------------------------------------------*/
  1960. union st_pur2 { /* union PUR2 */
  1961. struct { /* Bit Access */
  1962. unsigned char PU20:1;/* P80 to P83 pull-up */
  1963. unsigned char PU21:1;/* P84 to P87 pull-up (Except P85) */
  1964. unsigned char PU22:1;/* P90 to P93 pull-up */
  1965. unsigned char PU23:1;/* P94 to P97 pull-up */
  1966. unsigned char PU24:1;/* P100 to P103 pull-up */
  1967. unsigned char PU25:1;/* P104 to P107 pull-up */
  1968. unsigned char :1;/* Nothing assigned */
  1969. unsigned char :1;/* Nothing assigned */
  1970. } BIT; /* */
  1971. unsigned char BYTE; /* Byte Access */
  1972. }; /* */
  1973. /*------------------------------------------------------
  1974. Port control register //0x03ff
  1975. ------------------------------------------------------*/
  1976. union st_pcr { /* union PCR2 */
  1977. struct { /* Bit Access */
  1978. unsigned char PCR0:1;/* Port P1 control register */
  1979. unsigned char :1;/* Nothing assigned */
  1980. unsigned char :1;/* Nothing assigned */
  1981. unsigned char :1;/* Nothing assigned */
  1982. unsigned char :1;/* Nothing assigned */
  1983. unsigned char :1;/* Nothing assigned */
  1984. unsigned char :1;/* Nothing assigned */
  1985. unsigned char :1;/* Nothing assigned */
  1986. } BIT; /* */
  1987. unsigned char BYTE; /* Byte Access */
  1988. }; /* */
  1989. /* Processor mode register 0 */
  1990. #define PM0 (*(volatile union st_pm0 *)(0x0004))
  1991. /* Processor mode register 1 */
  1992. #define PM1 (*(volatile union st_pm1 *)(0x0005))
  1993. /* System clock control register 0 */
  1994. #define CM0 (*(volatile union st_cm0 *)(0x0006))
  1995. /* System clock control register 1 */
  1996. #define CM1 (*(volatile union st_cm1 *)(0x0007))
  1997. /* Chip select control register */
  1998. #define CSR (*(volatile union st_csr *)(0x0008))
  1999. /* Address match interrupt enable register */
  2000. #define AIER (*(volatile union st_aier *)(0x0009))
  2001. /* Protect register */
  2002. #define PRCR (*(volatile union st_prcr *)(0x000A))
  2003. /* Data bank register */
  2004. #define DBR (*(volatile union st_dbr *)(0x000B))
  2005. /* Oscillation stop detection register */
  2006. #define CM2 (*(volatile union st_cm2 *)(0x000C))
  2007. /* Watchdog timer start register */
  2008. #define WDTS (*(volatile char *)(0x000E))
  2009. /* Watchdog timer control register */
  2010. #define WDC (*(volatile union st_wdc *)(0x000F))
  2011. /* Address match interrupt register 0 */
  2012. #define RMAD0 (*(volatile union st_rmad0 *)(0x0010))
  2013. /* Address match interrupt register 1 */
  2014. #define RMAD1 (*(volatile union st_rmad1 *)(0x0014))
  2015. /* Voltage detection register 1 */
  2016. #define VCR1 (*(volatile union st_vcr1 *)(0x0019))
  2017. /* Voltage detection register 2 */
  2018. #define VCR2 (*(volatile union st_vcr2 *)(0x001A))
  2019. /* Chip select expansion control register */
  2020. #define CSE (*(volatile union st_cse *)(0x001B))
  2021. /* PLC control register 0 */
  2022. #define PLC0 (*(volatile union st_plc0 *)(0x001C))
  2023. /* Processor mode register 2 */
  2024. #define PM2 (*(volatile union st_pm2 *)(0x001E))
  2025. /* Power supply down detection register */
  2026. #define D4INT (*(volatile union st_d4int *)(0x001F))
  2027. /* DMA0 source pointer */
  2028. #define SAR0 (*(volatile union st_sar0 *)(0x0020))
  2029. /* DMA0 destination pointer */
  2030. #define DAR0 (*(volatile union st_dar0 *)(0x0024))
  2031. /* DMA0 transfer counter */
  2032. #define TCR0 (*(volatile union st_tcr0 *)(0x0028))
  2033. /* DMA0 control register */
  2034. #define DM0CON (*(volatile union st_dm0con *)(0x002C))
  2035. /* DMA1 source pointer */
  2036. #define SAR1 (*(volatile union st_sar1 *)(0x0030))
  2037. /* DMA1 destination pointer */
  2038. #define DAR1 (*(volatile union st_dar1 *)(0x0034))
  2039. /* DMA1 transfer counter */
  2040. #define TCR1 (*(volatile union st_tcr1 *)(0x0038))
  2041. /* DMA1 control register */
  2042. #define DM1CON (*(volatile union st_dm1con *)(0x003c))
  2043. /* INT3~ interrupt control register */
  2044. #define INT3IC (*(volatile union st_icr *)(0x0044))
  2045. /* Timer B5 interrupt control register */
  2046. #define TB5IC (*(volatile union st_icr1 *)(0x0045))
  2047. /* Timer B4 interrupt control register */
  2048. #define TB4IC (*(volatile union st_icr1 *)(0x0046))
  2049. /* Timer B3 interrupt control register */
  2050. #define TB3IC (*(volatile union st_icr1 *)(0x0047))
  2051. /* UART1 BUS collision detection interrupt control register */
  2052. #define U1BCNIC (*(volatile union st_icr1 *)(0x0046))
  2053. /* UART0 BUS collision detection interrupt control register */
  2054. #define U0BCNIC (*(volatile union st_icr1 *)(0x0047))
  2055. /* SI/O4 interrupt control register */
  2056. #define S4IC (*(volatile union st_icr *)(0x0048))
  2057. /* SI/O3 interrupt control register */
  2058. #define S3IC (*(volatile union st_icr *)(0x0049))
  2059. /* INT5~ interrupt control register */
  2060. #define INT5IC (*(volatile union st_icr *)(0x0048))
  2061. /* INT4~ interrupt control register */
  2062. #define INT4IC (*(volatile union st_icr *)(0x0049))
  2063. /* Bus collision detection interrupt control register */
  2064. #define BCNIC (*(volatile union st_bcnic *)(0x004a))
  2065. /* DMA0 interrupt control register */
  2066. #define DM0IC (*(volatile union st_dm0ic *)(0x004b))
  2067. /* DMA1 interrupt control register */
  2068. #define DM1IC (*(volatile union st_icr1 *)(0x004c))
  2069. /* Key input interrupt control register */
  2070. #define KUPIC (*(volatile union st_icr1 *)(0x004D))
  2071. /* A/D conversion interrupt control register */
  2072. #define ADIC (*(volatile union st_icr1 *)(0x004E))
  2073. /* UART2 transmit interrupt control register */
  2074. #define S2TIC (*(volatile union st_icr1 *)(0x004F))
  2075. /* UART2 receive interrupt control register */
  2076. #define S2RIC (*(volatile union st_icr1 *)(0x0050))
  2077. /* UART0 transmit interrupt control register */
  2078. #define S0TIC (*(volatile union st_icr1 *)(0x0051))
  2079. /* UART0 receive interrupt control register */
  2080. #define S0RIC (*(volatile union st_icr1 *)(0x0052))
  2081. /* UART1 transmit interrupt control register */
  2082. #define S1TIC (*(volatile union st_icr1 *)(0x0053))
  2083. /* UART1 receive interrupt control register */
  2084. #define S1RIC (*(volatile union st_icr1 *)(0x0054))
  2085. /* Timer A0 interrupt control register */
  2086. #define TA0IC (*(volatile union st_icr1 *)(0x0055))
  2087. /* Timer A1 interrupt control register */
  2088. #define TA1IC (*(volatile union st_icr1 *)(0x0056))
  2089. /* Timer A2 interrupt control register */
  2090. #define TA2IC (*(volatile union st_icr1 *)(0x0057))
  2091. /* Timer A3 interrupt control register */
  2092. #define TA3IC (*(volatile union st_icr1 *)(0x0058))
  2093. /* Timer A4 interrupt control register */
  2094. #define TA4IC (*(volatile union st_icr1 *)(0x0059))
  2095. /* Timer B0 interrupt control register */
  2096. #define TB0IC (*(volatile union st_icr1 *)(0x005A))
  2097. /* Timer B1 interrupt control register */
  2098. #define TB1IC (*(volatile union st_icr1 *)(0x005B))
  2099. /* Timer B2 interrupt control register */
  2100. #define TB2IC (*(volatile union st_icr1 *)(0x005C))
  2101. /* INT0~ interrupt control register */
  2102. #define INT0IC (*(volatile union st_icr *)(0x005D))
  2103. /* INT1~ interrupt control register */
  2104. #define INT1IC (*(volatile union st_icr *)(0x005E))
  2105. /* INT2~ interrupt control register */
  2106. #define INT2IC (*(volatile union st_icr *)(0x005F))
  2107. /* Flash identification register */
  2108. #define FIDR (*(volatile union st_fidr *)(0x01b4))
  2109. /* Flash memory control register 1 */
  2110. #define FMR1 (*(volatile union st_fmr1 *)(0x01b5))
  2111. /* Flash memory control register 0 */
  2112. #define FMR0 (*(volatile union st_fmr0 *)(0x01b7))
  2113. /* Address match interrupt register 2 */
  2114. #define RMAD2 (*(volatile union st_rmad2 *)(0x01b8))
  2115. /* Address match interrupt enable register 2 */
  2116. #define AIER2 (*(volatile union st_aier2 *)(0x01bb))
  2117. /* Address match interrupt register 3 */
  2118. #define RMAD3 (*(volatile union st_rmad3 *)(0x01bc))
  2119. /* Peripheral clock select register */
  2120. #define PCLKR (*(volatile union st_pclkr *)(0x025e))
  2121. /* Timer B3,4,5 count start flag */
  2122. #define TBSR (*(volatile union st_tbsr *)(0x0340))
  2123. /********************************************************
  2124. * declare SFR short *
  2125. ********************************************************/
  2126. /*--------------------------------------------------------
  2127. Timer registers : Read and write data in 16-bit units.
  2128. --------------------------------------------------------*/
  2129. /* Timer A1-1 register */
  2130. #define TA1_1 (*(volatile unsigned short *)(0x0342))
  2131. /* Timer A2-1 register */
  2132. #define TA2_1 (*(volatile unsigned short *)(0x0344))
  2133. /* Timer A4-1 register */
  2134. #define TA4_1 (*(volatile unsigned short *)(0x0346))
  2135. /* Three-phase PWM control regester 0 */
  2136. #define INVC0 (*(volatile union st_invc0 *)(0x0348))
  2137. /* Three-phase PWM control register 1 */
  2138. #define INVC1 (*(volatile union st_invc1 *)(0x0349))
  2139. /* Three-phase output buffer register 0 */
  2140. #define IDB0 (*(volatile union st_idb0 *)(0x034a))
  2141. /* Three-phase output buffer register 1 */
  2142. #define IDB1 (*(volatile union st_idb1 *)(0x034b))
  2143. /*------------------------------------------------------
  2144. Dead time timer ; Use "MOV" instruction when writing to this register.
  2145. ------------------------------------------------------*/
  2146. /* Dead time timer */
  2147. #define DTT (*(volatile unsigned char *)(0x034c))
  2148. /*------------------------------------------------------------------
  2149. Timer B2 interrupt occurrences frequency set counter
  2150. ; Use "MOV" instruction when writing to this register.
  2151. -------------------------------------------------------------------*/
  2152. /* Timer B2 interrupt occurrences frequency set counter */
  2153. #define ICTB2 (*(volatile unsigned char *)(0x034d))
  2154. /* Timer B3 register */
  2155. #define TB3 (*(volatile unsigned short *)(0x0350))
  2156. /* Timer B4 register */
  2157. #define TB4 (*(volatile unsigned short *)(0x0352))
  2158. /* Timer B5 register */
  2159. #define TB5 (*(volatile unsigned short *)(0x0354))
  2160. /* Timer B3 mode register */
  2161. #define TB3MR (*(volatile union st_tmr *)(0x035b))
  2162. /* Timer B4 mode register */
  2163. #define TB4MR (*(volatile union st_tmr *)(0x035c))
  2164. /* Timer B5 mode register */
  2165. #define TB5MR (*(volatile union st_tmr *)(0x035d))
  2166. /* Interrupt request cause select register 2 */
  2167. #define IFSR2A (*(volatile union st_ifsr2a *)(0x035e))
  2168. /* Interrupt cause select register */
  2169. #define IFSR (*(volatile union st_ifsr *)(0x035f))
  2170. /* SI/O3i transmit/receive register (i=3,4)*/
  2171. #define S3TRR (*(volatile unsigned char *)(0x0360))
  2172. /* SI/O3 control register */
  2173. #define S3C (*(volatile union st_s3c *)(0x0362))
  2174. /* SI/O3 bit rate generator (Use "MOV" instruction when writing to these registers)*/
  2175. #define S3BRG (*(volatile unsigned char *)(0x0363))
  2176. /* SI/O4 transmit/receive register */
  2177. #define S4TRR (*(volatile unsigned char *)(0x0364))
  2178. /* SI/O4 control register */
  2179. #define S4C (*(volatile union st_s4c *)(0x0366))
  2180. /* SI/O4 bit rate generator */
  2181. #define S4BRG (*(volatile unsigned char *)(0x0367))
  2182. /* UART0 special mode register 4 */
  2183. #define U0SMR4 (*(volatile union st_u0smr4 *)(0x036c))
  2184. /* UART0 special mode register 3 */
  2185. #define U0SMR3 (*(volatile union st_u0smr3 *)(0x036d))
  2186. /* UART0 special mode register 2 */
  2187. #define U0SMR2 (*(volatile union st_u0smr2 *)(0x036e))
  2188. /* UART0 special mode register */
  2189. #define U0SMR (*(volatile union st_u0smr *)(0x036f))
  2190. /* UART1 special mode register 4 */
  2191. #define U1SMR4 (*(volatile union st_u1smr4 *)(0x0370))
  2192. /* UART1 special mode register 3 */
  2193. #define U1SMR3 (*(volatile union st_u1smr3 *)(0x0371))
  2194. /* UART1 special mode register 2 */
  2195. #define U1SMR2 (*(volatile union st_u1smr2 *)(0x0372))
  2196. /* UART1 special mode register */
  2197. #define U1SMR (*(volatile union st_u1smr *)(0x0373))
  2198. /* UART2 special mode register 4 */
  2199. #define U2SMR4 (*(volatile union st_u2smr4 *)(0x0374))
  2200. /* UART2 special mode register 3 */
  2201. #define U2SMR3 (*(volatile union st_u2smr3 *)(0x0375))
  2202. /* UART2 special mode register 2 */
  2203. #define U2SMR2 (*(volatile union st_u2smr2 *)(0x0376))
  2204. /* UART2 special mode register */
  2205. #define U2SMR (*(volatile union st_u2smr *)(0x0377))
  2206. /* UART2 transmit/receive mode register */
  2207. #define U2MR (*(volatile union st_u2mr *)(0x0378))
  2208. /* UART2 bit rate generator */
  2209. #define U2BRG (*(volatile unsigned char *)(0x0379))
  2210. /* UART2 transmit buffer register */
  2211. #define U2TB (*(volatile union st_u2tb *)(0x037a))
  2212. /* UART2 transmit/receive control register 0 */
  2213. //#pragma ADDRESS u2c0_addr 037cH
  2214. #define U2C0 (*(volatile union st_u2c0 *)(0x037c))
  2215. /* UART2 transmit/receive control register 1 */
  2216. #define U2C1 (*(volatile union st_u2c1 *)(0x037d))
  2217. /* UART2 receive buffer register */
  2218. #define U2RB (*(volatile union st_u2rb *)(0x037e))
  2219. /* Count start flag */
  2220. #define TABSR (*(volatile union st_tabsr *)(0x0380))
  2221. /* Clock prescaler reset flag */
  2222. #define CPSRF (*(volatile union st_cpsrf *)(0x0381))
  2223. /* One-shot start flag */
  2224. #define ONSF (*(volatile union st_onsf *)(0x0382))
  2225. /* Trigger select register */
  2226. #define TRGSR (*(volatile union st_trgsr *)(0x0383))
  2227. /* Up/down flag (Use "MOV" instruction when writing to this register.)*/
  2228. #define UDF (*(volatile unsigned char *)(0x0384))
  2229. /* Timer A0 register */
  2230. #define TA0 (*(volatile unsigned short *)(0x0386))
  2231. /* Timer A1 register */
  2232. #define TA1 (*(volatile unsigned short *)(0x0388))
  2233. /* Timer A2 register */
  2234. #define TA2 (*(volatile unsigned short *)(0x038a))
  2235. /* Timer A3 register */
  2236. #define TA3 (*(volatile unsigned short *)(0x038c))
  2237. /* Timer A4 register */
  2238. #define TA4 (*(volatile unsigned short *)(0x038e))
  2239. /* Timer B0 register */
  2240. #define TB0 (*(volatile unsigned short *)(0x0390))
  2241. /* Timer B1 register */
  2242. #define TB1 (*(volatile unsigned short *)(0x0392))
  2243. /* Timer B2 register */
  2244. #define TB2 (*(volatile unsigned short *)(0x0394))
  2245. /* Timer A0 mode register */
  2246. #define TA0MR (*(volatile union st_tmr *)(0x0396))
  2247. /* Timer A1 mode register */
  2248. #define TA1MR (*(volatile union st_tmr *)(0x0397))
  2249. /* Timer A2 mode register */
  2250. #define TA2MR (*(volatile union st_tmr *)(0x0398))
  2251. /* Timer A3 mode register */
  2252. #define TA3MR (*(volatile union st_tmr *)(0x0399))
  2253. /* Timer A4 mode register */
  2254. #define TA4MR (*(volatile union st_tmr *)(0x039A))
  2255. /* Timer B0 mode register */
  2256. #define TB0MR (*(volatile union st_tmr *)(0x039b))
  2257. /* Timer B1 mode register */
  2258. #define TB1MR (*(volatile union st_tmr *)(0x039c))
  2259. /* Timer B2 mode register */
  2260. #define TB2MR (*(volatile union st_tmr *)(0x039d))
  2261. /* Timer B2 special mode register */
  2262. #define TB2SC (*(volatile union st_tb2sc *)(0x039e))
  2263. /* UART0 transmit/receive mode register */
  2264. #define U0MR (*(volatile union st_u0mr *)(0x03a0))
  2265. /* UART0 bit rate generator (Use "MOV" instruction when writing to these registers.)*/
  2266. #define U0BRG (*(volatile unsigned char *)(0x03a1))
  2267. /* UART0 transmit buffer register */
  2268. #define U0TB (*(volatile union st_u0tb *)(0x03a2))
  2269. /* UART0 transmit/receive control register 0 */
  2270. #define U0C0 (*(volatile union st_u0c0 *)(0x03a4))
  2271. /* UART0 transmit/receive control register 1 */
  2272. #define U0C1 (*(volatile union st_u0c1 *)(0x03a5))
  2273. /* UART0 receive buffer register */
  2274. #define U0RB (*(volatile union st_u0rb *)(0x03a6))
  2275. /* UART1 transmit/receive mode register */
  2276. #define U1MR (*(volatile union st_u1mr *)(0x03a8))
  2277. /* UART1 bit rate generator */
  2278. #define U1BRG (*(volatile unsigned char *)(0x03a9))
  2279. /* UART1 transmit buffer register */
  2280. #define U1TB (*(volatile union st_u1tb *)(0x03aa))
  2281. /* UART1 transmit/receive control register 0 */
  2282. #define U1C0 (*(volatile union st_u1c0 *)(0x03ac))
  2283. /* UART1 transmit/receive control register 1 */
  2284. #define U1C1 (*(volatile union st_u1c1 *)(0x03ad))
  2285. /* UART1 receive buffer register */
  2286. #define U1RB (*(volatile union st_u1rb *)(0x03ae))
  2287. /* UART transmit/receive control register 2 */
  2288. #define UCON (*(volatile union st_ucon *)(0x03b0))
  2289. /* DMA0 cause select register */
  2290. #define DM0SL (*(volatile union st_dm0sl *)(0x03b8))
  2291. /* DMA1 cause select register */
  2292. #define DM1SL (*(volatile union st_dm1sl *)(0x03ba))
  2293. /* CRC data register */
  2294. #define CRCD (*(volatile union st_crcd *)(0x03bc))
  2295. /* CRC input register */
  2296. #define CRCIN (*(volatile unsigned char *)(0x03be))
  2297. /* A/D register 0 */
  2298. #define AD0 (*(volatile union st_ad0 *)(0x03c0))
  2299. /* A/D register 1 */
  2300. #define AD1 (*(volatile union st_ad1 *)(0x03c2))
  2301. /* A/D register 2 */
  2302. #define AD2 (*(volatile union st_ad2 *)(0x03c4))
  2303. /* A/D register 3 */
  2304. #define AD3 (*(volatile union st_ad3 *)(0x03c6))
  2305. /* A/D register 4 */
  2306. #define AD4 (*(volatile union st_ad4 *)(0x03c8))
  2307. /* A/D register 5 */
  2308. #define AD5 (*(volatile union st_ad5 *)(0x03ca))
  2309. /* A/D register 6 */
  2310. #define AD6 (*(volatile union st_ad6 *)(0x03cc))
  2311. /* A/D register 7 */
  2312. #define AD7 (*(volatile union st_ad7 *)(0x03ce))
  2313. /* A/D control register 2 */
  2314. #define ADCON2 (*(volatile union st_adcon2 *)(0x03d4))
  2315. /* A/D control register 0 */
  2316. #define ADCON0 (*(volatile union st_adcon0 *)(0x03d6))
  2317. /* A/D control register 1 */
  2318. #define ADCON1 (*(volatile union st_adcon1 *)(0x03d7))
  2319. /* D/A register 0 */
  2320. #define DA0 (*(volatile unsigned char *)(0x03d8))
  2321. /* D/A register 1 */
  2322. #define DA1 (*(volatile unsigned char *)(0x03da))
  2323. /* D/A control register */
  2324. #define DACON (*(volatile union st_dacon *)(0x03dc))
  2325. /* Port P14 control register */
  2326. #define PC14 (*(volatile union st_pc14 *)(0x03de))
  2327. /* Pull-up control register 3 */
  2328. #define PUR3 (*(volatile union st_pur3 *)(0x03df))
  2329. /* Port P0 register */
  2330. #define P0 (*(volatile union st_p0 *)(0x03e0))
  2331. /* Port P1 register */
  2332. #define P1 (*(volatile union st_p1 *)(0x03e1))
  2333. /* Port P0 direction register */
  2334. #define PD0 (*(volatile union st_pd0 *)(0x03e2))
  2335. /* Port P1 direction register */
  2336. #define PD1 (*(volatile union st_pd1 *)(0x03e3))
  2337. /* Port P2 register */
  2338. #define P2 (*(volatile union st_p2 *)(0x03e4))
  2339. /* Port P3 register */
  2340. #define P3 (*(volatile union st_p3 *)(0x03e5))
  2341. /* Port P2 direction register */
  2342. #define PD2 (*(volatile union st_pd2 *)(0x03e6))
  2343. /* Port P3 direction register */
  2344. #define PD3 (*(volatile union st_pd3 *)(0x03e7))
  2345. /* Port P4 register */
  2346. #define P4 (*(volatile union st_p4 *)(0x03e8))
  2347. /* Port P5 register */
  2348. #define P5 (*(volatile union st_p5 *)(0x03e9))
  2349. /* Port P4 direction register */
  2350. #define PD4 (*(volatile union st_pd4 *)(0x03ea))
  2351. /* Port P5 direction register */
  2352. #define PD5 (*(volatile union st_pd5 *)(0x03eb))
  2353. /* Port P6 register */
  2354. #define P6 (*(volatile union st_p6 *)(0x03ec))
  2355. /* Port P7 register */
  2356. #define P7 (*(volatile union st_p7 *)(0x03ed))
  2357. /* Port P6 direction register */
  2358. #define PD6 (*(volatile union st_pd6 *)(0x03ee))
  2359. /* Port P7 direction register */
  2360. #define PD7 (*(volatile union st_pd7 *)(0x03ef))
  2361. /* Port P8 register */
  2362. #define P8 (*(volatile union st_p8 *)(0x03f0))
  2363. /* Port P9 register */
  2364. #define P9 (*(volatile union st_p9 *)(0x03f1))
  2365. /* Port P8 direction register */
  2366. #define PD8 (*(volatile union st_pd8 *)(0x03f2))
  2367. /* Port P9 direction register */
  2368. #define PD9 (*(volatile union st_pd9 *)(0x03f3))
  2369. /* Port P10 register */
  2370. #define P10 (*(volatile union st_p10 *)(0x03f4))
  2371. /* Port P11 register */
  2372. #define P11 (*(volatile union st_p11 *)(0x03f5))
  2373. /* Port P10 direction register */
  2374. #define PD10 (*(volatile union st_pd10 *)(0x03f6))
  2375. /* Port P11 direction register */
  2376. #define PD11 (*(volatile union st_pd11 *)(0x03f7))
  2377. /* Port P12 register */
  2378. #define P12 (*(volatile union st_p12 *)(0x03f8))
  2379. /* Port P13 register */
  2380. #define P13 (*(volatile union st_p13 *)(0x03f9))
  2381. /* Port P12 direction register */
  2382. #define PD12 (*(volatile union st_pd12 *)(0x03fa))
  2383. /* Port P13 direction register */
  2384. #define PD13 (*(volatile union st_pd13 *)(0x03f7))
  2385. /* Pull-up control register 0 */
  2386. #define PUR0 (*(volatile union st_pur0 *)(0x03fc))
  2387. /* Pull-up control register 1 */
  2388. #define PUR1 (*(volatile union st_pur1 *)(0x03fd))
  2389. /* Pull-up control register 2 */
  2390. #define PUR2 (*(volatile union st_pur2 *)(0x03fe))
  2391. /* Port control register */
  2392. #define PCR (*(volatile union st_pcr *)(0x03ff))