fm3之循序渐进
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MB9B506之GPIO
无可否认,对一个CPU还不了解时我们最希望的是它能动起来。
那么我们就从GPIO开始吧。虽然晶体的配置,启动等都必须。我们还是先跳过吧。
MB9B506的GPIO有以下几个寄存器位来控制,选择是使用哪个功能:
当然还有作为输入输出数据的:PDIR(输入),PDOR(输出)。
这里实际上都只是寄存器的一个位,具体的寄存器应该如此:
比如PFR:实际寄存器FPRX的一位
PFR有PFR0,对应P0F~P00,PFR1,对应P1F~P10,…PFR8,对应P8F~P80,
PFR:GPIO和设备功能选择。0:GPIO,1:设备。
PCRX:为上拉配置位为1时选择
ADE 模拟输入允许(为1时选择)
SPSR 配置相关腿位USB或晶体腿脚或不是。为1时选择。
DDR 输入输出方向设置0为输入,1为输出。
EPFR 扩展腿功能选择配置位。这个寄存器每个腿对应一个寄存器的多位(不是一位哦)这种寄存器高达11个之多。
下面就以一个小例子作为结束吧。
例子:MB9B500开机启动后一般默认为GPIO输入(除了JTAG和时钟外)。
如果要点亮Led只要把DDR设置位1就可以送数据1或0到PDOR熄灭或点亮LED了(当然要连接好电路)。
这个LCDIO初始化就用到了IO的配置:
void Init_LCD_IO()
{
/* Release the analog input function*/
ADE =0x03;//不选ADC(估计这个IO有ADC功能)
/*Select CPIO function*/
LCD_CS_PFR &= ~LCD_CS;//选择GPIO
/*Make pin output*/
LCD_CS_DDR |= LCD_CS;//方向输出
/*Select CPIO function*/
LCD_CD_PFR &= ~LCD_CD;
/*Make pin output*/
LCD_CD_DDR |= LCD_CD;
/*Select CPIO function*/
LCD_PS_PFR &= ~LCD_PS;
/*Make pin output*/
LCD_PS_DDR |= LCD_PS;
/*Select CPIO function*/
LCD_CLK_PFR &= ~LCD_CLK;
/*Make pin output*/
LCD_CLK_DDR |= LCD_CLK;
/*Select CPIO function*/
LCD_DATA_PFR &= ~LCD_DATA;
/*Make pin output*/
LCD_DATA_DDR |= LCD_DATA;
}
如何设置系统模式
如图MD1,MD0决定了系统启动
时钟的问题
有哪些时钟:外部主,外部子,内部低,内部高,PLL产生的5种吧。
Main clock (CLKMO)
Sub clock (CLKSO)
High-speed CR clock (CLKHC)
Low-speed CR clock (CLKLC)
PLL clock (CLKPLL)
复位
Power-on reset
INITX pin input
External power supply/low-voltage detection reset Software watchdog reset
Hardware watchdog reset
Clock failure detection reset
Anomalous frequency detection reset
Software reset
TRSTX pin input
MB9B506之AD转换初探
3 units of A/D converters with 10-bit resolution or 12-bit resolution are installed. Any channel can be selected to any unit from 16 channels of analog input.
The following triggers can be selected as an activation trigger for A/D conversion. Priority conversion activation trigger
Trigger input from an external pin
Timer trigger input (base timer or multifunction timer)
Software activation
Scan conversion activation trigger
Timer trigger input (base timer or multifunction timer)
Software activation
具体看例子的ADC初始化
MB9B506之PWM
1. 16-bit PWM timer operations
2. One-shot operation
3. Interrupt causes and timing chart
4. Output waveforms
5. PWM timer operation flowchart
6. Timer Control Registers (TMCR and TMCR2) and Status Control Register (STC) used when the PWM
timer is selected
7. PWM Cycle Set Register (PCSR)
8. PWM Duty Set Register (PDUT)
9. Timer Register (TMR)
MB9B506之多功能串口
UART0 (Asynchronous normal serial interface)
UART1 (Asynchronous multi-processor serial interface)
CSIO (Clock synchronous serial interface) (SPI can be supported)
LIN(LIN bus interface)
I2C (I2C bus interface)
串口模式寄存器: