当初本科的毕业设计不是很完美,一直想把它完善一下,这学期刚开始有点时间,就以一个小项目的方式,综合自己这一年多来的代码阅读收获,重写了这个工程。
一,平台的重新搭建
Ø 在win7上重新安装了proteus7.8用于仿真阶段的测试,并从以前的资料中找到了仿真模型;
Ø 为了生成单片机可执行文件,选择使用了Ubuntu系统下的sdcc编译器,安装使用都很简单(想多在Ubuntu下进行编程),参考http://blog.youkuaiyun.com/adam_embedded/article/details/45310325;
Ø 字模提取软件,用于各种字符码的提取;
二,仿真代码重写
Ø 仿照之前见过的比较系统的工程目录,创建了自己的工程目录:
Ø 模仿C++类的方式,按照不同的功能,将之前冗杂的单个工程文件分成了几个分开的功能文件:
Ø 每个.c实现不同类的功能:
keyboard_function:
lcd_function:
core_function:
三,实验效果
完成了相加,相乘,求模,求转置的功能,求逆运算因为会牵扯到小数运算和显示,并未将其放入该工程,以下是主要的显示效果:
四,项目缺陷
Ø 由于屏幕尺寸问题,局限在3*3的矩阵计算上;
Ø 没有删除错误输入的清除功能(待实现);
Ø 较小的RAM使得很容易内存不足,程序编写受到限制(待配合硬件加入外部存储器);
Ø 单循环机制,没有有效的使用中断来避免各种意外情况(待将键盘扫面、功能选择等函数写入中断函数);
2018.3.15