📄 readme.txt
字号:
这是本人单片机系统设计课程的作业,功能为菜单化操作12864屏显示当前时间与温度,扩展功能为控制12864以指针式时钟方式显示时间,已通过测试,运行正常。
由于系统中使用了8255(可编程并行口扩展芯片,老师说老掉牙了...)因此程序在移植上涉及到IO口操作的地方要稍加改动,也就是类似将W_8255(0x01,1); //PC.0置1,改成直接赋值例如P1.0=1;而已。在实验数据中我附加了8255C的资料方便大家修改...
程序涉及到的芯片有8255C,ds1302,AT12864,ds1820和x5045
亮点在于12864屏的指针式时钟,有人提出存储所有可能的指针位置,算下来108MB...该系统的MCU是AT89S52,明显不可能..因此用的是实时画线的方式,其中指针坐标终点用自动画圆确定1/60坐标的方法指针长度参差不齐,非常难看..12864屏本来像素就很粗,因此本人是用手动描点逐个描出坐标的,180个啊...-_-...具体可参照工程中的实验数据,算法上也就是检测DS1302,一旦秒+1就清半屏再实时画3根线(时,分,秒)。最后的指针我为了测试其显示速度,就每次都连着边框一起画,所以显示速度上可能有些慢...
所有的初始化都放在initial.c中了,各模块引脚占用的IO口都有详细注释,觉得麻烦就请将相关定义及声明独立保存为.h文件。
整个工程中DS1820温度检测和X5045的读写完成了,而且同样通过测试,但在程序中我未加以调用。
其中的ZQ数组大家可以加入128*64的单色位图(去掉文件头)作为开机画面,我将自己做的画面删除并全部填黑了(填满0xFF)...
关于线路方面,12864采用的是并行接口,键盘是74LS164发扫描字单片机读的方式。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -