尿ph值高是什么意思| 插肩袖是什么意思| ect是什么意思| 胃炎有什么症状| 小儿抽搐是什么原因引起的| get什么意思| 小腿发凉是什么原因造成的| 血糖挂什么科| 马为什么站着睡觉| 子宫钙化灶是什么意思| 尿不尽挂什么科| 子欲养而亲不待什么意思| cmn是什么意思| 拔了牙可以吃什么| 八段锦什么时间练最好| 脚痒用什么药膏最有效| 月经推后是什么原因| dunk是什么意思| 乙肝第二针最晚什么时候打| 血脂高能吃什么水果| 蜱虫长什么样| u是什么元素| 点痣用什么方法最好| 没精打采是什么意思| 32属什么生肖| 金黄色葡萄球菌是什么| 陛下的陛是什么意思| 煤气罐为什么会爆炸| 石青色是什么颜色| 为什么会低血糖| 胸围85是什么罩杯| 地铁和高铁有什么区别| 贫血是什么意思| 割包皮有什么用| 三千烦恼丝什么意思| 判处死刑缓期二年执行是什么意思| 梦见梯子是什么意思| u型枕有什么作用| 12月8号什么星座| 堂号是什么意思| 这是什么皮肤病| 早孕试纸什么时候测最准确| 女人消瘦应该检查什么| 松石绿是什么颜色| 孕妇补铁吃什么| 晕厥是什么意思| mra是什么意思| 肠炎吃什么好| 备皮什么意思| 满月针最晚什么时候打| 对峙是什么意思| 以马内利什么意思| 五月十九日是什么星座| 吃什么长高| 叼是什么意思| tfcc是什么| 头晕恶心想吐吃什么药| 三伏天吃什么对身体好| 晚上睡觉脚抽筋是什么原因引起的| 恐龙为什么叫恐龙| 说三道四的意思是什么| 什么水果吃了对皮肤好| 栋梁之材是什么意思| 拉肚子看什么科| 骨质增生什么意思| 6个月宝宝可以吃什么辅食| 健康证都检查什么项目| 生津止渴是什么意思| 尿液检查能查出什么病| 天天都需要你爱是什么歌| 喜欢吃肉的动物是什么生肖| 背水一战什么意思| 小康生活的标准是什么| 做水果捞用什么酸奶好| 头疼是什么引起的| 狗狗发烧吃什么药| 先天性心脏病是什么原因造成的| 身不由己是什么生肖| 胆红素高是怎么回事有什么危害| 昆仑玉什么颜色最贵| 喝什么酒对身体好| 噩梦是什么意思| 嘴唇上起泡是什么原因| 总爱放屁是什么原因| 嘴下面起痘是什么原因| 什么东西软化鱼刺最快| 1970年五行属什么| 后背不舒服是什么原因| 你是什么意思| 腿弯后面疼是什么原因| 什么是成熟| 提拉米苏是什么| 1997年属牛是什么命| c2能开什么车| 胃疼什么症状| 手脚热是什么原因| 为什么小腿会抽筋| 梦见很多小孩是什么意思| 扩心病是什么病| 荧惑守心是什么意思| 结扎挂什么科| 女人代谢慢吃什么效果最快| 大便黑绿色是什么原因| 梦到自己生病了什么意思| CHANDO是什么牌子的化妆品| 李白属什么生肖的| 为什么喉咙总感觉有东西堵着| 四肢麻木是什么病| 传染性单核细胞增多症是什么病| 沉香有什么作用与功效| 母亲节送妈妈什么礼物好| 肠粉是什么做的| 弯弯的月儿像什么| 什么样的星星| 拔牙后吃什么| 老公生日送什么礼物好最合适| 吃瓜什么意思| 夏天白鸽煲什么汤最好| 打灰是什么意思| 2013年五行属什么| 脱脂乳粉是什么| 什么叫安全期| 糖尿病的诊断标准是什么| 调理神经吃什么药好| rog是什么牌子| 男生腿毛旺盛说明什么| 又什么又什么的花| 咽隐窝在什么位置| 呃呃是什么意思| 咳嗽吃什么食物| 治疗梅毒用什么药最好| 消化不良吃什么水果好| 血管瘤有什么危害吗| 早晨起来口苦是什么原因| 定坤丹适合什么人吃| 声东击西什么意思| 男性内分泌失调有什么症状| ivf是什么意思| 为伊消得人憔悴什么意思| 腹腔肠系膜淋巴结是什么病| 土鳖虫吃什么| 有什么含义| 味淋是什么调料| 乳果糖是什么| 吃什么不容易怀孕| 唇炎抹什么药膏最有效| 化疗后骨髓抑制是什么意思| 兴奋是什么意思| 什么样的充电宝不能带上飞机| 监督是什么意思| 玻璃是什么垃圾| 益生菌治什么病| 现在开什么实体店赚钱| 性功能下降吃什么药好| 手腕痛什么原因| 旭日阳刚为什么不火了| 拉肚子吃什么药好得快| 男性做彩超要检查什么| 社保基金是什么| ml是什么| 为什么胸部会胀痛| 肌酐高吃什么中药| 北京的市花是什么花| 二月春风似剪刀的上一句是什么| 直肠炎用什么药效果最好| 吃什么食物对心脏有好处| 猝死是什么原因造成的| 杏林是指什么| 膝盖咔咔响吃什么药| 04年出生属什么| a03是什么| 胶囊壳是什么原料做的| 帕斯是什么意思| 老年人打嗝不止是什么原因| 凝聚力是什么意思| 结核t细胞阳性说明什么| 牛仔是什么面料| 痔疮是什么| 晚上八点半是什么时辰| 输卵管堵塞是什么原因| 卵巢低回声是什么意思| 牛头人是什么意思| 国窖1573是什么香型| 卡针是什么| 小孩反复发烧是什么原因引起的| 畏寒怕冷是什么原因| 百草枯什么味道| 妇乐颗粒的功效能治什么病| 贫血吃什么| 8月17号是什么星座| 石敢当是什么神仙| 什么叫骨质增生| 2028年是什么年| 来大姨妈可以吃什么水果| 三七植物长什么样子| 测测你天生靠什么吃饭| 紫米和黑米有什么区别| 爬行对身体有什么好处| 干眼症有什么症状| 洋葱对肝脏有什么好处| 三尖瓣少量反流是什么意思| 早上醒来嘴苦是什么原因| 0.5什么意思| 胃痉挛是什么症状| 酉时五行属什么| 数农是什么| 转音是什么意思| 白内障的症状是什么| 37岁属什么的生肖| 甲状腺是什么功能| 什么星座最花心| 梦见生了个儿子是什么意思| 如何查自己是什么命格| 驻马店有什么大学| 狼吞虎咽的意思是什么| ufo是什么| sz是什么意思| 维c之王是什么水果| 鸡茸是什么东西| 薄熙来犯了什么罪| 重色轻友什么意思| 强肉弱食是什么意思| 双子座和什么座最不配| 虚火旺吃什么去火最快| 温良是什么意思| 肚子疼什么原因| 出淤泥而不染是什么意思| 自动化是干什么的| 胆囊小是什么原因| oct是什么| 为什么头发突然秃了一块| 杏林是什么意思| 手肿脚肿是什么原因引起的| 不解什么| p.a.是什么意思| 苹果什么时候吃最好| 梦见被熊追是什么意思| 饭前吃药和饭后吃药有什么区别| 五月十七号是什么星座| 监视居住是什么意思| 沅字的寓意是什么| 学习是什么| 马为什么不怕蛇毒| 今天属相是什么生肖| 西安古代叫什么名字| 家里进蝴蝶有什么预兆| 肠胃炎需要做什么检查| tj什么意思| 黄丫头是什么鱼| 不良反应是什么意思| 员外是什么生肖| 什么样的女人不能娶| 唾液酸偏低意味什么| ITIB跟薇娅什么关系| 春天都开什么花| 为什么会磨牙| 莫名其妙的名是什么意思| 吃金针菇有什么好处| 抽筋是缺什么| none是什么意思| 什么入什么出| 心脏大是什么原因| 一身傲骨是什么意思| 做梦孩子死了什么预兆| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 企业专区 ? TI ? 最终课程设计——温度报警与显示

