找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3275|回复: 0
打印 上一主题 下一主题
收起左侧

凌阳061a芯片C头文件

[复制链接]
跳转到指定楼层
楼主
ID:26188 发表于 2015-2-18 01:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//=====================================================================
// 端口地址常量
#define Port_IOA_Data           (volatile unsigned int *)0x7000   //读/写写入数据到数据寄存器里,读出IOA管脚上的电平状态
#define Port_IOA_Buffer         (volatile unsigned int *)0x7001   //读/写写入数据到数据寄存器里,读出数据寄存器里的数据
#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   //读     进入睡眠前锁存I/O A口的数据,为睡眠后触键引起唤醒准备
#define Port_IOB_Data           (volatile unsigned int *)0x7005   //读/写写入数据到数据寄存器里,读出I/O B口管脚上的电平状态
#define Port_IOB_Buffer         (volatile unsigned int *)0x7006   //读/写写入数据到数据寄存器里,读出数据寄存器里的数据
#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   //写     通过反馈电路将外部RC振荡源引入
#define Port_TimerA_Data        (volatile unsigned int *)0x700A   //读/写  I/O A口的数据口
#define Port_TimerA_Ctrl        (volatile unsigned int *)0x700B   //写     I/O A口的控制单元
#define Port_TimerB_Data        (volatile unsigned int *)0x700C   //读/写  I/O B口的数据口
#define Port_TimerB_Ctrl        (volatile unsigned int *)0x700D   //写     I/O B口的控制单元
#define Port_Timebase_Setup     (volatile unsigned int *)0x700E   //写     时基发生器的选频设置单元
#define Port_Timebase_Clear     (volatile unsigned int *)0x700F   //写     时基计数器复位单元
#define Port_INT_Ctrl           (volatile unsigned int *)0x7010   //读/写  中断源的控制单元
#define Port_INT_Clear          (volatile unsigned int *)0x7011   //写     中断源中断请求清除单元
#define Port_Watchdog_Clear     (volatile unsigned int *)0x7012   //写     清除看门狗
#define Port_SystemClock        (volatile unsigned int *)0x7013   //写     系统时钟选频单元(包括系统进入睡眠状态的时钟频率选择)
#define Port_ADC                (volatile unsigned int *)0x7014   //读/写  ADC的数据口
#define Port_ADC_Ctrl           (volatile unsigned int *)0x7015   //读/写  ADC的控制单元
#define Port_DAC2               (volatile unsigned int *)0x7016   //读/写  DAC2 的数据口
#define Port_DAC1               (volatile unsigned int *)0x7017   //读/写  DAC1 的数据口
#define Port_IR_Ctrl            (volatile unsigned int *)0x7018   //读/写  红外通讯的控制单元
#define Port_LVD_Ctrl           (volatile unsigned int *)0x7019   //读/写  低电压监测的控制单元
#define Port_SIO_Data           (volatile unsigned int *)0x701A   //读/写  串行设备接口SIO的数据口
#define Port_SIO_Addr_Low       (volatile unsigned int *)0x701B   //读/写  SIO的低字节地址单元
#define Port_SIO_Addr_Mid       (volatile unsigned int *)0x701C   //读/写  SIO的中字节地址单元
#define Port_SIO_Addr_Hig       (volatile unsigned int *)0x701D   //读/写  SIO的高字节地址单元
#define Port_SIO_Ctrl           (volatile unsigned int *)0x701E   //读/写  SIO的控制单元
#define Port_SIO_Start          (volatile unsigned int *)0x701F   //读/写  SIO数据传输的启动单元
#define Port_SIO_Stop           (volatile unsigned int *)0x7020   //写     SIO数据传输的结束单元
#define Port_UART_Command1      (volatile unsigned int *)0x7021   //写     通用异步串行I/O口UART的控制单元
#define Port_UART_Command2      (volatile unsigned int *)0x7022   //读/写  UART接收/发送功能的开通/关断控制单元
#define Port_UART_Data          (volatile unsigned int *)0x7023   //读/写  UART的数据口
#define Port_UART_BaudScalarLow (volatile unsigned int *)0x7024   //读/写  UART 波特率设定控制字的低字节
#define Port_UART_BaudScalarHig (volatile unsigned int *)0x7025   //读/写  UART 波特率设定控制字的高字节
#define Port_DAC_Ctrl           (volatile unsigned int *)0x702A   //读/写  音频输出方式及双DAC通道和PWM驱动通道的控制单元
#define Port_ADC_MUX_Ctrl       (volatile unsigned int *)0x702B   //读/写  ADC多通道控制
#define Port_ADC_MUX_Data       (volatile unsigned int *)0x702C   //读   读出多通道10 位ADC转换的数字数据
#define Port_INT_Ctrl_New       (volatile unsigned int *)0x702D   //读/写  激活和屏蔽中断
//=====================================================================
//系统时间P_SystemClock(写)($7013H)单元设置
//锁相环频率(fosc)设置,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时钟选择,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速(默认)
#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   //睡眠停止
//晶振状态,p3-p4口
#define XO_Full_Speed        0x0008   //p3口=1 晶振全速
#define Bed_XO_Slow_Speed    0x0000   //p3口=0 晶振自动转弱振(默认)
#define Bed_XO_Always        0x0010   //p4口=1 睡眠时晶振一直全速(默认)
#define Bed_XO_Close         0x0000   //p4口=0 睡眠时晶振关闭
//=====================================================================
//时基信号发生器P_Timebase_Setup(写)($700EH)单元设置
//选频逻辑TMB1设置,p0-p1口
#define Timebase_TMB1_8Hz    0x0000   //(默认)
#define Timebase_TMB1_16Hz   0x0001;
#define Timebase_TMB1_32Hz   0x0002;
#define Timebase_TMB1_64Hz   0x0003;
//选频逻辑TMB2设置,p2-p3口
#define Timebase_TMB2_128Hz  0x0000   //(默认)
#define Timebase_TMB2_256Hz  0x0004;
#define Timebase_TMB2_512Hz  0x0008;
#define Timebase_TMB2_1024Hz 0x000c;
//=====================================================================
//定时器TimerA、B P_Timer*_Ctrl(写) TimerA($700BH)、TimerA($700DH)单元设置
//定时器A使用时钟源A、B,
//默认未使用定时器A,需使用时钟源B时,时钟源A须设置为TimeAB_SourceAC_1
//定时器B使用时钟源C
//定时器A、B使用时钟源A、C设置,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   //使用时钟源B时,必选
#define TimeAB_SourceAC_0    0x0006   //(默认)未开
#define TimeAB_SourceAC_EXT1 0x0007   //
//定时器A使用时钟源B设置,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  //(默认)
#define TimeA_SourceB_EXT2   0x0038;
//定时器脉冲占空比设置,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的溢出信号控制,占空比为50%
//=====================================================================
//中断控制单元P_INT_Ctrl(读/写)(7010H)
//下列排序从到下排列,对应中断等级按从高到低排列
//IRQ0-6只有查询先后区别,不能嵌套
#define FIQ_F_1024    0x8000   //中断源 音频输出, 快速中断
#define IRQ0_F_1024   0x4000   //中断源 音频输出,     中断0
#define FIQ_TMA       0x2000   //中断源 定时器A,  快速中断
#define IRQ1_TMA      0x1000   //中断源 定时器A,      中断1
#define FIQ_TMB       0x0800   //中断源 定时器B,  快速中断
#define IRQ2_TMB      0x0400   //中断源 定时器B,      中断2
#define IRQ3_EXT2     0x0200   //中断源 外部时钟2,    中断3
#define IRQ3_EXT1     0x0100   //中断源 外部时钟1,    中断3
#define IRQ3_KEY      0x0080   //中断源 触键唤醒,     中断3
#define IRQ4_4KHz     0x0040   //中断源 4096Hz时基,   中断4
#define IRQ4_2KHz     0x0020   //中断源 2048Hz时基,   中断4
#define IRQ4_1KHz     0x0010   //中断源 1024Hz时基,   中断4
#define IRQ5_4Hz      0x0008   //中断源 4Hz时基,      中断5
#define IRQ5_2Hz      0x0004   //中断源 2Hz时基,      中断5
#define IRQ6_TMB1     0x0002   //中断源 选频逻辑TMB1, 中断6
#define IRQ6_TMB2     0x0001   //中断源 选频逻辑TMB1, 中断6
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表