![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MC9S12XS
文章平均质量分 72
charrp
这个作者很懒,什么都没留下…
展开
-
PIT 配置
1、xs128 PIT其实很简单,就是两个8位小定时器,4个16位定时器,然后16位的定时器是在8位小定时器的基础上再去调整的。2、很奇葩也很重要的一点,在清除定时器中断标志位PITTF时若用位寻址是会出错的,这点datasheet上也没提及。 //--------------------- 定时器 -----------------------void PIT_Init(void){原创 2012-08-19 00:02:24 · 1187 阅读 · 0 评论 -
ATD 配置
1、ATD 有挺多东西要注意的,用的时候还是看下datasheet 。2、A/D转换时间 = Initial Sample Time(2)+ Programmed Sample Time(可编程)+ Resolution Period(10),其中采样周期ATDCTL4的SMP[1:0]来选择。3、据说xs128 A/D Clock 要在500Hz 到 2MHz这个范围内采样才会准确,但又原创 2012-08-19 00:45:07 · 1604 阅读 · 0 评论 -
US-100超声波 使用
1、只要给Trig端一个大于10us的高电平信号便能使模块工作,然后要做就是等待回波并测其脉宽而已,脉宽时间相当于声波从发射到返回来回的时间,所以 距离=时间*声速/2。#define UT_Trig PORTA_PA0 // 发送触发信号 超声波#define UT_Echo PORTA_PA1 // 接收回响信号uint distance; // 单位: m原创 2012-08-19 01:21:24 · 5330 阅读 · 1 评论 -
PLL 配置
1、xs128可稳定超频至总线80MHz。2、我的理解SYNR是倍频,REFDV是分频,由此可以自由调整频率。3、两个nop是给锁相环一个稳定的时间。//----------------- 总线时钟 80MHz -------------------void PLL_Init(void) // 160MHz 总线80MHz{ CLKSEL = 0x原创 2012-08-18 22:00:44 · 1069 阅读 · 0 评论 -
nRF24L01无线 使用
1、这东西实测大概也就20米,可能功率放大点会更远点,可是估计差不了多少。#include #include "nRF_define.h"#include "nRF_api.h"#define uchar unsigned char#define uint unsigned intbyte const TX_ADDRESS[TX_ADR_WIDTH] = {0x34, 0x4原创 2012-08-19 01:10:37 · 1755 阅读 · 0 评论 -
DFLASH 配置
1、这是直接看网上的程序的。不过有个问题是晚上程序有一个写FCLKDIV = 0x4E,貌似是错的,数据手册上写晶振16M时应设为0x0F。#define READword(address) ((unsigned int)(*(volatile unsigned int *__near)(address)))转载 2012-08-19 22:07:46 · 2099 阅读 · 0 评论 -
4x4 矩阵键盘
#define KEYIO PT1AD0#define KEYIODDR DDR0AD0//=================== 按键扫描 ======================uchar KeyScan(void) { uchar keyValue = 0; KEYIODDR = 0xFF; //初始化 AD[15:8]输出 KEYIO原创 2012-08-19 00:51:44 · 864 阅读 · 0 评论 -
PWM 配置
1、PWM很简单,貌似要注意的就是0、1、4、5路PWM由时钟源A或SA产生,2、3、6、7由B或SB产生。2、还有就是,设置PWM的寄存器时,要先关闭PWM使能PWME,设置完了再开启。3、舵机最好还是级联一下。//-------------- 电机 PWM 输出 50kHz -----------------void PWM_Init(void){ PWMPRCLK原创 2012-08-19 00:17:43 · 846 阅读 · 0 评论