共2条 1/1 1 跳转至

最终课程设计——温度报警与显示

助工
2025-08-04 22:05:54     打赏
百度 当然,在这一过程中,中国与一些国家围绕南海问题的外交和战略博弈中所取得的一个又一个胜利,也增强了中国掌控南海问题未来走势的信心。

微信图片_20240715221024.jpg通过课程的学习,完成了前期的数码管的驱动以及DS18B20的通信,最终的设计就是在课程的基础上编写了一个简单的逻辑,加上了对温度的判断和蜂鸣器的开关。

以下的部分主要代码:

DS18B20代码:

#include "ti_msp_dl_config.h"
#include "bsp18B20.h"
#include "bspRGB.h"


#define DS18B20_DQ_OUTH DL_GPIO_setPins(GPIOA_HC595_PORT, GPIOA_HC595_DS18B20_DQ_PIN)
#define DS18B20_DQ_OUTL DL_GPIO_clearPins(GPIOA_HC595_PORT, GPIOA_HC595_DS18B20_DQ_PIN)
#define DS18B20_DQ_READ DL_GPIO_readPins(GPIOA_HC595_PORT, GPIOA_HC595_DS18B20_DQ_PIN)

#define DS18B20_DQ_IN DL_GPIO_initDigitalInput(GPIOA_HC595_DS18B20_DQ_IOMUX);DL_GPIO_disableOutput(GPIOA_HC595_PORT, GPIOA_HC595_DS18B20_DQ_PIN)
#define DS18B20_DQ_OUT DL_GPIO_initDigitalOutput(GPIOA_HC595_DS18B20_DQ_IOMUX);DL_GPIO_enableOutput(GPIOA_HC595_PORT, GPIOA_HC595_DS18B20_DQ_PIN)



