找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3287|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

凌陽(yáng)061a芯片C頭文件

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:26188 發(fā)表于 2015-2-18 01:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
//=====================================================================
// 端口地址常量
#define Port_IOA_Data           (volatile unsigned int *)0x7000   //讀/寫寫入數(shù)據(jù)到數(shù)據(jù)寄存器里,讀出IOA管腳上的電平狀態(tài)
#define Port_IOA_Buffer         (volatile unsigned int *)0x7001   //讀/寫寫入數(shù)據(jù)到數(shù)據(jù)寄存器里,讀出數(shù)據(jù)寄存器里的數(shù)據(jù)
#define Port_IOA_Dir            (volatile unsigned int *)0x7002   //讀/寫  I/O A口的方向向量
#define Port_IOA_Attrib         (volatile unsigned int *)0x7003   //讀/寫  I/O A口的屬性向量
#define Port_IOA_Latc           (volatile unsigned int *)0x7004   //讀     進(jìn)入睡眠前鎖存I/O A口的數(shù)據(jù),為睡眠后觸鍵引起喚醒準(zhǔn)備
#define Port_IOB_Data           (volatile unsigned int *)0x7005   //讀/寫寫入數(shù)據(jù)到數(shù)據(jù)寄存器里,讀出I/O B口管腳上的電平狀態(tài)
#define Port_IOB_Buffer         (volatile unsigned int *)0x7006   //讀/寫寫入數(shù)據(jù)到數(shù)據(jù)寄存器里,讀出數(shù)據(jù)寄存器里的數(shù)據(jù)
#define Port_IOB_Dir            (volatile unsigned int *)0x7007   //讀/寫  I/O B口的方向向量
#define Port_IOB_Attrib         (volatile unsigned int *)0x7008   //讀/寫  I/O B口的屬性向量
#define Port_FeedBack           (volatile unsigned int *)0x7009   //寫     通過(guò)反饋電路將外部RC振蕩源引入
#define Port_TimerA_Data        (volatile unsigned int *)0x700A   //讀/寫  I/O A口的數(shù)據(jù)口
#define Port_TimerA_Ctrl        (volatile unsigned int *)0x700B   //寫     I/O A口的控制單元
#define Port_TimerB_Data        (volatile unsigned int *)0x700C   //讀/寫  I/O B口的數(shù)據(jù)口
#define Port_TimerB_Ctrl        (volatile unsigned int *)0x700D   //寫     I/O B口的控制單元
#define Port_Timebase_Setup     (volatile unsigned int *)0x700E   //寫     時(shí)基發(fā)生器的選頻設(shè)置單元
#define Port_Timebase_Clear     (volatile unsigned int *)0x700F   //寫     時(shí)基計(jì)數(shù)器復(fù)位單元
#define Port_INT_Ctrl           (volatile unsigned int *)0x7010   //讀/寫  中斷源的控制單元
#define Port_INT_Clear          (volatile unsigned int *)0x7011   //寫     中斷源中斷請(qǐng)求清除單元
#define Port_Watchdog_Clear     (volatile unsigned int *)0x7012   //寫     清除看門狗
#define Port_SystemClock        (volatile unsigned int *)0x7013   //寫     系統(tǒng)時(shí)鐘選頻單元(包括系統(tǒng)進(jìn)入睡眠狀態(tài)的時(shí)鐘頻率選擇)
#define Port_ADC                (volatile unsigned int *)0x7014   //讀/寫  ADC的數(shù)據(jù)口
#define Port_ADC_Ctrl           (volatile unsigned int *)0x7015   //讀/寫  ADC的控制單元
#define Port_DAC2               (volatile unsigned int *)0x7016   //讀/寫  DAC2 的數(shù)據(jù)口
#define Port_DAC1               (volatile unsigned int *)0x7017   //讀/寫  DAC1 的數(shù)據(jù)口
#define Port_IR_Ctrl            (volatile unsigned int *)0x7018   //讀/寫  紅外通訊的控制單元
#define Port_LVD_Ctrl           (volatile unsigned int *)0x7019   //讀/寫  低電壓監(jiān)測(cè)的控制單元
#define Port_SIO_Data           (volatile unsigned int *)0x701A   //讀/寫  串行設(shè)備接口SIO的數(shù)據(jù)口
#define Port_SIO_Addr_Low       (volatile unsigned int *)0x701B   //讀/寫  SIO的低字節(jié)地址單元
#define Port_SIO_Addr_Mid       (volatile unsigned int *)0x701C   //讀/寫  SIO的中字節(jié)地址單元
#define Port_SIO_Addr_Hig       (volatile unsigned int *)0x701D   //讀/寫  SIO的高字節(jié)地址單元
#define Port_SIO_Ctrl           (volatile unsigned int *)0x701E   //讀/寫  SIO的控制單元
#define Port_SIO_Start          (volatile unsigned int *)0x701F   //讀/寫  SIO數(shù)據(jù)傳輸?shù)膯?dòng)單元
#define Port_SIO_Stop           (volatile unsigned int *)0x7020   //寫     SIO數(shù)據(jù)傳輸?shù)慕Y(jié)束單元
#define Port_UART_Command1      (volatile unsigned int *)0x7021   //寫     通用異步串行I/O口UART的控制單元
#define Port_UART_Command2      (volatile unsigned int *)0x7022   //讀/寫  UART接收/發(fā)送功能的開(kāi)通/關(guān)斷控制單元
#define Port_UART_Data          (volatile unsigned int *)0x7023   //讀/寫  UART的數(shù)據(jù)口
#define Port_UART_BaudScalarLow (volatile unsigned int *)0x7024   //讀/寫  UART 波特率設(shè)定控制字的低字節(jié)
#define Port_UART_BaudScalarHig (volatile unsigned int *)0x7025   //讀/寫  UART 波特率設(shè)定控制字的高字節(jié)
#define Port_DAC_Ctrl           (volatile unsigned int *)0x702A   //讀/寫  音頻輸出方式及雙DAC通道和PWM驅(qū)動(dòng)通道的控制單元
#define Port_ADC_MUX_Ctrl       (volatile unsigned int *)0x702B   //讀/寫  ADC多通道控制
#define Port_ADC_MUX_Data       (volatile unsigned int *)0x702C   //讀   讀出多通道10 位ADC轉(zhuǎn)換的數(shù)字?jǐn)?shù)據(jù)
#define Port_INT_Ctrl_New       (volatile unsigned int *)0x702D   //讀/寫  激活和屏蔽中斷
//=====================================================================
//系統(tǒng)時(shí)間P_SystemClock(寫)($7013H)單元設(shè)置
//鎖相環(huán)頻率(fosc)設(shè)置,p5-p7口
#define CPU_PLL_24m          0x0000   //24.576MHz
#define CPU_PLL_20m          0x0020   //20.48MHz
#define CPU_PLL_32m          0x0040   //32.768MHz
#define CPU_PLL_40m          0x0060   //40.96MHz
#define CPU_PLL_49m          0x0080   //49.152MHz
//CPU時(shí)鐘選擇,p0-p2口
#define CPU_CLK_all          0x0000   //(fosc)全速
#define CPU_CLK_2            0x0001   //(fosc)/2速
#define CPU_CLK_4            0x0002   //(fosc)/4速
#define CPU_CLK_8            0x0003   //(fosc)/8速(默認(rèn))
#define CPU_CLK_16           0x0004   //(fosc)/16速
#define CPU_CLK_32           0x0005   //(fosc)/32速
#define CPU_CLK_64           0x0006   //(fosc)/64速
#define CPU_CLK_stop         0x0007   //睡眠停止
//晶振狀態(tài),p3-p4口
#define XO_Full_Speed        0x0008   //p3口=1 晶振全速
#define Bed_XO_Slow_Speed    0x0000   //p3口=0 晶振自動(dòng)轉(zhuǎn)弱振(默認(rèn))
#define Bed_XO_Always        0x0010   //p4口=1 睡眠時(shí)晶振一直全速(默認(rèn))
#define Bed_XO_Close         0x0000   //p4口=0 睡眠時(shí)晶振關(guān)閉
//=====================================================================
//時(shí)基信號(hào)發(fā)生器P_Timebase_Setup(寫)($700EH)單元設(shè)置
//選頻邏輯TMB1設(shè)置,p0-p1口
#define Timebase_TMB1_8Hz    0x0000   //(默認(rèn))
#define Timebase_TMB1_16Hz   0x0001;
#define Timebase_TMB1_32Hz   0x0002;
#define Timebase_TMB1_64Hz   0x0003;
//選頻邏輯TMB2設(shè)置,p2-p3口
#define Timebase_TMB2_128Hz  0x0000   //(默認(rèn))
#define Timebase_TMB2_256Hz  0x0004;
#define Timebase_TMB2_512Hz  0x0008;
#define Timebase_TMB2_1024Hz 0x000c;
//=====================================================================
//定時(shí)器TimerA、B P_Timer*_Ctrl(寫) TimerA($700BH)、TimerA($700DH)單元設(shè)置
//定時(shí)器A使用時(shí)鐘源A、B,
//默認(rèn)未使用定時(shí)器A,需使用時(shí)鐘源B時(shí),時(shí)鐘源A須設(shè)置為TimeAB_SourceAC_1
//定時(shí)器B使用時(shí)鐘源C
//定時(shí)器A、B使用時(shí)鐘源A、C設(shè)置,p0-p2口
#define TimeAB_SourceAC_F2   0x0000   //Fosc/2
#define TimeAB_SourceAC_F256 0x0001   //Fosc/256
#define TimeAB_SourceAC_XO   0x0002   //32768Hz
#define TimeAB_SourceAC_8K   0x0003   //8192Hz
#define TimeAB_SourceAC_4K   0x0004   //4096Hz
#define TimeAB_SourceAC_1    0x0005   //使用時(shí)鐘源B時(shí),必選
#define TimeAB_SourceAC_0    0x0006   //(默認(rèn))未開(kāi)
#define TimeAB_SourceAC_EXT1 0x0007   //
//定時(shí)器A使用時(shí)鐘源B設(shè)置,p3-p5口
#define TimeA_SourceB_2048   0x0000;
#define TimeA_SourceB_1024   0x0008;
#define TimeA_SourceB_256    0x0010;
#define TimeA_SourceB_TMB1   0x0018;
#define TimeA_SourceB_4Hz    0x0020;
#define TimeA_SourceB_2Hz    0x0028;
#define TimeA_SourceB_1      0x0030  //(默認(rèn))
#define TimeA_SourceB_EXT2   0x0038;
//定時(shí)器脈沖占空比設(shè)置,p6-p9口
#define TimeAB_APWMO_Off     0x0000;
#define TimeAB_APWMO_1_16    0x0040;
#define TimeAB_APWMO_2_16    0x0080;
#define TimeAB_APWMO_3_16    0x00c0;
#define TimeAB_APWMO_4_16    0x0100;
#define TimeAB_APWMO_5_16    0x0140;
#define TimeAB_APWMO_6_16    0x0180;
#define TimeAB_APWMO_7_16    0x01c0;
#define TimeAB_APWMO_8_16    0x0200;
#define TimeAB_APWMO_9_16    0x0240;
#define TimeAB_APWMO_10_16   0x0280;
#define TimeAB_APWMO_11_16   0x02c0;
#define TimeAB_APWMO_12_16   0x0300;
#define TimeAB_APWMO_13_16   0x0340;
#define TimeAB_APWMO_14_16   0x0380;
#define TimeAB_APWMO_TAOut   0x03c0  //受TimerA、B的溢出信號(hào)控制,占空比為50%
//=====================================================================
//中斷控制單元P_INT_Ctrl(讀/寫)(7010H)
//下列排序從到下排列,對(duì)應(yīng)中斷等級(jí)按從高到低排列
//IRQ0-6只有查詢先后區(qū)別,不能嵌套
#define FIQ_F_1024    0x8000   //中斷源 音頻輸出, 快速中斷
#define IRQ0_F_1024   0x4000   //中斷源 音頻輸出,     中斷0
#define FIQ_TMA       0x2000   //中斷源 定時(shí)器A,  快速中斷
#define IRQ1_TMA      0x1000   //中斷源 定時(shí)器A,      中斷1
#define FIQ_TMB       0x0800   //中斷源 定時(shí)器B,  快速中斷
#define IRQ2_TMB      0x0400   //中斷源 定時(shí)器B,      中斷2
#define IRQ3_EXT2     0x0200   //中斷源 外部時(shí)鐘2,    中斷3
#define IRQ3_EXT1     0x0100   //中斷源 外部時(shí)鐘1,    中斷3
#define IRQ3_KEY      0x0080   //中斷源 觸鍵喚醒,     中斷3
#define IRQ4_4KHz     0x0040   //中斷源 4096Hz時(shí)基,   中斷4
#define IRQ4_2KHz     0x0020   //中斷源 2048Hz時(shí)基,   中斷4
#define IRQ4_1KHz     0x0010   //中斷源 1024Hz時(shí)基,   中斷4
#define IRQ5_4Hz      0x0008   //中斷源 4Hz時(shí)基,      中斷5
#define IRQ5_2Hz      0x0004   //中斷源 2Hz時(shí)基,      中斷5
#define IRQ6_TMB1     0x0002   //中斷源 選頻邏輯TMB1, 中斷6
#define IRQ6_TMB2     0x0001   //中斷源 選頻邏輯TMB1, 中斷6
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表