首页 理论教育 AVR单片机程序设计详解

AVR单片机程序设计详解

时间:2023-10-17 理论教育 版权反馈
【摘要】:程序中采用T/C1比较匹配中断。但对PA口的初始化时需要注意,PA3和PA4要设置成输入方式,且不能使用该口内部的上拉电阻,否则会影响到输入的模拟电压值。在ADC转换完成中断服务中,把ADC转换结果换算成电压值,换算采用了整型数计算。程序详解如下:●目的:数码管显示2路AD采样值。图9-5 外部中断应用实例程序流程图程序设计清单如下:1)定义数组,用来存储数码管显示的断码值和对应的位码。

AVR单片机程序设计详解

程序中采用T/C1比较匹配中断。该定时中断除了作为LED动态扫描的定时外,还作为ADC自动触发转换的触发源信号。在ADC的初始化代码中,设置ADC时钟的分频系数为128。系统采用内部1MHz时钟,满足逐次比较转换电路达到最大精度。

尽管ATmega16的PA口的PA3和PA4作为ADC的输入端,PA口的其他引脚仍可作为普通的数字I/O口使用,本例就是使用PA0~PA2作为LED的位控制线使用。但对PA口的初始化时需要注意,PA3和PA4要设置成输入方式,且不能使用该口内部的上拉电阻,否则会影响到输入的模拟电压值。

在ADC转换完成中断服务中,把ADC转换结果换算成电压值,换算采用了整型数计算。

程序详解如下:

●目的:数码管显示2路AD采样值。

●功能:数码管显示AD。

●时钟频率:内部1MHz。

●编译环境:ICC-AVR6.31。

●使用硬件:8位数码管、内部AD通道3、4。

●结果:8位数码管显示电压值格式为0.00—0.00,调至最大时候会出现5.05,因为采用8位采样,简化算法更精确。请自行编写。

●操作要求:P13和P14插上跳帽。

外部中断应用实例程序流程图如图9-5所示。

978-7-111-35161-0-Chapter09-20.jpg

图9-5 外部中断应用实例程序流程图(www.xing528.com)

程序设计清单如下(完整程序见光盘):

1)定义数组,用来存储数码管显示的断码值和对应的位码。

978-7-111-35161-0-Chapter09-21.jpg

2)ADC采样函数,采样第7通道信号,采样分辨率256。

978-7-111-35161-0-Chapter09-22.jpg

3)初始化定时器

978-7-111-35161-0-Chapter09-23.jpg

978-7-111-35161-0-Chapter09-24.jpg

4)主程序。

978-7-111-35161-0-Chapter09-25.jpg

5)定时器1中断服务程序。

978-7-111-35161-0-Chapter09-26.jpg

978-7-111-35161-0-Chapter09-27.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