#define delay_us_cycle   32

/* 延时函数 */
void inline delay_us(uint16_t us)
{
    do{
        delay_cycles(delay_us_cycle);
    }while (us --);
}

/* 复位芯片 */
static void DS18B20_Rst(void)
{
    DS18B20_DQ_OUT;
    DS18B20_DQ_OUTL;    /* 拉低DQ,复位 */
    delay_us(750);      /* 拉低750us */
    DS18B20_DQ_OUTH;    /* DQ=1, 释放复位 */
    delay_us(15);       /* 延迟15US */
}
/* 检查总线上是否存在温度芯片 */
uint8_t DS18B20_Check(void)
{
  uint8_t retry = 0;
  DS18B20_DQ_IN;
  while (DS18B20_DQ_READ && retry < 200)
  {
    retry++;
    delay_us(1);
  };
  if (retry >= 200)
    return 1;
  else
    retry = 0;
  while (!DS18B20_DQ_READ && retry < 240)
  {
    retry++;
    delay_us(1);
  };
  if (retry >= 240)
    return 1;
  return 0;
}
/* 芯片初始化 */
uint8_t DS18B20_Init(void)
{
  DS18B20_Rst();
  return DS18B20_Check();
}
/* 读取单bit数据 */
uint8_t DS18B20_Read_Bit(void) // read one bit
{
  DS18B20_DQ_OUT;
  uint8_t data;
  DS18B20_DQ_OUTL;
  delay_cycles(2 * 32);
  DS18B20_DQ_OUTH;
  delay_cycles(12 * 32);
  DS18B20_DQ_IN;
  if (DS18B20_DQ_READ)
    data = 1;
  else
    data = 0;
  delay_cycles(50 * 32);
  return data;
}
/* 读取一字节数据 */
uint8_t DS18B20_Read_Byte(void) // read one byte
{
  uint8_t i, j, dat;
  dat = 0;
  for (i = 1; i <= 8; i++)
  {
    j = DS18B20_Read_Bit();
    dat = (j << 7) | (dat >> 1);
  }
  return dat;
}
/* 写入一字节数据 */
void DS18B20_Write_Byte(uint8_t dat)
{
  uint8_t j;
  uint8_t testb;
  DS18B20_DQ_OUT;
  for (j = 1; j <= 8; j++)
  {
    testb = dat & 0x01;
    dat = dat >> 1;
    if (testb)
    {
      DS18B20_DQ_OUTL; // Write 1
    //   delay_cycles(2 * 32);
      delay_us(2);
      DS18B20_DQ_OUTH;
    //   delay_cycles(60 * 32);
      delay_us(60);
    }
    else
    {
      DS18B20_DQ_OUTL; // Write 0
    //   delay_cycles(60 * 32);
      delay_us(60);
      DS18B20_DQ_OUTH;
    //   delay_cycles(2 * 32);
      delay_us(12);
    }
  }
}
/* 启动芯片 */
void DS18B20_Start(void) // ds1820 start convert
{
  DS18B20_Rst();
  DS18B20_Check();
  DS18B20_Write_Byte(0xcc); // skip rom
  DS18B20_Write_Byte(0x44); // convert
}

float DS18B20_Get_Temp(void)
{
  uint8_t temp;
  uint8_t TL, TH;
  int16_t tem;
  float fValue = 0.0;
  DS18B20_Start(); // ds1820 start convert
  DS18B20_Rst();
  DS18B20_Check();
  DS18B20_Write_Byte(0xcc); // skip rom
  DS18B20_Write_Byte(0xbe); // convert
  TL = DS18B20_Read_Byte(); // LSB
  TH = DS18B20_Read_Byte(); // MSB

  if (TH > 7)
  {
    TH = ~TH;
    TL = ~TL;
    temp = 0; // 温度为负
  }
  else
    temp = 1; // 温度为正
  tem = TH;   // 获得高八位
  tem <<= 8;
  tem += TL;                // 获得底八位
  fValue = (float)tem * 0.0625; // 转换
  if (temp)
    return fValue; // 返回温度值
  else
    return -fValue;
}
数码管的显示与报警的判断:
#include "ti_msp_dl_config.h"
#include "bspRGB.h"
#include "bsp18B20.h"


#if 0
void RgbFlowLED(void)
{
    RGB_BLUE;
    DELAY;
    RGB_GREEN;
    DELAY;
    RGB_RED;
    DELAY;
}
#endif


uint16_t tempval =0 ;
uint8_t TimerCnt = 0 ;

unsigned char Disp_DX[16] ={ 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x8C, 0xBF, 0xC6, 0xA1, 0x86, 0xFF };
unsigned char Disp_PX[8] = {1,2,3,4,5,6,7,8};

#define HC595_DAT(x) ((x)?(DL_GPIO_setPins(GPIOA_HC595_PORT,GPIOA_HC595_HC595_DAT_PIN)) : (DL_GPIO_clearPins(GPIOA_HC595_PORT,GPIOA_HC595_HC595_DAT_PIN)))
#define HC595_CLK(x) ((x)?(DL_GPIO_setPins(GPIOA_HC595_PORT,GPIOA_HC595_HC595_SLK_PIN)) : (DL_GPIO_clearPins(GPIOA_HC595_PORT,GPIOA_HC595_HC595_SLK_PIN)))
#define HC595_RCK(x) ((x)?(DL_GPIO_setPins(GPIOA_HC595_PORT,GPIOA_HC595_HC595_RLK_PIN)) : (DL_GPIO_clearPins(GPIOA_HC595_PORT,GPIOA_HC595_HC595_RLK_PIN)))

#define BeepON  DL_GPIO_clearPins(GPIOA_HC595_PORT, GPIOA_HC595_GPIO_BEEP_PIN);
#define BeepOFF DL_GPIO_setPins(GPIOA_HC595_PORT, GPIOA_HC595_GPIO_BEEP_PIN);



void Display_0ut()
{
HC595_RCK(0);
delay_cycles(32);
HC595_RCK(1);
delay_cycles(32);
}

