hfjzy0702

    1. 多谢分享,找了很久了
    2. 顾卫钢老师的《手把手教你学DSP》 16/8841 微控制器 MCU 2014-07-06
      多谢楼主分享
    3. 51汇编与C全面周立功 28/7432 51单片机 2013-12-13
      第二个问题,我试了一下,好像也能通过。我也考虑过软件版本的问题,我之前就装了Uv2的版本。不过你说的先要用个重定位函数,可能也有点关系。提示一个*** WARNING L15: MULTIPLE CALL TO FUNCTION。  这个警告无关紧要,一个重复调用的警告,跟bcdmap没什么关系
    4. 51汇编与C全面周立功 28/7432 51单片机 2013-12-13
      你说的第一个问题,我知道,我在option选项里面勾选了LX51和AX51两个选项,所以就用下面的语句。 ?CO?bcdmap1 SEGMENT CONST 如果不勾选,就是BL51选项,要用下面的声明才行。见图片 ?CO?bcdmap1 SEGMENT CODE
    5. 51汇编与C全面周立功 28/7432 51单片机 2013-12-12
      多谢许意义大哥的热情帮助,论坛上应该来更多像你这样热心帮助的人:)
    6. 51汇编与C全面周立功 28/7432 51单片机 2013-12-12
      我再次试了一下,虽然有效果了,但还是跟书上写的不太一样。我把这本书也传上来了,有兴趣可以参考参考。我不打算再纠结这个问题了,后面还有好多事情要做。下面是我的a51文件代码: $NOMOD51 NAME BCDMAP1    PUBLIC bcdmap     CSEG AT 0400H    bcdmap:         DB '0', '0'           DB '0', '1'           ...         DB  '5' ,'9'                   END
    7. 51汇编与C全面周立功 28/7432 51单片机 2013-12-11
      但如果用CSEG AT 0400H,就会出错。提示*** WARNING L9: EMPTY SEGMENTS ENCOUNTERED $NOMOD51 NAME BCDMAP1    ?CO?bcdmap1 SEGMENT CONST PUBLIC bcdmap //RSEG  ?CO?BCDMAP1   CSEG AT 0400H bcdmap:          DB '0', '0'            DB '0', '1'            ....          DB  '5' ,'9' END
    8. 51汇编与C全面周立功 28/7432 51单片机 2013-12-11
      重新写了一下,这个a51文件能编译通过。   $NOMOD51 NAME BCDMAP1    ?CO?bcdmap1 SEGMENT CONST PUBLIC bcdmap RSEG  ?CO?BCDMAP1   //CSEG AT 0400H bcdmap:         DB '0', '0'           DB '0', '1'           ....         DB  '5' ,'9' END C程序中声明外部变量 extern uchar code bcdmap[][2]; void disp_time(void) reentrant{ static char time_str[32]="TIME OF DAY IS: XX:XX:XX        "; uchar i; time_str[T_HOURT]=bcdmap[timeholder.hour][0]; time_str[T_HOUR] =bcdmap[timeholder.hour][1]; time_str[T_MINT] =bcdmap[timeholder.min][0] ; time_str[T_MIN]  =bcdmap[timeholder.min][1] ; time_str[T_SECT] =bcdmap[timeholder.sec][0] ; time_str[T_SEC]  =bcdmap[timeholder.sec][1] ; putchar(0xFF);      for(i=0;i
    9. 51汇编与C全面周立功 28/7432 51单片机 2013-12-11
      自己写的a51文件,用下面这段代码能与C程序连接上吗? 编译后提示 *** WARNING L9: EMPTY SEGMENTS ENCOUNTERED NAME    ?C_STARTUP ?C_C51STARTUP   SEGMENT   CODE ?STACK          SEGMENT   IDATA                 RSEG    ?STACK                 DS      1                 EXTRN CODE (?C_START)                 PUBLIC  ?C_STARTUP                     CSEG    AT      0 ?C_STARTUP:        CSEG    AT      0400H bcdmap: DB  '0' ,'0' DB  '0' ,'1' ....... DB  '5' ,'9' LJMP    ?C_START                 END
    10. 51汇编与C全面周立功 28/7432 51单片机 2013-12-10
      原程序中是这样初始化二维数组的。但这样的数组无法定位表头的地址,地址由keil自动编译产生。 uchar code bcdmap[60][2]={ "00", "01","02", "03","04", "05","06", "07","08", "09","10", "11","12", "13","14", "15","16", "17","18", "19","20", "21","22", "23","24", "25","26", "27","28", "29", "30", "31","32", "33","34", "35","36", "37","38", "39","40", "41","42", "43","44", "45","46", "47","48", "49","50", "51","52", "53","54", "55","56", "57","58", "59"}; 下面这段汇编代码就能把表头地址定位在ROM区的0400H位置上,缩短主程序查询表格的指令周期。就是用这段汇编代码取代原程序中的C语言定义的方法。 但是不知道怎么把这小段汇编代码与C程序连接起来。
    11. 51单片机智能小车设计资料分享 807/86201 51单片机 2013-12-07
      掉渣天了,顶

最近访客

< 1/1 >

统计信息

已有17人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:11

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言