EDN China > 技术文章 > 微处理器与DSP > CPU/GPU > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 数字温度传感器TC77与AVR单片机的接口设计

来源:国外电子元器件/洪家平?? 2007年06月18日 ?? 收藏0

??? 4 TC77与AVR单片机的接口??

????4.1 TC77与AVR单片机的硬件接口

??? 图4是TC77与AVR单片机的接口硬件连接原理图。图中使用的是同步串行三线SPI接口,可以方便地连接采用SPI通信协议的外设或另一片AVR单片机,实现短距离的高速同步通信。

TC77与AVR单片机的接口硬件连接原理图

??? ATmega128的SPI采用硬件方式实现面向字节的全双工3线同步通信,支持主机、从机和两种不同极性的SPI时序。ATmega128单片机内部的SPI接口也可用于程序存储器和数据E2PROM的编程下载和上传。但需要特别注意的是,此时SPI的MOSI和MISO接口不再对应PB2和PB3引脚,而是转换到PE0和PE1引脚(PDI、PDO)。

??? 4.2 TC77与AVR单片机的软件接口

??? TC77与AVR单片机的接口软件包括主程序和中断服务程序。在主程序中首先要对ATmega128的硬件SPI进行初始化。在初始化时,应将PORTB的MOSI、SCLK和SS引脚作为输出,同时将MISO引脚作为输入,并开启上拉电阻。接着对SPI

的寄存器进行初始化设置,并空读一次SPSR(SPX Status Reg-ister,SPI状态寄存器)、SPDR(SPI Data Register SPI,数据寄存器),使ISP空闲等待发送数据。AVR的SPI由一个16位的循环移位寄存器构成,当数据从主机方移出时,从机的数据同时也被移入,因此SPI的发送和接收可在同一中断服务程序中完成。在SPI中断服务程序中,先从SPDR中读一个接收的字节存人接收数据缓冲器中,再从发送数据缓冲器取出一个字节写入SPDR中,由ISP发送到从机。数据一旦写入SPDR,ISP硬件开始发送数据。下一次ISP中断时表示发送完成,并同时收到一个数据。程序中putSPIchar()和getSPIchar()为应用程序的底层接口函数,同时也使用了两个数据缓冲器,分别构成循环队列。下面这段代码是通过SPI主机方式连续批量输出、输人数据的接口程序:


接口程序
接口程序
接口程序
接口程序

??? 5 结束语

??? TC77可与具有SPI或相同接口的MCU直接连接,对于不具有SPI接口的MCU则可通过软件编程合成SPI操作。TC77非常适用于温度测控的低成本和小型应用,如电脑硬盘驱动器或PC其他外围设备的热保护,同时也适用于要求较低的温度测量与控制系统。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

温度传感器? AVR? 单片机?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