上位机-心得体会

文章讲述了作者使用STM32F103RCT6单片机替代51单片机进行温度监控,通过DHT11传感器获取数据。系统设定定时器每1秒获取温度并与预设范围比较。同时,文中还展示了一个简单的猜数字游戏的实现,通过用户输入与随机生成的数字进行比较,直到猜中为止。
摘要由CSDN通过智能技术生成

老师在讲解时用的51系列单片机,但是我个人使用了STM32F1系列单片机,原因是因为上课时发现我的51串口发送部分仅仅是发送数字都不正确,经老师查阅也未出结果,最后决定改用STM32F103RCT6。

温度传感器使用的是 DHT11 ,因为之前做过并留有可用程序,所以图方便直接使用了。

设计代码思路

   要实现实时显示先要放置一个定时器

并且当软化打开时定时器自动打开,可以设置定时每隔1秒触发一次Tick事件

然后在Tick事件中判断是否打开串口,若是打开串口就向下位机发送获取温度,并获取温度的返回值,再将获取的温度与设置的温度上下限比较做出提醒。

 从主函数看,USART1_Init(9600)是串口1初始化,波特率9600.

然后是LED、延时  、 电机初始化。

循环里的是主要功能判断函数。

那三个初始化只是配置对应端口,串口初始化也是固定流程,无特殊改动。

串口接收解析较长,总之是跟上位机接收部分相同,一帧一帧判断,然后保存数据设置对应标志。

print("…………猜数字游戏…………")

temp = input("不妨猜一下心里想的是哪个数字:")
guess = int(temp)
while guess != 8:
    if guess > 8:
        print ('大了')
        temp = input ('重新输入:')
        guess = int (temp)
    else:
        print ('小了')
        temp = input ('重新输入:')
        guess = int (temp)
print("卧槽,你是我心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")

print("游戏结束,不玩啦")

2.随机生成数字

import random
result = random.randint (1,10)
print("…………猜数字游戏…………")
temp = input("不妨猜一下心里想的是哪个数字:")
guess = int(temp)
while guess != result:
    if guess > result:
        print ('大了')
        temp = input ('重新输入:')
        guess = int (temp)
    else:
        print ('小了')
        temp = input ('重新输入:')
        guess = int (temp)
print("你是我心里的蛔虫吗?!")
print("猜中了也没有奖励!")
print("游戏结束,不玩啦")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值