首页 理论教育 AVR单片机程序设计—AVR单片机开发入门与典型实例

AVR单片机程序设计—AVR单片机开发入门与典型实例

时间:2023-10-17 理论教育 版权反馈
【摘要】:本程序在开发板上调试通过。程序详解如下:●目的:18B20温度显示。程序中包含了特定头文件iom16v.h和macros.h,这两个头文件都在ICC程序安装文件夹下的一个include目录中,iom16v.h和用户选择的芯片相对应,如果选择的是ATmega16,那么这个文件就是iom16v.h,在这样的文件中定义了对应芯片的各个硬件地址。图14-8 DS18B20温度数码管显示流程图2)定义DS18B20的操作端口。7)DS18B20初始化函数。9)DS18B20写一个字节函数。10)从DS18B20读取温度函数。

AVR单片机程序设计—AVR单片机开发入门与典型实例

程序中,利用ATmega16单片机对DS18B20进行操作。并在8位数码管上显示当前温度,格式如23.5℃或者123.5℃,测试范围为-55~150℃。本程序在开发板上调试通过。

程序详解如下:

●目的:18B20温度显示。

●功能:单线测温。

●时钟频率:内部1MHz。

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

●使用硬件:DS18B20温度传感器

●结果:数码管显示当前环境温度,格式为“当前温度:XX.X℃”,测试范围为-55~150℃。

●操作要求:连接好18B20,然后插上P18跳帽。

程序流程图如图14-8所示。

在下面的程序解释中,只给出各个功能模块的解释,完整的程序代码读者可参考光盘中的内容。

1)头文件部分。

978-7-111-35161-0-Chapter14-8.jpg

程序中包含了特定头文件iom16v.h和macros.h,这两个头文件都在ICC程序安装文件夹下的一个include目录中,iom16v.h和用户选择的芯片相对应,如果选择的是ATmega16,那么这个文件就是iom16v.h,在这样的文件中定义了对应芯片的各个硬件地址。macros.h文件中定义了一些宏命令和老版的语言写法。通常每一个程序都要包含这个头文件。关于iom16v.h和macros.h读者可以在安装目录下的include文件夹里找到。

978-7-111-35161-0-Chapter14-9.jpg

图14-8 DS18B20温度数码管显示流程图

978-7-111-35161-0-Chapter14-10.jpg

2)定义DS18B20的操作端口。

978-7-111-35161-0-Chapter14-11.jpg

3)全局变量的定义。

978-7-111-35161-0-Chapter14-12.jpg(www.xing528.com)

978-7-111-35161-0-Chapter14-13.jpg

4)函数声明。函数定义放在函数调用后时,这种情况需要进行函数说明。

函数声明的格式为:返回值类型符函数名称(形式参数列表);

978-7-111-35161-0-Chapter14-14.jpg

5)主函数。

978-7-111-35161-0-Chapter14-15.jpg

978-7-111-35161-0-Chapter14-16.jpg

6)定时器中断服务程序。

978-7-111-35161-0-Chapter14-17.jpg

978-7-111-35161-0-Chapter14-18.jpg

7)DS18B20初始化函数。

978-7-111-35161-0-Chapter14-19.jpg

8)DS18B20读一个字节函数。

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

9)DS18B20写一个字节函数。

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

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

10)从DS18B20读取温度函数。

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

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

我要反馈