N76E003_iar.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. /*--------------------------------------------------------------------------
  2. N76E003.H
  3. Header file for Nuvoton N76E003 in IAR
  4. --------------------------------------------------------------------------*/
  5. __sfr __no_init volatile union
  6. {
  7. unsigned char P0; /* Port 0 */
  8. struct /* Port 0 */
  9. {
  10. #if 0
  11. unsigned char P00 : 1;
  12. unsigned char P01 : 1;
  13. unsigned char P02 : 1;
  14. unsigned char P03 : 1;
  15. unsigned char P04 : 1;
  16. unsigned char P05 : 1;
  17. unsigned char P06 : 1;
  18. unsigned char P07 : 1;
  19. #endif
  20. unsigned char BIT0 : 1;
  21. unsigned char BIT1 : 1;
  22. unsigned char BIT2 : 1;
  23. unsigned char BIT3 : 1;
  24. unsigned char BIT4 : 1;
  25. unsigned char BIT5 : 1;
  26. unsigned char BIT6 : 1;
  27. unsigned char BIT7 : 1;
  28. } P0_bit;
  29. } @ 0x80;
  30. __sfr __no_init volatile unsigned char SP @ 0x81; /* Stack Pointer */
  31. __sfr __no_init volatile unsigned char DPL @ 0x82; /* Data Pointer Low byte, LSB of DPTR */
  32. __sfr __no_init volatile unsigned char DPH @ 0x83; /* Data Pointer High byte, MSB of DPTR */
  33. __sfr __no_init volatile unsigned char RCTRIM0 @ 0x84;
  34. __sfr __no_init volatile unsigned char RCTRIM1 @ 0x85;
  35. __sfr __no_init volatile unsigned char RWK @ 0x86;
  36. __sfr __no_init volatile unsigned char PCON @ 0x87;
  37. __sfr __no_init volatile union
  38. {
  39. unsigned char TCON; /* Timer Control */
  40. struct /* Timer Control */
  41. {
  42. #if 0
  43. unsigned char IT0 : 1;
  44. unsigned char IE0 : 1;
  45. unsigned char IT1 : 1;
  46. unsigned char IE1 : 1;
  47. unsigned char TR0 : 1;
  48. unsigned char TF0 : 1;
  49. unsigned char TR1 : 1;
  50. unsigned char TF1 : 1;
  51. #endif
  52. unsigned char BIT0 : 1;
  53. unsigned char BIT1 : 1;
  54. unsigned char BIT2 : 1;
  55. unsigned char BIT3 : 1;
  56. unsigned char BIT4 : 1;
  57. unsigned char BIT5 : 1;
  58. unsigned char BIT6 : 1;
  59. unsigned char BIT7 : 1;
  60. } TCON_bit;
  61. } @ 0x88;
  62. __sfr __no_init volatile unsigned char TMOD @ 0x89;
  63. __sfr __no_init volatile unsigned char TL0 @ 0x8A; /* Timer0 Low */
  64. __sfr __no_init volatile unsigned char TL1 @ 0x8B; /* Timer1 Low*/
  65. __sfr __no_init volatile unsigned char TH0 @ 0x8C; /* Timer0 High*/
  66. __sfr __no_init volatile unsigned char TH1 @ 0x8D; /* Timer1 High*/
  67. __sfr __no_init volatile unsigned char CKCON @ 0x8E;
  68. __sfr __no_init volatile unsigned char WKCON @ 0x8F;
  69. __sfr __no_init volatile union
  70. {
  71. unsigned char P1; /* Port 1 */
  72. struct /* Port 1 */
  73. {
  74. #if 0
  75. unsigned char P10 : 1;
  76. unsigned char P11 : 1;
  77. unsigned char P12 : 1;
  78. unsigned char P13 : 1;
  79. unsigned char P14 : 1;
  80. unsigned char P15 : 1;
  81. unsigned char P16 : 1;
  82. unsigned char P17 : 1;
  83. #endif
  84. unsigned char BIT0 : 1;
  85. unsigned char BIT1 : 1;
  86. unsigned char BIT2 : 1;
  87. unsigned char BIT3 : 1;
  88. unsigned char BIT4 : 1;
  89. unsigned char BIT5 : 1;
  90. unsigned char BIT6 : 1;
  91. unsigned char BIT7 : 1;
  92. } P1_bit;
  93. } @ 0x90;
  94. __sfr __no_init volatile unsigned char SFRS @ 0x91; //TA Protection
  95. __sfr __no_init volatile unsigned char CAPCON0 @ 0x92;
  96. __sfr __no_init volatile unsigned char CAPCON1 @ 0x93;
  97. __sfr __no_init volatile unsigned char CAPCON2 @ 0x94;
  98. __sfr __no_init volatile unsigned char CKDIV @ 0x95;
  99. __sfr __no_init volatile unsigned char CKSWT @ 0x96; //TA Protection
  100. __sfr __no_init volatile unsigned char CKEN @ 0x97; //TA Protection
  101. __sfr __no_init volatile union
  102. {
  103. unsigned char SCON; /* Serial Control */
  104. struct /* Serial Control */
  105. {
  106. #if 0
  107. unsigned char RI : 1;
  108. unsigned char TI : 1;
  109. unsigned char RB8 : 1;
  110. unsigned char TB8 : 1;
  111. unsigned char REN : 1;
  112. unsigned char SM2 : 1;
  113. unsigned char SM1 : 1;
  114. unsigned char SM0 : 1;
  115. #endif
  116. unsigned char BIT0 : 1;
  117. unsigned char BIT1 : 1;
  118. unsigned char BIT2 : 1;
  119. unsigned char BIT3 : 1;
  120. unsigned char BIT4 : 1;
  121. unsigned char BIT5 : 1;
  122. unsigned char BIT6 : 1;
  123. unsigned char BIT7 : 1;
  124. } SCON_bit;
  125. } @ 0x98;
  126. __sfr __no_init volatile unsigned char SBUF @ 0x99; /* Serial Data Buffer */
  127. __sfr __no_init volatile unsigned char SBUF_1 @ 0x9A; /* Serial 1 Data Buffer */
  128. __sfr __no_init volatile unsigned char EIE @ 0x9B;
  129. __sfr __no_init volatile unsigned char EIE1 @ 0x9C;
  130. __sfr __no_init volatile unsigned char CHPCON @ 0x9F; //TA Protection
  131. __sfr __no_init volatile union
  132. {
  133. unsigned char P2; /* Port 2 */
  134. struct /* Port 2 */
  135. {
  136. #if 0
  137. unsigned char P20 : 1;
  138. unsigned char P21 : 1;
  139. unsigned char P22 : 1;
  140. unsigned char P23 : 1;
  141. unsigned char P24 : 1;
  142. unsigned char P25 : 1;
  143. unsigned char P26 : 1;
  144. unsigned char P27 : 1;
  145. #endif
  146. unsigned char BIT0 : 1;
  147. unsigned char BIT1 : 1;
  148. unsigned char BIT2 : 1;
  149. unsigned char BIT3 : 1;
  150. unsigned char BIT4 : 1;
  151. unsigned char BIT5 : 1;
  152. unsigned char BIT6 : 1;
  153. unsigned char BIT7 : 1;
  154. } P2_bit;
  155. } @ 0xA0;
  156. __sfr __no_init volatile unsigned char AUXR1 @ 0xA2;
  157. __sfr __no_init volatile unsigned char BODCON0 @ 0xA3; //TA Protection
  158. __sfr __no_init volatile unsigned char IAPTRG @ 0xA4; //TA Protection
  159. __sfr __no_init volatile unsigned char IAPUEN @ 0xA5; //TA Protection
  160. __sfr __no_init volatile unsigned char IAPAL @ 0xA6;
  161. __sfr __no_init volatile unsigned char IAPAH @ 0xA7;
  162. //__sfr __no_init volatile unsigned char IE @ 0xA8;
  163. __sfr __no_init volatile union
  164. {
  165. unsigned char IE; /* Interrupt Enable */
  166. struct /* Interrupt Enable */
  167. {
  168. #if 0
  169. unsigned char EX0 : 1;
  170. unsigned char ET0 : 1;
  171. unsigned char EX1 : 1;
  172. unsigned char ET1 : 1;
  173. unsigned char ES : 1;
  174. unsigned char EBOD : 1;
  175. unsigned char EADC : 1;
  176. unsigned char EA : 1;
  177. #endif
  178. unsigned char BIT0 : 1;
  179. unsigned char BIT1 : 1;
  180. unsigned char BIT2 : 1;
  181. unsigned char BIT3 : 1;
  182. unsigned char BIT4 : 1;
  183. unsigned char BIT5 : 1;
  184. unsigned char BIT6 : 1;
  185. unsigned char BIT7 : 1;
  186. } IE_bit;
  187. } @ 0xA8;
  188. __sfr __no_init volatile unsigned char SADDR @ 0xA9;
  189. __sfr __no_init volatile unsigned char WDCON @ 0xAA; //TA Protection
  190. __sfr __no_init volatile unsigned char BODCON1 @ 0xAB; //TA Protection
  191. __sfr __no_init volatile unsigned char P3M1 @ 0xAC;
  192. __sfr __no_init volatile unsigned char P3S @ 0xAC; //Page1
  193. __sfr __no_init volatile unsigned char P3M2 @ 0xAD;
  194. __sfr __no_init volatile unsigned char P3SR @ 0xAD; //Page1
  195. __sfr __no_init volatile unsigned char IAPFD @ 0xAE;
  196. __sfr __no_init volatile unsigned char IAPCN @ 0xAF;
  197. //__sfr __no_init volatile unsigned char P3 @ 0xB0;
  198. __sfr __no_init volatile union
  199. {
  200. unsigned char P3; /* Port 3 */
  201. struct /* Port 3 */
  202. {
  203. #if 0
  204. unsigned char P30 : 1;
  205. unsigned char P31 : 1;
  206. unsigned char P32 : 1;
  207. unsigned char P33 : 1;
  208. unsigned char P34 : 1;
  209. unsigned char P35 : 1;
  210. unsigned char P36 : 1;
  211. unsigned char P37 : 1;
  212. #endif
  213. unsigned char BIT0 : 1;
  214. unsigned char BIT1 : 1;
  215. unsigned char BIT2 : 1;
  216. unsigned char BIT3 : 1;
  217. unsigned char BIT4 : 1;
  218. unsigned char BIT5 : 1;
  219. unsigned char BIT6 : 1;
  220. unsigned char BIT7 : 1;
  221. } P3_bit;
  222. } @ 0xB0;
  223. __sfr __no_init volatile unsigned char P0M1 @ 0xB1;
  224. __sfr __no_init volatile unsigned char P0S @ 0xB1; //Page1
  225. __sfr __no_init volatile unsigned char P0M2 @ 0xB2;
  226. __sfr __no_init volatile unsigned char P0SR @ 0xB2; //Page1
  227. __sfr __no_init volatile unsigned char P1M1 @ 0xB3;
  228. __sfr __no_init volatile unsigned char P1S @ 0xB3; //Page1
  229. __sfr __no_init volatile unsigned char P1M2 @ 0xB4;
  230. __sfr __no_init volatile unsigned char P1SR @ 0xB4; //Page1
  231. __sfr __no_init volatile unsigned char P2S @ 0xB5;
  232. __sfr __no_init volatile unsigned char IPH @ 0xB7;
  233. __sfr __no_init volatile unsigned char PWMINTC @ 0xB7; //Page1
  234. //__sfr __no_init volatile unsigned char IP @ 0xB8;
  235. __sfr __no_init volatile union
  236. {
  237. unsigned char IP; /* IP */
  238. struct /* IP */
  239. {
  240. #if 0
  241. unsigned char PX0 : 1;
  242. unsigned char PT0 : 1;
  243. unsigned char PX1 : 1;
  244. unsigned char PT1 : 1;
  245. unsigned char PS : 1;
  246. unsigned char PBOD : 1;
  247. unsigned char PADC : 1;
  248. unsigned char : 1;
  249. #endif
  250. unsigned char BIT0 : 1;
  251. unsigned char BIT1 : 1;
  252. unsigned char BIT2 : 1;
  253. unsigned char BIT3 : 1;
  254. unsigned char BIT4 : 1;
  255. unsigned char BIT5 : 1;
  256. unsigned char BIT6 : 1;
  257. unsigned char BIT7 : 1;
  258. } IP_bit;
  259. } @ 0xB8;
  260. __sfr __no_init volatile unsigned char SADEN @ 0xB9;
  261. __sfr __no_init volatile unsigned char SADEN_1 @ 0xBA;
  262. __sfr __no_init volatile unsigned char SADDR_1 @ 0xBB;
  263. __sfr __no_init volatile unsigned char I2DAT @ 0xBC;
  264. __sfr __no_init volatile unsigned char I2STAT @ 0xBD;
  265. __sfr __no_init volatile unsigned char I2CLK @ 0xBE;
  266. __sfr __no_init volatile unsigned char I2TOC @ 0xBF;
  267. //__sfr __no_init volatile unsigned I2CON @ 0xC0;
  268. __sfr __no_init volatile union
  269. {
  270. unsigned char I2CON; /* I2CON */
  271. struct /* I2CON */
  272. {
  273. #if 0
  274. unsigned char I2CPX : 1;
  275. unsigned char : 1;
  276. unsigned char AA : 1;
  277. unsigned char SI : 1;
  278. unsigned char STO : 1;
  279. unsigned char STA : 1;
  280. unsigned char I2CEN : 1;
  281. unsigned char : 1;
  282. #endif
  283. unsigned char BIT0 : 1;
  284. unsigned char BIT1 : 1;
  285. unsigned char BIT2 : 1;
  286. unsigned char BIT3 : 1;
  287. unsigned char BIT4 : 1;
  288. unsigned char BIT5 : 1;
  289. unsigned char BIT6 : 1;
  290. unsigned char BIT7 : 1;
  291. } I2CON_bit;
  292. } @ 0xC0;
  293. __sfr __no_init volatile unsigned char I2ADDR @ 0xC1;
  294. __sfr __no_init volatile unsigned char ADCRL @ 0xC2;
  295. __sfr __no_init volatile unsigned char ADCRH @ 0xC3;
  296. __sfr __no_init volatile unsigned char T3CON @ 0xC4;
  297. __sfr __no_init volatile unsigned char PWM4H @ 0xC4; //Page1
  298. __sfr __no_init volatile unsigned char RL3 @ 0xC5;
  299. __sfr __no_init volatile unsigned char PWM5H @ 0xC5; //Page1
  300. __sfr __no_init volatile unsigned char RH3 @ 0xC6;
  301. __sfr __no_init volatile unsigned char PIOCON1 @ 0xC6; //Page1
  302. __sfr __no_init volatile unsigned char TA @ 0xC7;
  303. __sfr __no_init volatile union
  304. {
  305. unsigned char T2CON; /* Timer 2 Control */
  306. struct /* Timer 2 Control */
  307. {
  308. #if 0
  309. unsigned char CM_RL2 : 1;
  310. unsigned char : 1;
  311. unsigned char TR2: 1;
  312. unsigned char : 1;
  313. unsigned char : 1;
  314. unsigned char : 1;
  315. unsigned char : 1;
  316. unsigned char TF2: 1;
  317. #endif
  318. unsigned char BIT0 : 1;
  319. unsigned char BIT1 : 1;
  320. unsigned char BIT2 : 1;
  321. unsigned char BIT3 : 1;
  322. unsigned char BIT4 : 1;
  323. unsigned char BIT5 : 1;
  324. unsigned char BIT6 : 1;
  325. unsigned char BIT7 : 1;
  326. } T2CON_bit;
  327. } @ 0xC8;
  328. __sfr __no_init volatile unsigned char T2MOD @ 0xC9;
  329. __sfr __no_init volatile unsigned char RCMP2L @ 0xCA;
  330. __sfr __no_init volatile unsigned char RCMP2H @ 0xCB;
  331. __sfr __no_init volatile unsigned char TL2 @ 0xCC; /* Timer2 Low */
  332. __sfr __no_init volatile unsigned char PWM4L @ 0xCC; //Page1
  333. __sfr __no_init volatile unsigned char TH2 @ 0xCD;
  334. __sfr __no_init volatile unsigned char PWM5L @ 0xCD; //Page1
  335. __sfr __no_init volatile unsigned char ADCMPL @ 0xCE;
  336. __sfr __no_init volatile unsigned char ADCMPH @ 0xCF;
  337. __sfr __no_init volatile union
  338. {
  339. unsigned char PSW; /* Program Status Word */
  340. struct /* Program Status Word */
  341. {
  342. #if 0
  343. unsigned char P : 1;
  344. unsigned char F1 : 1;
  345. unsigned char OV : 1;
  346. unsigned char RS0 : 1;
  347. unsigned char RS1 : 1;
  348. unsigned char F0 : 1;
  349. unsigned char AC : 1;
  350. unsigned char CY : 1;
  351. #endif
  352. unsigned char BIT0 : 1;
  353. unsigned char BIT1 : 1;
  354. unsigned char BIT2 : 1;
  355. unsigned char BIT3 : 1;
  356. unsigned char BIT4 : 1;
  357. unsigned char BIT5 : 1;
  358. unsigned char BIT6 : 1;
  359. unsigned char BIT7 : 1;
  360. } PSW_bit;
  361. } @ 0xD0;
  362. __sfr __no_init volatile unsigned char PWMPH @ 0xD1;
  363. __sfr __no_init volatile unsigned char PWM0H @ 0xD2;
  364. __sfr __no_init volatile unsigned char PWM1H @ 0xD3;
  365. __sfr __no_init volatile unsigned char PWM2H @ 0xD4;
  366. __sfr __no_init volatile unsigned char PWM3H @ 0xD5;
  367. __sfr __no_init volatile unsigned char PNP @ 0xD6;
  368. __sfr __no_init volatile unsigned char FBD @ 0xD7;
  369. //__sfr __no_init volatile unsigned char PWMCON0 @ 0xD8;
  370. __sfr __no_init volatile union
  371. {
  372. unsigned char PWMCON0; /* PWMCON0 */
  373. struct /* PWMCON0 */
  374. {
  375. #if 0
  376. unsigned char : 1;
  377. unsigned char : 1;
  378. unsigned char : 1;
  379. unsigned char : 1;
  380. unsigned char CLRPWM : 1;
  381. unsigned char PWMF : 1;
  382. unsigned char LOAD : 1;
  383. unsigned char PWMRUN : 1;
  384. #endif
  385. unsigned char BIT0 : 1;
  386. unsigned char BIT1 : 1;
  387. unsigned char BIT2 : 1;
  388. unsigned char BIT3 : 1;
  389. unsigned char BIT4 : 1;
  390. unsigned char BIT5 : 1;
  391. unsigned char BIT6 : 1;
  392. unsigned char BIT7 : 1;
  393. } PWMCON0_bit;
  394. } @ 0xD8;
  395. __sfr __no_init volatile unsigned char PWMPL @ 0xD9;
  396. __sfr __no_init volatile unsigned char PWM0L @ 0xDA;
  397. __sfr __no_init volatile unsigned char PWM1L @ 0xDB;
  398. __sfr __no_init volatile unsigned char PWM2L @ 0xDC;
  399. __sfr __no_init volatile unsigned char PWM3L @ 0xDD;
  400. __sfr __no_init volatile unsigned char PIOCON0 @ 0xDE;
  401. __sfr __no_init volatile unsigned char PWMCON1 @ 0xDF;
  402. __sfr __no_init volatile union
  403. {
  404. unsigned char ACC; /* Accumulator */
  405. struct /* Accumulator */
  406. {
  407. #if 0
  408. unsigned char ACC0 : 1;
  409. unsigned char ACC1 : 1;
  410. unsigned char ACC2 : 1;
  411. unsigned char ACC3 : 1;
  412. unsigned char ACC4 : 1;
  413. unsigned char ACC5 : 1;
  414. unsigned char ACC6 : 1;
  415. unsigned char ACC7 : 1;
  416. #endif
  417. unsigned char BIT0 : 1;
  418. unsigned char BIT1 : 1;
  419. unsigned char BIT2 : 1;
  420. unsigned char BIT3 : 1;
  421. unsigned char BIT4 : 1;
  422. unsigned char BIT5 : 1;
  423. unsigned char BIT6 : 1;
  424. unsigned char BIT7 : 1;
  425. } ACC_bit;
  426. } @ 0xE0;
  427. __sfr __no_init volatile unsigned char ADCCON1 @ 0xE1;
  428. __sfr __no_init volatile unsigned char ADCCON2 @ 0xE2;
  429. __sfr __no_init volatile unsigned char ADCDLY @ 0xE3;
  430. __sfr __no_init volatile unsigned char C0L @ 0xE4;
  431. __sfr __no_init volatile unsigned char C0H @ 0xE5;
  432. __sfr __no_init volatile unsigned char C1L @ 0xE6;
  433. __sfr __no_init volatile unsigned char C1H @ 0xE7;
  434. //__sfr __no_init volatile unsigned char ADCCON0 @ 0xE8;
  435. __sfr __no_init volatile union
  436. {
  437. unsigned char ADCCON0; /* ADCCON0 */
  438. struct /* ADCCON0 */
  439. {
  440. #if 0
  441. unsigned char ADCHS0 : 1;
  442. unsigned char ADCHS1 : 1;
  443. unsigned char ADCHS2 : 1;
  444. unsigned char ADCHS3 : 1;
  445. unsigned char ETGSEL0 : 1;
  446. unsigned char ETGSEL1 : 1;
  447. unsigned char ADCS : 1;
  448. unsigned char ADCF : 1;
  449. #endif
  450. unsigned char BIT0 : 1;
  451. unsigned char BIT1 : 1;
  452. unsigned char BIT2 : 1;
  453. unsigned char BIT3 : 1;
  454. unsigned char BIT4 : 1;
  455. unsigned char BIT5 : 1;
  456. unsigned char BIT6 : 1;
  457. unsigned char BIT7 : 1;
  458. } ADCCON0_bit;
  459. } @ 0xE8;
  460. __sfr __no_init volatile unsigned char PICON @ 0xE9;
  461. __sfr __no_init volatile unsigned char PINEN @ 0xEA;
  462. __sfr __no_init volatile unsigned char PIPEN @ 0xEB;
  463. __sfr __no_init volatile unsigned char PIF @ 0xEC;
  464. __sfr __no_init volatile unsigned char C2L @ 0xED;
  465. __sfr __no_init volatile unsigned char C2H @ 0xEE;
  466. __sfr __no_init volatile unsigned char EIP @ 0xEF;
  467. __sfr __no_init volatile union
  468. {
  469. unsigned char B; /* B Register */
  470. struct /* B Register */
  471. {
  472. #if 0
  473. unsigned char B0 : 1;
  474. unsigned char B1 : 1;
  475. unsigned char B2 : 1;
  476. unsigned char B3 : 1;
  477. unsigned char B4 : 1;
  478. unsigned char B5 : 1;
  479. unsigned char B6 : 1;
  480. unsigned char B7 : 1;
  481. #endif
  482. unsigned char BIT0 : 1;
  483. unsigned char BIT1 : 1;
  484. unsigned char BIT2 : 1;
  485. unsigned char BIT3 : 1;
  486. unsigned char BIT4 : 1;
  487. unsigned char BIT5 : 1;
  488. unsigned char BIT6 : 1;
  489. unsigned char BIT7 : 1;
  490. } B_bit;
  491. } @ 0xF0;
  492. __sfr __no_init volatile unsigned char CAPCON3 @ 0xF1;
  493. __sfr __no_init volatile unsigned char CAPCON4 @ 0xF2;
  494. __sfr __no_init volatile unsigned char SPCR @ 0xF3;
  495. __sfr __no_init volatile unsigned char SPCR2 @ 0xF3; //Page1
  496. __sfr __no_init volatile unsigned char SPSR @ 0xF4;
  497. __sfr __no_init volatile unsigned char SPDR @ 0xF5;
  498. __sfr __no_init volatile unsigned char AINDIDS @ 0xF6;
  499. __sfr __no_init volatile unsigned char EIPH @ 0xF7;
  500. //__sfr __no_init volatile unsigned char SCON_1 @ 0xF8;
  501. __sfr __no_init volatile union
  502. {
  503. unsigned char SCON_1 ; /* SCON_1 Register */
  504. struct /* SCON_1 Register */
  505. {
  506. #if 0
  507. unsigned char RI_1 : 1;
  508. unsigned char TI_1 : 1;
  509. unsigned char RB8_1 : 1;
  510. unsigned char TB8_1 : 1;
  511. unsigned char REN_1 : 1;
  512. unsigned char SM2_1 : 1;
  513. unsigned char SM1_1 : 1;
  514. unsigned char FE_1 : 1;
  515. #endif
  516. unsigned char BIT0 : 1;
  517. unsigned char BIT1 : 1;
  518. unsigned char BIT2 : 1;
  519. unsigned char BIT3 : 1;
  520. unsigned char BIT4 : 1;
  521. unsigned char BIT5 : 1;
  522. unsigned char BIT6 : 1;
  523. unsigned char BIT7 : 1;
  524. } SCON_1_bit;
  525. } @ 0xF8;
  526. __sfr __no_init volatile unsigned char PDTEN @ 0xF9; //TA Protection
  527. __sfr __no_init volatile unsigned char PDTCNT @ 0xFA; //TA Protection
  528. __sfr __no_init volatile unsigned char PMEN @ 0xFB;
  529. __sfr __no_init volatile unsigned char PMD @ 0xFC;
  530. __sfr __no_init volatile unsigned char EIP1 @ 0xFE;
  531. __sfr __no_init volatile unsigned char EIPH1 @ 0xFF;
  532. /* BIT Registers */
  533. /* SCON_1 */
  534. #define SM0_1 SCON_1_bit.BIT7
  535. #define FE_1 SCON_1_bit.BIT7
  536. #define SM1_1 SCON_1_bit.BIT6
  537. #define SM2_1 SCON_1_bit.BIT5
  538. #define REN_1 SCON_1_bit.BIT4
  539. #define TB8_1 SCON_1_bit.BIT3
  540. #define RB8_1 SCON_1_bit.BIT2
  541. #define TI_1 SCON_1_bit.BIT1
  542. #define RI_1 SCON_1_bit.BIT0
  543. /* ADCCON0 */
  544. #define ADCF ADCCON0_bit.BIT7
  545. #define ADCS ADCCON0_bit.BIT6
  546. #define ETGSEL1 ADCCON0_bit.BIT5
  547. #define ETGSEL0 ADCCON0_bit.BIT4
  548. #define ADCHS3 ADCCON0_bit.BIT3
  549. #define ADCHS2 ADCCON0_bit.BIT2
  550. #define ADCHS1 ADCCON0_bit.BIT1
  551. #define ADCHS0 ADCCON0_bit.BIT0
  552. /* PWMCON0 */
  553. #define PWMRUN PWMCON0_bit.BIT7
  554. #define LOAD PWMCON0_bit.BIT6
  555. #define PWMF PWMCON0_bit.BIT5
  556. #define CLRPWM PWMCON0_bit.BIT4
  557. /* T2CON */
  558. #define TF2 T2CON_bit.BIT7
  559. #define TR2 T2CON_bit.BIT2
  560. #define CM_RL2 T2CON_bit.BIT0
  561. /* I2CON */
  562. #define I2CEN I2CON_bit.BIT6
  563. #define STA I2CON_bit.BIT5
  564. #define STO I2CON_bit.BIT4
  565. #define SI I2CON_bit.BIT3
  566. #define AA I2CON_bit.BIT2
  567. #define I2CPX I2CON_bit.BIT0
  568. /* IP */
  569. #define PADC IP_bit.BIT6
  570. #define PBOD IP_bit.BIT5
  571. #define PS IP_bit.BIT4
  572. #define PT1 IP_bit.BIT3
  573. #define PX1 IP_bit.BIT2
  574. #define PT0 IP_bit.BIT1
  575. #define PX0 IP_bit.BIT0
  576. /* P3 */
  577. #define P30 P3_bit.BIT0
  578. /* IE */
  579. #define EA IE_bit.BIT7
  580. #define EADC IE_bit.BIT6
  581. #define EBOD IE_bit.BIT5
  582. #define ES IE_bit.BIT4
  583. #define ET1 IE_bit.BIT3
  584. #define EX1 IE_bit.BIT2
  585. #define ET0 IE_bit.BIT1
  586. #define EX0 IE_bit.BIT0
  587. /* P2 */
  588. #define P20 P2_bit.BIT0
  589. /* SCON */
  590. #define SM0 SCON_bit.BIT7
  591. #define FE SCON_bit.BIT7
  592. #define SM1 SCON_bit.BIT6
  593. #define SM2 SCON_bit.BIT5
  594. #define REN SCON_bit.BIT4
  595. #define TB8 SCON_bit.BIT3
  596. #define RB8 SCON_bit.BIT2
  597. #define TI SCON_bit.BIT1
  598. #define RI SCON_bit.BIT0
  599. /* P1 */
  600. #define P17 P1_bit.BIT7
  601. #define P16 P1_bit.BIT6
  602. #define TXD_1 P1_bit.BIT6
  603. #define P15 P1_bit.BIT5
  604. #define P14 P1_bit.BIT4
  605. #define SDA P1_bit.BIT4
  606. #define P13 P1_bit.BIT3
  607. #define SCL P1_bit.BIT3
  608. #define P12 P1_bit.BIT2
  609. #define P11 P1_bit.BIT1
  610. #define P10 P1_bit.BIT0
  611. /* TCON */
  612. #define TF1 TCON_bit.BIT7
  613. #define TR1 TCON_bit.BIT6
  614. #define TF0 TCON_bit.BIT5
  615. #define TR0 TCON_bit.BIT4
  616. #define IE1 TCON_bit.BIT3
  617. #define IT1 TCON_bit.BIT2
  618. #define IE0 TCON_bit.BIT1
  619. #define IT0 TCON_bit.BIT0
  620. /* P0 */
  621. #define P07 P0_bit.BIT7
  622. #define RXD P0_bit.BIT7
  623. #define P06 P0_bit.BIT6
  624. #define TXD P0_bit.BIT6
  625. #define P05 P0_bit.BIT5
  626. #define P04 P0_bit.BIT4
  627. #define STADC P0_bit.BIT4
  628. #define P03 P0_bit.BIT3
  629. #define P02 P0_bit.BIT2
  630. #define RXD_1 P0_bit.BIT2
  631. #define P01 P0_bit.BIT1
  632. #define MISO P0_bit.BIT1
  633. #define P00 P0_bit.BIT0
  634. #define MOSI P0_bit.BIT0