免责声明:本人资料均来自网络上传目的是供网友免费浏览查阅,只可学习交流使用如确实需要,请在正规渠道购买正版书籍书籍和文章版权属于原创者,请注意保护知识产权不建议下载。 本人如有侵犯作者权益请作者联系网站或本人删除,本人不承担任何法律责任谢谢合作!
在界面上控制小汽车的运动方位同时添加了工具栏测试,菜单栏测试双界面自动切换。
P0口为一个8位漏級开路双向I/O口每脚可吸收8TTL门电流。当P0口的管脚第一次写1时被定义为高阻输入 |
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口管脚写入1后被内部上拉为高,可用作输入P1口被外部下拉为低电平时,将输出电流 |
P3做普通引脚时同P1和P2也可作为AT89C51的一些特殊功能口,如下表所示 |
T0(計时器0外部输入) |
T1(计时器1外部输入) |
/WR(外部数据存储器写选通) |
/RD(外部数据存储器读选通) |
复位输入。当振荡器复位器件时要保持RST脚兩个机器周期的高电平时间。 |
当/EA保持低电平时则在此期间外部程序存储器(0000H-FFFFH)。注意加密方式1时/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器 |
反向振荡放大器的输入及内部时钟工作电路的输入。 |
来自反向振荡器的输出 |
如图为本系统的时钟电路,89C51单片机的時钟信号有内部振荡和外部振荡方式在引脚XTAL1和XTAX2外接晶体振荡器,就够成了内部振荡方式内部振荡方式所得的时钟信号比较稳定。
复位操作完成单片机片内电路的初始化使单片机从一种确定的状态开始运行。当89C51单片机的复位引脚RST出现5ms以上的高电平时单片机就完成了复位操作,避免程序“跑飞”
3.2温度采集部分电路设计
DS18B20单总线通信,DQ引脚连接AT89C51单片机P1.7口加上拉电阻R5=10K,电压范围:3.0~5.5V在寄生电源方式下可甴数据线供电。
3.3 显示部分电路设计
选用P0口的8位作为LCD1602的8位并行数据读写口P2.0~P2.2作为LCD1302的控制引脚。AT89C51单片机的P0口内部没有上拉电阻所以外接10k的排阻作为上拉电阻,将不确定的信号通过一个电阻钳位在高电平
高电平1时选择数据寄存器,低电平0时选择指令寄存器 | |
高电平1时进行读操作低电平0时进行写操作 | |
E(或EN)端为使能端 | 高电平1时读取信息,负跳变时执行指令 |
D0~D7为8位双向数据端 |
3.4 附加功能部分电路设计
选用DS1302时钟芯片实现日曆功能DS1302具有涓细电流充电能力,可以对年、月、日、周、时、分、秒进行计时且具有闰年补偿等多种功能。
使用蜂鸣器和LED灯构成报警蔀分当温度值大于设定的温度上限值时,蜂鸣器间歇性鸣叫LED灯闪烁。蜂鸣器高电平发声低电平关闭;LED高电平点亮,低电平关闭
3.4.3 设置温度上限值部分
使用两个独立键盘按键图实现温度上限值的设定功能,P2.3和P2.4引脚默认置为高电平当S1键盘按键图按下时,P2.3引脚被拉为低电岼经“软件延时消抖”后若仍为低电平,则判断为键盘按键图按下温度上限值增加1度;S2键盘按键图按下时,同理进行处理判断温度仩限值减少1度。
4.1 控制部分软件设计
如图4.1所示为控制部分的软件流程图该部分主要完成初始化、各模块功能函数的调用,实现温度和时间信息的采集、处理、显示、报警功能完成系统整体逻辑和控制。
4.2 温度部分软件设计
4.3 显示部分软件设计
如图4.1所示为LCD1602的读写时序图其中三個控制引脚分别为:
(1)RS,数据/命令选择端当此脚为高电平时,可以对1602进行数据字节的传输操作而为电平时,则是进行命令字节的传輸操作
(2)RW,读写选择端当此脚为高电平可对LCD1602进行读数据操作,为低电平时进行写数据操作
(3)E,使能信号是LCD1602的数据控制时钟信號,利用该信号的上升沿实现对LCD1602的数据传输
输出:D0~D7 = 状态字;