嵌入式 单片机 数码管
回帖(1)
2022-1-17 13:54:55
一、ADC的使用
A/D在进行转化时,一般都需要经过采样、量化和编码三个步骤。A/D转换的过程是需要时间的,我们可以在连续变化的模拟量上按一定的时间规律取得对应的瞬时值,量化后以数字的形式输出,从而可以实现从模拟量到数字量的转化。
A. ADC的初始化
B. 转换时间的计算
一:最快的转换时间为输入时钟为总线时钟bus_clock(48MHZ),即ADICLK=00,(注:K60N512内部集成的高性能的AD模块转换精度为16位,最高时钟频率为50MHZ)。分配比率为1,ADIV=00,即ADCK=bus_clock。硬件平均因子取1,不采用硬件均值功能,即AVGE=0。基本转换时间16位单工。短时间采样,即ADLSMP=0。不采用高速转换时间,即ADHSC=0。
5ADCK+5bus_clock+25ADCK=35/4810-6s=0.73us
二:分配比率为1,ADIV=00,即ADCK=bus_clock。硬件平均因子取1,不采用硬件均值功能,即AVGE=0。基本转换时间16位单工。长时间采样,即ADLSMP=1,ADLSTS=11。不采用高速转换时间,即ADHSC=0。
3ADCK+5bus_clock+25ADCK+2ADCK=35/48*10-6s=0.73us
C.应用编程要点
打开ADC电源(设置ADC_CONTR中的ADC_POWER位);
适当延时,等ADC内部模拟电源稳定。一般延时1ms即可;
设置P1口中的相应口线作为AD转换模拟量输入通道(设置P1ASF寄存器);
选择ADC通道(设置ADC_CONTR中的CHS2-CHS0位);
根据需要设置转换结果存储格式(设置CLK_DIV中ADRJ位);
查询AD转换结束标志ADC_FLAG,判断AD转换是否完成,若完成,则读出AD转换结果(保存在ADC_RES和ADC_RESL寄存器中),并进行数据处理。如果是多通道模拟量进行转换,则更换AD转换通道后要适当延时,使输入电压稳定,延时量取20-200us即可(与输入电压源的内阻有关),如果输入电压源的内阻在10KΩ以下,可不加延时;
采用中断方式,还需进行中断设置(中断允许和中断优先级);
在中断服务程序中读取AD转换结果,并将ADC中断请求标志ADC_FLAG清零。
四、数码管的使用
A. GPIO使能
- 两个GPIO PTC10PTC12控制亮的灯 分别给 00 01 10 11;进行控制
- 八个引脚控制亮的部位
- 进行使能,先将其全部设为低电平
B. 动态显示
动态显示的原理其实是一位一位的操作操作每个数码管,因为对每一位的操作特别快,并且在一直轮流给数,原理其实就是利用了人眼的视觉暂留效果和发光管的余晖作用来达到效果,只是操作的比较快,我们人眼视觉分辨不出来,就会觉得是动态显示的。
C. 编写显示数字函数,以及选择管的函数
总结
A. 实现其他功能
B. 了解不同的配置
C. 回顾实现原理
一、ADC的使用
A/D在进行转化时,一般都需要经过采样、量化和编码三个步骤。A/D转换的过程是需要时间的,我们可以在连续变化的模拟量上按一定的时间规律取得对应的瞬时值,量化后以数字的形式输出,从而可以实现从模拟量到数字量的转化。
A. ADC的初始化
B. 转换时间的计算
一:最快的转换时间为输入时钟为总线时钟bus_clock(48MHZ),即ADICLK=00,(注:K60N512内部集成的高性能的AD模块转换精度为16位,最高时钟频率为50MHZ)。分配比率为1,ADIV=00,即ADCK=bus_clock。硬件平均因子取1,不采用硬件均值功能,即AVGE=0。基本转换时间16位单工。短时间采样,即ADLSMP=0。不采用高速转换时间,即ADHSC=0。
5ADCK+5bus_clock+25ADCK=35/4810-6s=0.73us
二:分配比率为1,ADIV=00,即ADCK=bus_clock。硬件平均因子取1,不采用硬件均值功能,即AVGE=0。基本转换时间16位单工。长时间采样,即ADLSMP=1,ADLSTS=11。不采用高速转换时间,即ADHSC=0。
3ADCK+5bus_clock+25ADCK+2ADCK=35/48*10-6s=0.73us
C.应用编程要点
打开ADC电源(设置ADC_CONTR中的ADC_POWER位);
适当延时,等ADC内部模拟电源稳定。一般延时1ms即可;
设置P1口中的相应口线作为AD转换模拟量输入通道(设置P1ASF寄存器);
选择ADC通道(设置ADC_CONTR中的CHS2-CHS0位);
根据需要设置转换结果存储格式(设置CLK_DIV中ADRJ位);
查询AD转换结束标志ADC_FLAG,判断AD转换是否完成,若完成,则读出AD转换结果(保存在ADC_RES和ADC_RESL寄存器中),并进行数据处理。如果是多通道模拟量进行转换,则更换AD转换通道后要适当延时,使输入电压稳定,延时量取20-200us即可(与输入电压源的内阻有关),如果输入电压源的内阻在10KΩ以下,可不加延时;
采用中断方式,还需进行中断设置(中断允许和中断优先级);
在中断服务程序中读取AD转换结果,并将ADC中断请求标志ADC_FLAG清零。
四、数码管的使用
A. GPIO使能
- 两个GPIO PTC10PTC12控制亮的灯 分别给 00 01 10 11;进行控制
- 八个引脚控制亮的部位
- 进行使能,先将其全部设为低电平
B. 动态显示
动态显示的原理其实是一位一位的操作操作每个数码管,因为对每一位的操作特别快,并且在一直轮流给数,原理其实就是利用了人眼的视觉暂留效果和发光管的余晖作用来达到效果,只是操作的比较快,我们人眼视觉分辨不出来,就会觉得是动态显示的。
C. 编写显示数字函数,以及选择管的函数
总结
A. 实现其他功能
B. 了解不同的配置
C. 回顾实现原理
举报
更多回帖