MC9S12XS128单片机

合集下载

基于MC9S12XS128单片机太阳能光伏发电自动跟踪系统

基于MC9S12XS128单片机太阳能光伏发电自动跟踪系统

基于MC9S12XS128单片机太阳能光伏发电自动跟踪系统摘要我们提出一种基于MC9S12XS128单片机控制三维液压调整机构的太阳自动追踪系统的设计,实现太阳能电池板跟随太阳光旋转,保持平面与太阳光垂直,以达到最大光能获取率。

该系统价格低廉,性能可靠,具有较高的实用价值,可广泛应用于大中型光伏发电、聚热式聚光式发电等领域。

关键词光伏发电;太阳照射角;自动跟踪1太阳能光伏发电自动跟踪系统背景随着社会经济的快速发展,人类所面临的能源问题越来越突出,太阳能作为一种清洁能源无疑受到各国的普遍重视。

在相同条件下,光照强度越大,太阳能电池输出功率越大。

因而增大太阳能电池受光面的光照强度,就可增大太阳能电池输出功率。

除了提高太阳光电池本身的转换效应和提高蓄电池充放电效应外,对太阳的自动跟踪是太阳光伏发电系统中另一种提高转换效率的有效手段,因此在太阳能的利用过程中实施太阳跟踪是很有必要的。

2基于单片机MC9S12XS128太阳能光伏发电自动跟踪系统2.1概述目前本设计仅通过简单的计算公式得到的数据,对东西向进行每小时一次的角度改变,南北向进行每天一次的角度改变,再通过单片机的判断进行每晚的东西向回归控制以及每半年的南北向跟踪方向的改变控制。

2.2系统工作电源本系统根据发电系统的大小,适应性地采用两种供电方式,分为工作电源独立式、工作电源集中共用式(除电源的供给不同外,其他部分大体一致)。

系统主要由光强传感器(主要部件为光敏电阻)、信号处理器(S12单片机),蓄电池(12V~4V)等组成,对于只有少量太阳能电池板的发电设备(如家庭、移动通信基站等),采用独立式,独立式系统是系统工作电源有自身的蓄电池和太阳能电板供电。

为了使跟踪系统不影响正常的太阳能电池板向外供电,此系统的独立电源的蓄电池可以采用独立的成本低的实用性小太阳电池板对其充电。

这样可以消除跟踪系统对主要太阳能电板发电供电的影响和防止对昂贵的工业发电板资源的占用。

飞思卡尔MC9S12XS128单片机重点模块讲解

飞思卡尔MC9S12XS128单片机重点模块讲解

基于飞思卡尔 MC9S12XS128MCU 的模块讲解及测试
安徽工业大学 自动化系 刘昌元 delay(500); if(LED==0x80) LED=0x01; } } 综合以上的两段代码看在 52 单片机和 128 单片机上编程思路基本上没大的区别,唯一的区 别就是 128 单片机有数据方向寄存器来管理 I/O 口。 � 将部分端口做输入口使用,另外一部分端口做输出口使用时:例如我们将 PORTB 的端 口 B7 用来做输入口,B0-B5 口做输出指示,测试代码如下:

以端口 A 和端口 B 为例讲解,以上是我截取的技术手册上的,从上来看 A 口和 B 口各 有 8 个口,且 A0-A7;B0-B7 全部作为 GPIO (通用输入输出口 )使用。此处 A 口和 B 口 使用方法是一样的,我姑且就以端口 A 来讲解。 A 口和 B 口作为通用输入输出口使用时我们只需要掌握 4 个寄存器即可。 PORTA (A 口

这一点和 51 单片机的 I/O 口有区别,在典型的 51 单片中 P0 口内部没有上拉电阻,但作为 I/O 口使用时需要外接排阻。其他 P1-P3 口则可以直接作为双向口使用,51 单片在上电复位 后端口被默认的置 1.在 51 单片中端口的某一位置 0 时端口作为输出口使用,置 1 时作为输 入口使用。例如如果我们想把 P1 作为输出口使用时我们可以在程序开始时写 P1=0x00; 如果 我们想把 P1 口作为输入口使用时我们可以写 P1=0xff; 这一点正好和飞思卡尔的 128 单片机 相反,另外 128 单片有专门的数据方向寄存器 DDRA 或者 DDRB 等来管理各个端口的输入 输出选择,51 单片没有。如果我们想把端口 A 作为输入口使用,我们只需写 DDRA=0x00; 即所有位都置 0,如果我们想把端口 A 作为输出口使用,我们只需要写 DDRA=0xff; 即所有 位都置 1 ,而如 果我们想要 把端口 A 的高四 位做输入口 ,低 4 位做输 出口时我们 就 写 DDRA=0x0f; 当我们需要将该端口的某一位做输出或者输入口使用时只需要将该端口对应的 方向位置 1 或者置 0 即可。例如我们想把 A3 口作输入口, A4 口作输出口使用时我们只需 要写: DDRA_DDRA3=0; DDRA_DDRA4=1; 即可。 � � 对于数据方向寄存器的使用只要记住:置 1——输出 置 0——输入 PORTA 数据寄存器也是由 8 位组成,任何时候都可以对它进行读写操作。

MC9S12XS128中文资料

MC9S12XS128中文资料
PWM标度B寄存器。用于控制Clock SB的值,Clock SB = Clock A / (2 * PWMSCLB),当PWMSCLB=0x00时,相当于PWMSCLB=256。
PWMCNTx:
PWM通道计数寄存器。
每个通道都有一个独立的8位计数器,其计数速率由所选择的时钟源决定。计数器的值可以随时读取而不影响计数器运行,也不影响PWM波形输出。在左对齐模式时,计数器从0计数至周期寄存器的值减1;在中心对齐模式,计数器从0计数至周期寄存器的值,然后再倒计数至0。
CFORC:
定时器比较强制寄存器。复位值为0x00。
FOCx=1将强制该位对应通道产生输出比较成功动作,但CxF中断标志位不置位。任何通道的强制比较成功动作若与普通比较成功动作同时发生,则强制比较成功动作优先发生,且CxF标志位不会置位。
被置位后瞬间将自动清除该位,所以任何时候对该寄存器的读动作都将返回0x00。
OC7M:
输出比较通道7屏蔽寄存器。复位值为0x00。
Setting the OC7Mx (x ranges from 0 to 6) will set the corresponding port to be an output port when the corresponding TIOSx (x ranges from 0 to 6) bit is set to be an output compare and the corresponding OCPDx (x ranges from 0 to 6) bit is set to zero to enable the timer port.A successful channel 7 output compare overrides any channel 6:0 compares. For each OC7M bit that is set, the output compare action reflects the corresponding OC7D bit.

基于MC9S12XS128单片机的触发装置研究

基于MC9S12XS128单片机的触发装置研究

基于MC9S12XS128单片机的触发装置研究车辆轮对磨耗参数的检测,对保证车辆安全运行具有重要作用。

为了解决动态检测图像采集过程中,运动车辆轮对的定位与图像采集问题,文章基于飞思卡尔MC9S12XS128单片机,设计了适用于轮对动态检测环境的多通道触发装置。

该装置以双单片机组为控制核心,综合考虑并解决了电源控制、传感器输入信号捕捉与相机触发信号的控制等问题。

最后通过实验表明,该触发装置运行稳定,重复性实验中的被测物偏移误差小于0.1mm。

标签:Mc9s12xs128;单片机;触发;轮对;检测1 引言在整个铁路车辆运行系统中,车辆轮对作为与钢轨直接接触的部件,是直接影响车辆是否能够安全行驶的重要因素[1,2]。

车辆轮对参数的测量方法主要包括两大类,即静态检测法和动态检测法[3]。

静态检测法是针对车辆在静止状态时进行检测,存在受操作者主观影响,自动化程度较低等问题[4]。

动态检测方法采用机器视觉和图像处理技术,具有非接触和检测速度快等优点,能够减少检测过程中的人为误差,并提升检测效率[5,6]。

采用动态检测方法实现轮对在线检测首先要对被测物进行准确定位并采集图像。

对于这种高精度触发装置,未见相关文献描述,本文基于飞思卡尔MC9S12XS128单片机设计了一种适用于车辆轮对在线检测环境的实时图像采集触发装置。

该装置实现了车辆轮对磨耗在线检测中,对多个不同工位车辆轮对的准确定位和对应相机的触发控制。

2 触发装置总体设计触发装置主要用于实现轮对动态检测中控制图像采集设备在被测轮对到达设计位置的时刻,进行准确有效拍摄的关键功能。

要准确描述轮对状态需对同一轮对的多个位置进行检测。

为此设计的触发装置,分别在轨道左右侧各设置两组检测单元,对轮对图像进行多次采集。

以图1所示左一组检测单元为例,一组三个接近传感器安装在铁轨上,用于检测车辆的速度信息,结合最后一处传感器与CCD相机之间的距离由核心控制处理单元对相机拍摄时间进行计算。

MC9S12XS128单片机复习课程

MC9S12XS128单片机复习课程
void PWM_Init() {
PWME = 0X00; //禁止PWM输出 PWMCTL = 0Xf0; //通道0/1,2/3,4/5,6/7级联 PWMCLK = 0Xff; //PWM1,PWM3,PWM5时钟源为SA/SB,即级联后时钟源为SA/SB PWMPRCLK = 0X22; // 4分频 PWMPOL = 0Xff; //输出波形开始极性为1 output waveform which high first then low
1.禁止 PWM Disable PWM 寄存器为:PWME=0;
2.选择时钟 Select clock (prescaler and scale) for the PWM 寄存器为:PWMPRCLK,PWMSCLA,PWMSCLB, PWMCLK
3.选择极性 Select polarity 寄存器为:PWMPOL
6. 8 字节或 16 字节的通道协议。
7. 有4 个时钟源可供选择(A、SA、B、SB),他 们提供了一个宽范围的时钟频率。
PWM模块 特点:
8. 通过编程可以实现希望的时钟周期。 9. 具有遇到紧急情况关闭程序的功能。 10.每一个通道都可以通过编程实现左对齐输出还是
居中对齐输出。
PWM初始化步骤总结:
MC9S12XS128单片机
MC9S12XS128单片机特点
➢ 存储器:128KB FLASH;2KB EEPROM;8KB RAM; ➢ A/D:16通道模数转换器;可选8位、10位和12位精度; ➢ PWM:8位8通道或16位4通道PWM; ➢ 串行口:2个异步串行通讯SCI和2个同步串行设备接口
ECT模块(增强型定时器模块)
• ECT特点相当于高速的I/O口,由一个16为自由计 数器、8个16为的输入捕捉/输出比较通道、一个 16为脉冲累加器及一个16位的模数递减计算器 (MDC)组成。

飞思卡尔MC9S12XS128技术手册翻译AD

飞思卡尔MC9S12XS128技术手册翻译AD

飞思卡尔MC9S12XS128技术手册(AD转换部分)英文资料:飞思卡尔MC9S12XS256RMV1官方技术手册1.1 XS12系列单片机的特点XS12系列单片机特点如下:·16位S12CPU—向上支持S12模糊指令集并去除了其中的MEM, WAV, WAVR, REV, REVW 五条指令;—模块映射地址机制(MMC);—背景调试模块(BDM);·CRG时钟和复位发生器—COP看门狗;—实时中断;·标准定时器模块—8个16位输入捕捉或输出比较通道;;—16位计数器,8位精密与分频功能;—1个16位脉冲累加器;·周期中断定时器PIT—4具有独立溢出定时的定时器;—溢出定时可选范围在1到2^24总线时钟;—溢出中断和外部触发器;·多达8个的8位或4个16位PWM通道—每个通道的周期和占空比有程序决定;—输出方式可以选择左对齐或中心对其;—可编程时钟选择逻辑,且可选频率范围很宽;·SPI通信模块—可选择8位或16位数据宽度;—全双工或半双工通信方式;—收发双向缓冲;—主机或从机模式;—可选择最高有效为先输出或者最低有效位先输出;·两个SCI串行通信接口—全双工或半双工模式·输入输出端口—多达91个通用I/O引脚,根据封装方式,有些引脚未被引出;—两个单输入引脚;·封装形式—112引脚薄型四边引线扁平封装(LQFP);—80引脚扁平封装(QFP);—64引脚LQFP封装;·工作条件—全功率模式下单电源供电范围3.15V到5V;—CPU总线频率最大为40MHz—工作温度范围–40 C到125 C第十章模拟—数字转换10.1 介绍ADC12B16C是一个16通道,12位,复用方式输入逐次逼近模拟—数字转换器。

ATD的精度由电器规格决定。

10.1.1 特点·可设置8位、10位、12位精度·在停止模式下,ATD转换使用内部时钟·转换序列结束后自动进入低耗电模式·可编程采样时间·转化结果可选择左对齐或右对齐·外部触发控制·转换序列结束后产生中断·模拟输入的16个通道为复用方式·可以选择VRH、VRL、 (VRL+VRH)/2特殊转换方式·转换序列长度1到16·可选择连续转换方式·多通道扫描·任何AD通道均可配置外部触发功能,并且可选择4种额外的触发输入。

飞思卡尔S12xs128单片机BDM调试器使用技巧

飞思卡尔S12xs128单片机BDM调试器使用技巧

S12(X)单片机BDM调试器使用技巧第五届全国大学生“飞思卡尔”杯智能气车竞赛限制采用最新的MC9S12XS128(以下简称XS128)单片机作为主控芯片,替代MC9S12DG128。

XS128是Freescale公司推出的S12系列单片机中的一款增强型16位单片机。

片内资源丰富,接口模块有SPI、SCI、IIC、A/D、PWM等常见模块,在汽车电子应用领域具有广泛用途。

XS128和以往大赛使用的S12DG128系列单片机一样,调试接口都是使用Freescale公司传统的BD M(Background Debug Module)接口。

1 MC9S12XS128单片机介绍(1)CPU:增强型16位HCS12 CPU,片内总线时钟最高40 MHz;(2)片内资源:8 KB RAM、128 KB程序闪存、2 KB数据闪存;(3)串行接口模块:SCI、SPI;(4)脉宽调制模块(PWM)可设置成4路8位或者2路16位,逻辑时钟选择频率宽;(5)1个16路12位精度A/D转换器;(6)控制器局域网模块(CAN);(7)增强型捕捉定时器。

MC9S12XS128单片机有112、80和64引脚3种封装形式。

80-pin封装的单片机没有引出用于扩展方式的端口,仅引出了一个8路A/D接口。

竞赛可使用112或80引脚封装器件。

2 BDM接口和使用BDM调试器内部有一个8位的MC9HC08JB16单片机,该单片机有USB接口,可与PC 机信息交互。

HC08单片机和S12单片机间仅使用一根 I/O线通信,这根相连的信号线名为BKGD。

HC08单片机将BKGD置为输出,以串行发送命令,发送完成后转为输入,以接收信息。

S12单片机收到命令后转为输出,根据调试器发来的命令回送信息,然后立即转入接收态。

BDM工具以此方式实现S12单片机的在线调试、内部闪存的烧写等功能。

关于BDM接口的实现,读者可以参考Freescale任何一款S12单片机的器件手册,其对BDM接口的命令字、交互模式等都有详细描述。

资料:MC9S12XS128中文资料

资料:MC9S12XS128中文资料

飞思卡尔智能汽车竞赛XS128主要模块实验指导书第一章端口整合模块端口A,B和K为通用I/O接口端口E 整合了IRQ,XIRQ中断输入端口T 整合了1个定时模块端口S 整合了2个SCI模块和1个SPI模块端口M 整合了1个MSCAN端口P 整合了PWM 模块,同时可用作外部中断源输入端口H 和J 为通用I/O接口,同时可用作外部中断源输入端口AD 整合了1个16位通道ATD模块大部分I/O引脚可由相应的寄存器位来配置选择数据方向、驱动能力,使能上拉或下拉式装置。

当用作通用IO口时,所有的端口都有数据寄存器和数据方向寄存器。

对于端口T, S, M, P, H, 和J 有基于每个针脚的上拉和下拉控制寄存器。

对于端口AD 有基于每个针脚的上拉寄存器。

对于端口A、B、E 和K,有一个基于端口的上拉控制寄存器。

对于端口T, S, M, P, H, J, 和AD,有基于每个针脚的降额输出驱动控制寄存器。

对于端口A, B, E, 和K,有一个基于端口的降额输出驱动控制寄存器。

对于端口S、M,有漏极开路(线或)控制寄存器。

对于端口P、H 和J,有基于每个针脚的中断标志寄存器。

纯通用IO端口共计有41个,分别是:PA[7:0]PB[7:0]PE[6:5]PE[3:2]PK[7,5:0]PM[7:6]PH[7:0] (带中断输入)PJ[7:6] (带中断输入)PJ[1:0] (带中断输入)第二章脉冲宽度调制模块XS128具有8位8通道的PWM,相邻的两个通道可以级联组成16位的通道。

PWME:PWM通道使能寄存器。

PWMEx=1将立即使能该通道PWM波形输出。

若两个通道级联组成一个16位通道,则低位通道(通道数大的)的使能寄存器成为该级联通道的使能寄存器,高位通道(通道数小的)的使能寄存器和高位的波形输出是无效的。

PWMPOL:PWM极性寄存器。

PPOLx=1,则该通道的周期初始输出为高电平,达到占空比后变为低电平;相反,若PPOLx=0,则初始输出为低电平,达到占空比后变为高电平。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.MC9S12XS128单片机介绍
2.CodeWarrior IDE 12 应用
MC9S12XS128单片机
• MC9S12XS128(以下简称XS128)是Freescale公 司推出的S12XS系列单片机中的一款增强型16位 单片机,S12XS系列单片机是在S12XE系列基础 上去掉XGate协处理器的单片机,该系列单片机 采用 CPU12X V2内核,可运行在40MHz总线频 率上。不仅在汽车电子、工业控制、中高档机电 产品等应用领域具有广泛的用途,而且在FLASH 存储控制及加密方面呢也有很强的功能。
PWM模块 特点:
1. 它有 8 个独立的输出通道,并且通过编程可控 制其输出波形的周期。 2. 每一个输出通道都有一个精确的计数器。 3. 每一个通道的 PWM 输出使能都可以由编程来控 制。 4. PWM 输出波形的翻转控制可以通过编程来实现。 5. 周期和脉宽可以被双缓冲。当通道关闭或 PWM 计数器为 0 时,改变周期和脉宽才起作用。 6. 8 字节或 16 字节的通道协议。 7. 有4 个时钟源可供选择(A、SA、B、SB),他 们提供了一个宽范围的时钟频率。
ECT初始化程序:
以0通道为例:
void ECT_Init(void) { TIE = 0x00; //通道0~7的使能屏蔽 TIOS = 0x00; // 所有的端口设置成输入捕获模式 TSCR1 = 0x90; // 使能时钟模块,定时器标志位 快速清零,读取数据自动清零 TCTL4_EDG0B = 0; TCTL4_EDG0A = 1; //捕捉 上升沿,0通道 TIE_C0I = 1; // 使能0通道中断,中断服务程序中 读取捕获数 }
ECT模块(增强型定时器模块)
• ECT特点相当于高速的I/O口,由一个16为自由计 数器、8个16为的输入捕捉/输出比较通道、一个 16为脉冲累加器及一个16位的模数递减计算器 (MDC)组成。
ECT初始化
极速挑战中使用了输入捕获(IC)通道,下面介绍IC通道的 初始化。 1. 端口设置成输入捕获模式: 寄存器TIOS,并使TIOS = 0x00; 2.设定自由计数器溢出中断及分频系数 寄存器存器为TSCR1,使TSCR1=0x09; 4.设置捕获上升沿、下降沿或上升下降沿。 寄存器TCTL3、TCTL4; 5.打开输入捕获中断使能 寄存器:TIE
CodeWarrior新建工程
第三步:进入欢迎界面,点击下一步。然后选择芯 片型号 MC9S12XS128,点击下一步。程序一定 要与单片机型号一直,否则在硬件调试中会出现 错误。
CodeWarrior新建工程
第四步:选择使用的语言,在此选择 C语言,点击 “下一步”。
CodeWarrior新建工程
The end,thank you!
CodeWarrior编译 第十二步:程序输入以后,点击工具栏的 图标 检查程序是否有错,如果有错,会在编 辑框上方提示错误警告,以 为标 志,程序中会随之用红色。检查程序并 修改,直到没有错误为止。
CodeWarrior程序下载 第一步:在上述单片机程序编译的基础上,将编程 器与试验板连接好,编程器下载口用BDM同计算 机相连点击 图标 开始调试(debug),进入 调试仿真状态后会出现如下界面。
AD初始化总结步骤:
1. 内部触发,A/D转换精度; 寄存器为:ATD0CTL1 2.外部触发,AD中断允许; 寄存器为:ATD0CTL2 3.数据对齐方式,采样序列长度 寄存器为:ATD0CTL3 4.采样时间选择位,AD时钟选择; 寄存器为:ATD0CTL4 5.采样通道选择,单/多次采样选择位 寄存器为:ATD0CTL5
MC9S12XS128单片机特点 存储器:128KB FLASH;2KB EEPROM;8KB RAM; A/D:16通道模数转换器;可选8位、10位和12位精度; PWM:8位8通道或16位4通道PWM; 串行口:2个异步串行通讯SCI和2个同步串行设备接口 SPI; CRG时钟和复位发生器:锁相环、看门狗、实时中断; 增强型捕捉定时器; I2C总线; CAN总线:3个1Mbps的CAN总线,兼容CAN2.0 A/B; 背景调试模式(BDM); 封装:LQFP-112和LQFP-80;
极速挑战用到的单片机模块
ADC模块
PWM模块
ECT捕获
ADC模块
ADC:电路里面的模拟信号转换为数字信号的转换 器; 特点: AD时钟频率满足500KHz~2MHz; 16通道模数转换器; 8位数字量,10位数字量,12位数字量转换,最 短时间3us; 外部触发控制; 可选择单次转换模式或连续转换模式;
CodeWarrior程序下载 第二步:出现如下图框,则点击确定;
CodeWarrior程序下载 第三步:接下来出现如下图形,说行程序正在下载 至单片机。
CodeWarrior程序下载 第四步:点击如下图标 ,则程序开始在单片机中 运行,此时可拔出下载线,或直接拔掉下载线, 按下单片机上的复位键,程序也开始运行。
PWM模块 特点:
8. 通过编程可以实现希望的时钟周期。 9. 具有遇到紧急情况关闭程序的功能。 10.每一个通道都可以通过编程实现左对齐输出还是 居中对齐输出。
PWM初始化步骤总结:
1.禁止 PWM Disable PWM 寄存器为:PWME=0; 2.选择时钟 Select clock (prescaler and scale) for the PWM 寄存器为:PWMPRCLK,PWMSCLA,PWMSCLB, PWMCLK 3.选择极性 Select polarity 寄存器为:PWMPOL 4.选择对齐模式 Select center or left aligned mode 寄存器为:PWMCAE 5.对占空比和周期编程 Program duty cycle and period 寄存器为:PWMDTYx, PWMPERx 6.使能 PWM 通道 Enable used PWM channels 寄存器为:PWME
CodeWarrior新建工程
第一步:双击桌面 CodeWarrior IDE 12图标,进入 CodeWarrior IDE 12运用界面。在打开的界面中 点击菜单 File,在其下拉菜单中点击New,新建 数据库文件 。
CodeWarrior新建工程
第二步:新建一个数据库,如图选择第一行,然后 再右面命名 123 (任意命名均可),双击 HC(S)12 New Project Wizard,如下图所 示:
PWM初始化步骤总结: 7.设定PWM周期 PWM Channel Period Registers 寄存器为:PWMPERx; 8.设定占空比 PWM Channel Duty Registers 寄存器为:PWMDTYx; 9.使能PWM Enable PWM 寄存器为:PWME;
PWM初始化实例:
• 第五步:选择调试专家,在此选择“NO” ,点击 “下一步” 。
CodeWarrior新建工程
第六步:界面如下图所示,选择“NO” ,点击 “下一 步” 。
CodeWarrior新建工程
第七步:界面如下图所示,选择” ANSI startup code” ,点击“下一步” 。
CodeWarrior新建工程 第八步:选择有无浮点格式,根据自己情况而定, 本程序在此选择第二选项,点击“下一 步”。
Codewarrior软件
• Codewarrior软件使用大赛中采用Codewarrior 3.1 for HCS12作为推荐的程序编译软件。 "CodeWarrior for S12" 是面向以HC12或S12为 CPU的单片机嵌入式应用开发的软件包。包括集 成开发环境IDE、处理器专家库、全芯片仿真、 可视化参数显示工具、项目工程管理器、C交叉 编译器、汇编器、链接器以及调试器。在 Codewarrior软件中可以使用汇编语言或C语言,以 及两种语言的混合编程。
CodeWarrior新建工程 第九步:界面出现“选择存储模式?”,选择 Banked,点击下一步。
CodeWarrior新建工程 第十步:界面出现“选择硬件连接电缆型号” ,选 择 第一项和最后一项,点击“完成”。
CodeWarrior新建工程 第十一步:进入如下界面,点击左侧 Sources文件 前面的加号,选择主程序中的 Main.c, 双击左键进入,可写入程序。
void PWM_Init() { PWME = 0X00; //禁止PWM输出 PWMCTL = 0Xf0; //通道0/1,2/3,4/5,6/7级联 PWMCLK = 0Xff; //PWM1,PWM3,PWM5时钟源为SA/SB,即级联后时钟源为SA/SB PWMPRCLK = 0X22; // 4分频 PWMPOL = 0Xff; //输出波形开始极性为1 output waveform which high first then low when the duty counter is reached PWMCAE = 0x00; //左对齐输出模式 output left align wavefor PWMSCLA = 0x05; //Clock SA is CLOCKA/(2*PWMSCLA) PWMSCLB = 0x05; //Clock SB is CLOCKB/(2*PWMSCLB) PWMPER45 = 10000; //设定输出周期=通道时钟周期*10000 PWMDTY45 = 5000;//占空比=[(PWMDTY01+1)/(PWMPER01+1)]*100% PWME = 0xff; //使能PWM }
AD初始化实例
void ATD_Init(void) { ATD0CTL1 = 0x20;//内部触发允许、A/D转换精度 ATD0CTL2 = 0x62;//禁止外部触发,快速清零,AD中断允许 ATD0CTL3 = 0x80;//数据对齐方式,采样序列长度 ATD0CTL4 = 0x92;//采样时间选择位,AD时钟选择 ATD0CTL5 = 0x30;//采样通道选择,单/多次采样选择位 ATD0DIEN = 0x00;//禁止数字输入 }
相关文档
最新文档