老师在讲解时用的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("游戏结束,不玩啦")