|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
PIC查表一点体会 |
作者:痞子 栏目:单片机 |
我们知道:在做51查表格的时候,是很容易的。 而用PIC查表格的时候就用点难。我最近做了一了一个查字符PIC程序(汇编的) 有一点本会拿出平与大家共享,有不对的地方请大家指出: 1、第一是做表的时候: 直接用 DT 格式:如 DT 0FFH,021H,011H,009H,005H,003H,001H,001H,001H,001H,001H DT 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DT 001H,001H,001H,001H,001H,001H,001H,001H,001H,001H,001H DT 001H,001H,001H,001H,001H,081H,081H,001H,001H,001H,001H DT ……………………………… ……………………………… …… 它相当于51的DB。之后编译自动编译成:RETLW 0XFF,RETLW 0X21 ,RETLW 0X11 ................................................................................................ 2、第二是页面:当一页放不下时,你把你的表格分成两页如: ORG 200H DT 。。。。。。。。。。。。。 。。。。。。。。。。。。。。 ORG 300H DT 。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。 你要做的,只是要分一下你要查找的内容在表格一还是在表格二。 3、是PCLATH,要去设置。 4、例: movlw 1fh ; subwf data1,1 ;(data)-20h=data movlw high ascii ; movwf pch ;计算地址 movlw low ascii-7 ; 。 。 。 。 org 500h adopt_ascii: ; movf pch,w ; movwf pclath ; movf pcl,w ; addwf r1,0 ; movwf 2 ;w send pc ascii: ; ;!"#$%&'()*+,-./ 20---2f dt 0x00,0x00,0x00,0x00,0x00,0x00,0x00 dt 0x20,0x20,0x20,0x20,0x00,0x00,0x20 dt 0x50,0xA0,0x00,0x00,0x00,0x00,0x00 dt 0x50,0x50,0xF8,0x50,0xF8,0x50,0x50 dt 0x20,0x70,0xB0,0xA0,0x60,0x30,0xB0 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。 |
2楼: | >>参与讨论 |
作者: goalwang 于 2003/8/19 9:59:00 发布:
PIC查表 我使用的是PIC16C716进行查表 LOOK_SIN_TABLE: movf SIN_PT,W call SIN_TABLE ;W=return sin VALUE movwf PORTB ;PORTB=W goto ISR_END ;######################################### org 0x400 ;这里不知道对不对, SIN_TABLE: addwf PCL,F ;pcl=pcl+w retlw .64 ;all 90 point retlw .67 返回结果不太对啊请高手指点一下! |
3楼: | >>参与讨论 |
作者: goalwang 于 2003/8/19 10:32:00 发布:
查表 还是上面的程序在 ORG 0X400这里有问题,就是这个指令执行完后,PCL=0,接下来PCL=0X04,程序跳到中断入口处为啥会出现这样的问题,我看书上的查表程序都有一条这样的指令,不知道那里出现问题,请高手指点一下! |
4楼: | >>参与讨论 |
作者: daiguoyuan 于 2003/8/19 12:53:00 发布:
你看一下716一页是多大,是否超出了一页的范围 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |