minchaobo 发表于 2013-8-27 16:42:23

遇到一个诡异的问题!!求大神(51单片机驱动12864LCD)

本帖最后由 minchaobo 于 2013-8-27 20:47 编辑

利用51单片机驱动12864LCD。附件为程序代码,利用KEIL V3,C语言编译。
程序中有三个C文件:一个是main.c,主要是主函数;第二个是uart.c,串口的函数;第三个是LCD.c,是LCD驱动的一些函数。
问题是这样:
若去掉LCD.c,只编译main.c和uart.c,串口调试是OK的;
若编译三个C文件,LCD可以驱动的很好,但串口调不通,进不了串口中断,即使不调用任何LCD.c中的函数,串口也不通,进不了串口中断;
但如果去掉LCD.c中的随机数发生函数 randmaker(),以及write_dat和write_cmd之一,串口就可以通。

问题如上所述,附件中为代码源程序。
鄙人水平太低,实在整不明白错在哪,请高手指点!!!!!!

若你们手头有单片机板子可以跑一下附件中的程序,看看串口是否有如我所述的问题。

wangyy@dianzi 发表于 2013-8-27 17:47:32

传上来源程序,不要改动,不知道你主程序里想写什么,乱七八糟

lxa0 发表于 2013-8-27 20:11:41

按汇编语言的思路:
1.初始化代码
2.主程序
3.显示子程序
4.串口通讯子程序

minchaobo 发表于 2013-8-27 20:40:46

wangyy@dianzi 发表于 2013-8-27 17:47 static/image/common/back.gif
传上来源程序,不要改动,不知道你主程序里想写什么,乱七八糟

注释掉的那部分是LCD驱动的程序,不用管,只管没注释的就行。觉得乱七八糟是不是没看懂?
页: [1]
查看完整版本: 遇到一个诡异的问题!!求大神(51单片机驱动12864LCD)