/****PIC单片机通过SPI串口可以读取TC77传感器的温度数值****/
/****通过串口与上位机连接在串口调试工具中可显示温度的数字值**/
/*****************主程序************************/
#include "p18f4620.h"
#define TC77_CS LATAbits.LATA2 //片选信号,低电平有效
//初始化
void initial()
{
INTCON = 0x00;
ADCON1 = 0x07;
PIE1 = 0;
PIE2 = 0;
}
//串口初始化
void EUSART_Init()
{
TXSTA = 0xA4;
RCSTA = 0x90;
BAUDCON =0x00;
TRISC = TRISC|0x80;
TRISC = TRISC&0xBF;
SPBRG = 25;
}
//发送数据到串口
void send_ch(int d)
{
PIR1bits.TXIF = 0;
TXREG = d;
while(TXSTAbits.TRMT == 0);
}
//SPI配置TC77
void TC77_init(void)
{
TRISCbits.TRISC3 = 0;
TRISCbits.TRISC4 = 1;
TRISAbits.TRISA2 = 0;
SSPSTAT = 0xC0;
SSPCON1 = 0x20;
PIR1bits.SSPIF = 0;
}
//读TC77温度传感器
unsigned int Read_TC77(void)
{
unsigned char temh,teml;
unsigned int temp;
TC77_CS = 0; //片选TC77
PIR1bits.SSPIF = 0;
SSPBUF = 0; // 读高8位
while(!PIR1bits.SSPIF);
if(SSPSTATbits.BF)
temh=SSPBUF;
PIR1bits.SSPIF = 0;
SSPBUF = 0; //读低八位
while(!PIR1bits.SSPIF);
if(SSPSTATbits.BF)
teml=SSPBUF;
TC77_CS = 1;
temp = temh;
temp = (temp << 6)+(teml >> 2); //换算为十六位数据
return temp;
}
//延时函数
void wait(unsigned char t)
{
unsigned char i;
unsigned int j;
for(i=0;i for(j=0;j<10000;j++);
}
//主函数
void main()
{
unsigned int T;
initial();
EUSART_Init();
TC77_init();
while(1)
{
T = Read_TC77();
send_ch(0xFF);
send_ch(T);
send_ch(T >> 8);
Nop();
Nop();
wait(10);
}
}
关键字:PIC SPI 串口控制 TC77 温度传感器
引用地址:
PIC 通过SPI串口控制TC77温度传感器
推荐阅读最新更新时间:2024-03-16 15:47
pic 18f45k80单片机看门狗程序
#pragma config WDTPS = 512 // 看门狗复位时间2.048s void main(void) { while(1) { ClrWdt(); // 喂狗 } }
[单片机]
Microchip推出基于Arm®的新型PIC®单片机系列产品
Microchip推出基于Arm®的新型PIC®单片机系列产品,以更简便方式添加Bluetooth®低功耗连接功能 PIC32CX-BZ2单片机系列内置蓝牙低功耗(BLE)和其他无线功能,提供出色的模拟性能和全面的设计支持 无线连接已成为许多产品的必备功能,但往往会增加系统设计的成本和复杂性,因为它通常必须作为更大应用的附加功能。Microchip Technology Inc.(美国微芯科技公司)今日推出首款基于Arm Cortex®-M4F的PIC单片机(MCU)系列产品,以解决这一无线连接设计挑战。新系列产品将蓝牙低功耗功能直接集成为系统的最基本组件之一,并得到业界最全面的开发生态系统的支持。 Microc
[单片机]
基于网络化技术的电机控制系统设计
将先进的计算技术、半导体技术和电子技术与各个行业的具体应用以及与Intemet技术相结合己经成为未来嵌入式系统的发展趋势。这里以A19lRM9200微处理器为CPU,ATmegal28系列单片机,8 MB的Flash和32 MB的SDRAM存储器,扩展了以太网接口、串行接口等外围通信设备以及输入输出接口,根据处理器和其他接口芯片的要求设计了外围硬件电路及软件。实现了用电机控制系统实时监控多路电机的状态,并且可以控制任一路电机的转速与相位,解决了单片机与ARM系列处理器之间的通信。 1 系统硬件设计 1.1 主机硬件系统结构 主机硬件系统结构如图1所示。 1)电源电路 AT9lRM9200需要1.8 V和3.
[工业控制]
PIC12c508读写93LC46 PICC程序
P IC 12c508读写93LC46程序 /************************************************************ * Processer : Micro Chip PIC12C508 * * Compiler : Hi-TECH PI CC 8.00 PL2 * * Writer : Jason Kuo * * Description : It CAN read/write 93LC46 (64 x 16-bit organization) * ******
[单片机]
PIC16C5X单片机睡眠状态的键唤醒方法
在有些应用场合下,CPU只需间断性工作或对外部事件作出处理,平时处于待机状态。PIC16C5X单片机有一种节能方式,睡眠(SLEEP)方式,在这种状态中,振荡驱动器停止工作, I/O口保持执行 SLEEP指令前的状态,从而大大降低系统功耗。由于PIC16C5X单片机无中断功能,要退出睡眠方式,只有两种方法: (1)“看门狗”(WDT)溢出。 (2)在复位脚加低电平,而使芯片复位。本文采用第二种方法。 在图1给出的例子中,PIC16C5X平时处于睡眠态,当任意一键按下时,将它从睡眠状态中唤醒,进行键盘处理。为便于说明,在本例中,SW1按下时,点亮 ,如下图所示 绿灯;当SW2按下时,红灯亮。读者可按实际需要编写处理程序,参见
[单片机]
基于PIC18F66J60的Ethernet至RS-232的协议转换器
目前,在工业控制等多数领域中,大多数的设备的通信接口符合RS-232通信标准。这种通信方式的数据传输半径十分有限,并不能满足远程传输的需求,而且不能接入Internet。有两种方法可以将这些串口设备进行有效的改进,使其接入到Internet。一种方法更新原有的系统,采用能够接入Internet的新产品,或者对原有系统的全部或局部进行重新设计。这种方式可能从根本上解决系统接入到Internet问题,但是其成本较高、周期较长。另外一种方法是在原来的设备上面使用RS-232-Internet的协议转换器,实现Internet的接入。不论从复杂程度还是成本上面,这种方法明显优于第一种。 协议转换器的主要功能在于桥接,用户设备可以通过协议转换
[应用]
pic16f877单片机TMR1的使用笔记
一、结构 1、TMR1可以作为通用的定时器和计数器,也可以利用内置的低频时基振荡器实现实时时钟RTC功能;通过TMR1与CCP模块的配合使用,TMR1还可以实现输入捕捉和输出比较功能。 TMR1是一个16位的可读可写的计数寄存器,由高低两字节组成(TMR1H和TMR1L)16位寄存器从0000H到FFFFH加1计数,然后回到0000H。在从FFFFH到0000H的过程中,置位中断标志位TMR1。 TMR1带有一个3位的可编程预分频器和一个低功耗低频时基振荡器。 二、特点 1、由16位的时钟信号上升沿触发的累加计数寄存器对 TMR1H,TMR1L; 2、TMR1H和TMR1L是在RAM中统一编址的寄存器对,地
[单片机]
基于PIC12XX的精确延时技术
1 PIC12XX的结构 Microchip公司的单片机率先采用RISC(精简指令集计算机)结构的高性能价格比的嵌入式控制器。 该PIC单片机具有高速度、低工作电压、低功耗、较大的输入输出直接驱动能力、在线串行编程、芯片的低价位和小体积等特点。为此,Microchip开发了高档、中档、低档不同层次系列多种型号的产品,PIC12XX是一款基于EEPROM的8位微控制器的中档PIC单片机,具有高性能的RISC CPU、特殊单片机功能、低功耗功能、增强型Timer 1外设功能,为单片机的精确延时技术提供可靠保障。其内部结构如图1所示。 1.1 外部结构特点 该单片机共8个引脚,其中6个
[单片机]