void HC595_WriteData(unsigned char data)
{
unsigned char i;
for(i=0;i<8;i++)
{
if(data & 0x80)
{
HC595_DAT(1);
}
else
{
HC595_DAT(0);
}
data <<= 1;
HC595_CLK(0);
delay_cycles(32);
HC595_CLK(1);
delay_cycles(32);
}
}

void HC595_Send_Data(uint8_t dis_num,uint8_t dis_bit)

{
HC595_WriteData(dis_num);
HC595_WriteData(1<<dis_bit);
Display_0ut();

}


void Disp_Data(uint16_t u16DataH)
{
    uint16_t templ,tempH;
    uint8_t num_q,num_b,num_s,num_g;

    tempH = u16DataH;
    num_q = tempH/1000;
    num_b = tempH/100%10;
    num_s = tempH/10%10;
    num_g = tempH%10;
    HC595_Send_Data(Disp_DX[num_q],7);
    HC595_Send_Data(Disp_DX[num_b],6);
    HC595_Send_Data(Disp_DX[num_s],5);
    HC595_Send_Data(Disp_DX[num_g],4);
}

void TIMER_0_INST_IRQHandler(void)
{
switch(DL_TimerG_getPendingInterrupt(TIMER_0_INST))

    {

    case DL_TIMER_IIDX_ZERO:

        TimerCnt++;

        if(TimerCnt >=100)

        {

            TimerCnt=0;
            tempval = DS18B20_Get_Temp();//温度数据一秒读取一次

            if(tempval > 30)
            {
            BeepON;
            }
            else
            {
            BeepOFF;
            }

        }

        break;

    default:

        break;
    }
}
主函数:
#include <ti/driverlib/m0p/dl_interrupt.h>
#include "ti_msp_dl_config.h"
#include "bspRGB.h"

extern uint16_t tempval;

int main(void)
{
    SYSCFG_DL_init();
    NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);

    while (1)
    {

    Disp_Data(456);
    }
}





关键词: 课程设计    

专家
2025-08-04 08:23:13     打赏
2楼

谢谢分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
杜甫被称为什么 糖醋排骨用什么醋好吃 prl是什么激素 嘴唇上长水泡是什么原因 偷窥是什么意思
金牛座是什么性格 乙肝五项135阳性是什么意思 心律失常吃什么药 贫血的人来姨妈会有什么症状 头小脸小适合什么发型
宝宝拉肚子吃什么 打马虎眼是什么意思 什么油锯好 鲈鱼吃什么 头顶秃了一小块是什么原因怎么办
blood什么意思 烤鸭为什么那么便宜 亡羊补牢的亡是什么意思 硫酸羟氯喹片是治什么病 大山羊是什么病
骨质增生是什么症状hcv7jop6ns9r.cn 部级是什么级别hcv9jop1ns7r.cn 嘴巴里发苦是什么原因hcv8jop9ns2r.cn 减肥期间可以吃什么水果shenchushe.com 猫抓病是什么病hcv8jop5ns6r.cn
过氧化氢阳性什么意思hcv8jop7ns8r.cn 仓鼠喜欢吃什么hcv7jop9ns1r.cn air是什么意思hcv8jop3ns0r.cn 做彩超挂什么科hcv8jop4ns4r.cn 抹茶是什么茶叶做的hcv8jop0ns0r.cn
炮灰是什么意思naasee.com 粉刺是什么东西hcv9jop6ns0r.cn 无药可救是什么意思hcv9jop8ns2r.cn a型和o型生的孩子是什么血型hcv8jop0ns8r.cn 腹茧症是什么病bjhyzcsm.com
脚气脱皮用什么药最好hcv9jop5ns9r.cn 吃什么可以自然掉体毛hcv8jop2ns4r.cn 阴道炎应该吃什么药hcv9jop3ns4r.cn 今天的日子适合做什么hcv8jop9ns5r.cn 尾椎骨疼痛是什么原因hcv8jop2ns7r.cn
百度