请教xc167汇编编译时的问题

[复制链接]
2833|0
 楼主| turkboy 发表于 2007-11-8 21:30 | 显示全部楼层 |阅读模式
我是初学者,可能下面请教的问题可能和初始化有关,请大家指点<br />我想用capcom2产生一种变化脉宽信号,并通过AD控制频率,汇编变好后在编译的时候出现如下问题:<br />Build&nbsp;target&nbsp;'Target&nbsp;1'<br />compiling&nbsp;MAIN.C...<br />MAIN.C(2):&nbsp;error&nbsp;C25:&nbsp;syntax&nbsp;error&nbsp;near&nbsp;':'<br />MAIN.C(4):&nbsp;warning&nbsp;C34:&nbsp;'ADC_INIT':&nbsp;missing&nbsp;declaration&nbsp;specifiers<br />MAIN.C(4):&nbsp;error&nbsp;C42:&nbsp;'ADC_INIT':&nbsp;not&nbsp;in&nbsp;formal&nbsp;parameter&nbsp;list<br />MAIN.C(4):&nbsp;error&nbsp;C25:&nbsp;syntax&nbsp;error&nbsp;near&nbsp;'CALLA'<br />MAIN.C(4):&nbsp;warning&nbsp;C34:&nbsp;'CALLA':&nbsp;missing&nbsp;declaration&nbsp;specifiers<br />MAIN.C(4):&nbsp;error&nbsp;C42:&nbsp;'CALLA':&nbsp;not&nbsp;in&nbsp;formal&nbsp;parameter&nbsp;list<br />MAIN.C(5):&nbsp;warning&nbsp;C34:&nbsp;'CC2_INIT':&nbsp;missing&nbsp;declaration&nbsp;specifiers<br />MAIN.C(5):&nbsp;error&nbsp;C42:&nbsp;'CC2_INIT':&nbsp;not&nbsp;in&nbsp;formal&nbsp;parameter&nbsp;list<br />MAIN.C(5):&nbsp;warning&nbsp;C34:&nbsp;'BSET':&nbsp;missing&nbsp;declaration&nbsp;specifiers<br />MAIN.C(5):&nbsp;error&nbsp;C42:&nbsp;'BSET':&nbsp;not&nbsp;in&nbsp;formal&nbsp;parameter&nbsp;list<br />MAIN.C(6):&nbsp;warning&nbsp;C34:&nbsp;'IEN':&nbsp;missing&nbsp;declaration&nbsp;specifiers<br />MAIN.C(6):&nbsp;error&nbsp;C42:&nbsp;'IEN':&nbsp;not&nbsp;in&nbsp;formal&nbsp;parameter&nbsp;list<br />MAIN.C(6):&nbsp;warning&nbsp;C34:&nbsp;'MOV':&nbsp;missing&nbsp;declaration&nbsp;specifiers<br />MAIN.C(6):&nbsp;error&nbsp;C42:&nbsp;'MOV':&nbsp;not&nbsp;in&nbsp;formal&nbsp;parameter&nbsp;list<br />MAIN.C(6):&nbsp;warning&nbsp;C34:&nbsp;'R3':&nbsp;missing&nbsp;declaration&nbsp;specifiers<br />MAIN.C(6):&nbsp;error&nbsp;C42:&nbsp;'R3':&nbsp;not&nbsp;in&nbsp;formal&nbsp;parameter&nbsp;list<br />MAIN.C(53):&nbsp;error&nbsp;C7:&nbsp;compilation&nbsp;aborted<br />Target&nbsp;not&nbsp;created<br /><br />源程序如下:<br />MAIN:<br />&nbsp;&nbsp;CALLA&nbsp;ADC_INIT//<br />&nbsp;&nbsp;CALLA&nbsp;CC2_INIT//<br />&nbsp;&nbsp;BSET&nbsp;IEN//&nbsp;<br />&nbsp;&nbsp;MOV&nbsp;R3,#2//&nbsp;&nbsp;<br />AA:<br />&nbsp;&nbsp;JBC&nbsp;ADCIR,ADC_INTE//程序并清零标志位<br />&nbsp;&nbsp;AJMP&nbsp;AA//<br />ADC_INIT:<br />&nbsp;&nbsp;MOVE&nbsp;P5DIDIS,#0002H//<br />&nbsp;&nbsp;MOV&nbsp;ADC_CIC,#4FH//;开AD中断,并取ILVL=3,GLVL=3<br />&nbsp;&nbsp;MOV&nbsp;ADC_CON,#91H//;0-3位,通道选择,4-5位模式选择,7位启动AD<br />&nbsp;&nbsp;RET<br /><br />CC2_INIT:<br />&nbsp;&nbsp;MOVE&nbsp;T78CON,#0000H//计数频率<br />&nbsp;&nbsp;EXTR&nbsp;#04//<br />&nbsp;&nbsp;MOV&nbsp;T7,#OOOOH//;&nbsp;设定时器初值<br />&nbsp;&nbsp;MOV&nbsp;T7REL,#0000H//;设定时器重装载寄存器初值<br />&nbsp;&nbsp;SETB&nbsp;DP9.P0//;&nbsp;把p9.0端口设置为输出<br />&nbsp;&nbsp;BCLR&nbsp;ALTSEL0P9.P0//;<br />&nbsp;&nbsp;SETB&nbsp;ALTSEL1P9.P0//;选择端口复用功能<br />&nbsp;&nbsp;MOV&nbsp;CC2_M4,#0007H//;把cc16分配给T7,并用比较方式3<br />&nbsp;&nbsp;MOV&nbsp;CC16,#8000H//;设置比较寄存器初值<br />&nbsp;&nbsp;OR&nbsp;T78CON,#0040H//;开启定时器T7<br />&nbsp;&nbsp;RET//<br /><br />ADC_INTE:<br />&nbsp;&nbsp;MOV&nbsp;R4,ADC_DAT//;&nbsp;读转换结果<br />&nbsp;&nbsp;AND&nbsp;R4,#3FFH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//;取转换结果<br />&nbsp;&nbsp;SHL&nbsp;R4,#6//;将10位的转换结果左移6位<br />&nbsp;&nbsp;MOV&nbsp;T7REL,R4//;将修改值存入T7重装载寄存器<br />&nbsp;&nbsp;CMP&nbsp;R3,#4//;&nbsp;<br />&nbsp;&nbsp;JMPA&nbsp;CC_NZ,BB//<br />&nbsp;&nbsp;BCLR&nbsp;Z//<br />&nbsp;&nbsp;MOV&nbsp;R3,#2//<br />&nbsp;&nbsp;JMPS&nbsp;CC//<br />BB:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;MOV&nbsp;R3,#4//;&nbsp;以上为设置占空比0.25和0.5的间隔转换<br />CC:<br />&nbsp;&nbsp;MOV&nbsp;R1,#FFFFH//<br />&nbsp;&nbsp;MOV&nbsp;R2,T7REL//<br />&nbsp;&nbsp;SUB&nbsp;R1,R2//<br />&nbsp;&nbsp;MOV&nbsp;MDL,R1//<br />&nbsp;&nbsp;DIVU&nbsp;R3//<br />&nbsp;&nbsp;ADD&nbsp;MDL,T7REL//<br />&nbsp;&nbsp;MOV&nbsp;CC16,MDL//;计算比较寄存器的值cc16=(2^16-T7REL)/R3+T7REL<br />&nbsp;&nbsp;RETI<br /><br />有写错的地方请帮我挑挑<br /><br />&nbsp;&nbsp;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部