最新日志

发表于:2008-7-8 21:28:19
标签:单片机  编译出错  头文件  未定义  

1

在学习匠人的流水灯程序时的收获(高手勿进)

今天将匠人的流水灯实验程序下载了,打算看看实际效果。用的medwin3.装了keil8.12,将编译路径设置好,复制程序,建立项目。编译时出错!

出错提示如下:

 ============================= 编 译 / 汇 编 =============================
  编译/汇编文件: "E:\WorkDir\jr_LED\JRLED.c"
   <编译命令行> C:\Keil\C51\BIN\C51.exe JRLED.c DB OE OPTIMIZE(3,SPEED) WARNINGLEVEL(0)
   <编译器提示> C51 COMPILER V8.12 - SN: K1CMC-BKSCXC
   <编译器提示> COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2008
   <编译器提示> C51 COMPILATION COMPLETE.  0 WARNING(S),  16 ERROR(S)
      ERROR C202 IN LINE 128 OF JRLED.C: 'P0_0': undefined identifier
      ERROR C202 IN LINE 128 OF JRLED.C: 'P0_0': undefined identifier
      ERROR C202 IN LINE 129 OF JRLED.C: 'P0_1': undefined identifier
      ERROR C202 IN LINE 129 OF JRLED.C: 'P0_1': undefined identifier
      ERROR C202 IN LINE 130 OF JRLED.C: 'P0_2': undefined identifier
      ERROR C202 IN LINE 130 OF JRLED.C: 'P0_2': undefined identifier
      ERROR C202 IN LINE 131 OF JRLED.C: 'P0_3': undefined identifier
      ERROR C202 IN LINE 131 OF JRLED.C: 'P0_3': undefined identifier
      ERROR C202 IN LINE 132 OF JRLED.C: 'P0_4': undefined identifier
      ERROR C202 IN LINE 132 OF JRLED.C: 'P0_4': undefined identifier
      ERROR C202 IN LINE 133 OF JRLED.C: 'P0_5': undefined identifier
      ERROR C202 IN LINE 133 OF JRLED.C: 'P0_5': undefined identifier
      ERROR C202 IN LINE 134 OF JRLED.C: 'P0_6': undefined identifier
      ERROR C202 IN LINE 134 OF JRLED.C: 'P0_6': undefined identifier
      ERROR C202 IN LINE 135 OF JRLED.C: 'P0_7': undefined identifier
      ERROR C202 IN LINE 135 OF JRLED.C: 'P0_7': undefined identifier
   <MedWin提示> 编译/汇编过程中发现错误。

显示没定义,奇怪了,以前没有碰见过这种情况。将程序复制到keil建立的项目中,依然是没有定义。将“undefined identifier”做关键词在百度中搜索,网友提示看看头文件里的定义,在keil的inc文件夹的atmel文件夹中打开头文件,定义正常。回到medwin3,在项目属性中查看,在C语言标签栏中,头文件的路径没有定义,将头文件路径添加后再次编译,正常。

分析出错原因,头文件的路径在没有定义时是系统默认的根目录,而在我的电脑上不是,所以提示没有定义。猜测另一种解决办法是将头文件拷贝到根目录,没有尝试,只是猜测。不过前面的方法切实可行。

 ============================= 编 译 / 汇 编 =============================
  编译/汇编文件: "E:\WorkDir\jr_LED\JRLED.c"
   <编译命令行> C:\Keil\C51\BIN\C51.exe JRLED.c DB OE OPTIMIZE(3,SPEED) WARNINGLEVEL(0) INCDIR(C:\Keil\C51\INC\Atmel\)
   <编译器提示> C51 COMPILER V8.12 - SN: K1CMC-BKSCXC
   <编译器提示> COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2008
   <编译器提示> C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

  ============================= 产 生 代 码 =============================
   正在编译文件: "E:\WorkDir\jr_LED\JRLED.c"...
      <编译器提示> 编译完成!
   正在连接项目: "jr_LED"...
      <连接命令行> C:\Keil\C51\BIN\BL51.EXE JRLED.obj TO jr_LED.omf  RAMSIZE(128)
      <连接器提示> BL51 BANKED LINKER/LOCATER V6.11 - SN: K1CMC-BKSCXC
      <连接器提示> COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2007
      <连接器提示> Program Size: data="28".0 xdata="0" code="251"
      <连接器提示> LINK/LOCATE RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)
   正在生成代码输出文件...
      <代码输出提示> 代码文件输出到: "E:\WorkDir\jr_LED\Output\jr_LED.hex"。

将程序烧进单片机,通电。好了。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(51)
发表于:2008-3-20 0:21:08
标签:1602  Proteus  

0

EDN51学习板1602显示屏在Proteus中的仿真

最近一直在学习1602显示模块和Proteus,今天忽然有在Proteus中仿真51学习板上的1602模块的想法。开始将显示的所有模块都画好,发现竟然不能正常运行,怕是老问题,只好一个一个减少来查,最后竟然剩下最简的电路,晕倒!不过终于可以在电脑上仿真了,不用整天带着板子到处跑了。那些没有领到板子的人也可以先尝试一下,我会在随后的时间里将整个学习板上的功能模块分别都在Proteus中仿真,当然,如果有能力我会做一个整体的仿真。如果哪个朋友也在做,欢迎讨论指正。

解压缩后直接运行EDN01就行了,程序是用medwin编译的,不过要安装keil的库。也可以在解压文件夹中的\程序\1602d\Output文件夹中直接安装编译好的文件。proteus使用方法在网上自己找。

rar

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(270)
发表于:2007-9-28 23:06:05
标签:单片机  程序  学习  

0

工艺差导致问题层出不穷

从事现在的工作马上就要一年了。(我是个仪器调试员)我看到的都是让人痛心疾首的事。也许是我年轻冲动太傻太单纯,但是这世界真的就是如此的浮躁吗?!现在的公司管理混乱,员工对工作都不怎么上心。产品也是迟迟不能定型。好多次,线走反了,接线柱没拧紧,焊接时虚焊,元器件用错,返工粗心导致焊盘掉落,板子飞线后不重新设计PCB,导线掉到板子上导致意外短路,测试时信号加错烧机,搬运时乱扔乱放外壳刮伤。。。。。。太多了,都要记不清了。这还是个公司吗?!要知道为我们是搞电力仪器设备的啊。老总每天不是盯着员工有没有偷懒就是想方设法偷工减料。从来就不去想想怎样把产品做好,不过估计他也没有想这么多,他就是想赚一个是一个,能骗就不要去努力。这一年的工作让我看到希望和失望。希望是我们的设计已经有起色,失望的是我们的态度和工艺。如果我们的标准能更好,态度能端正,也许我们不再是世界工厂,而是世界设计师!写下这段话,提醒自己不要忘了理想。我行走在黑暗中,只是为了寻找光明。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(615)
总共 , 当前 /