1 仿真实验环境 1
1 采用 Proteu s6_9_SP5 实现单片机及外围器件的仿真 如图: 1
2 使用Keil u Vision3 编写本日历程序(C 语言) 如图: 1 2 原理图 2 2
1 各部分功能实现: 1
以AT89C52 作为控制核心,通过P0 口连接LM016L 液晶的并行数据输入/输出端进行显示数据以及命令的发送与接收
1 和 P2
2 分别连接液晶的数据/命令选择端、读/写控制以及使能端
通过对这三个端口的操作,来实现液晶的正确显示
DS18B20 数字温度传感器以单总线的方式连接到 P2
3 口,通过正确的时序操作,与单片机进行双向通信,把温度值以串行数字形式发送给单片机
再正确显示在 LCD 上
LED 灯连接P2
4 口,在相应的时间或温度触发下通过电平的高低变化闪烁
单片机的P2
7 分别连接DS1302 时钟芯片的复位端、时钟信号以及I/O 端
在相应时序信号的控制下,读出芯片中的内容,并显示在 LCD 上
该日历的功能操作通过连接在 P3
3 的四个按键实现,四个按键分别为:进入/退出模式键、功能选择键、时加/温度加一键、分加/温度减一键
因为P0 口没有上拉电阻,所以加了排阻
3 3 程序分析及代码 3
1 程序分析: 3
1 程序的优点: 1
以模块化的形式把程序分为若干个独立部分
在程序中使用了指针、数组、函数等结合的方法,简化了部分程序
程序中首次使用了二维字符数组的相关操作
2 程序的缺点: 1
程序总体上写的不够简练
程序的部分功能操作麻烦,如调时或闹钟设置时对时、分的操作只能加
程序的稳定性有待于提高
过多的变量、标志位的定义降低了程序的可读性
3 总结: 通