加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 5570 个阅读者
04:00 ~ 4:30 资料库备份中,需等较久的时间,请耐心等候
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   

头像
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: *
推文 x 鲜花 x
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[8051]8051.声控程式的问题

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



献花 x0 回到顶端 [楼 主] | Posted:2006-05-13 12:09 |
cmovies
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x20
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

不同的编译器有不同的宣告指令. KEIL 没有 REG 这个指令 (2500AD X8051 就有这个指令)
所以你把
OUTPUT   REG   P2
CONTROL   REG   P1
VIN   REG   P3.4
改成
OUTPUT   EQU   P2
CONTROL   EQU   P1
VIN   EQU   P3.4


献花 x0 回到顶端 [1 楼] From:台湾中华电信 | Posted:2006-05-14 01:22 |
22862827
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x1
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

qq"我改成EQU1样有182个错误
X8051刚刚也去测试1下有些部份会无法辨识
拜托各位帮 我抓错1下


献花 x0 回到顶端 [2 楼] From:台湾中华电信 | Posted:2006-05-17 16:25 |
cmovies
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x20
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

你有很多应该写数字 0 写成字母 O, 还有 > 或者 < 是 X8051 的指令
DIV 为指令不可当成变数
复制程式
PKH     EQU     30H
PKL     EQU     31H
COUNT   EQU     32H
SECT    EQU     33H
SUM     EQU     34H
PK0     EQU     40H
OUTPUT  EQU     P2
CONTROL EQU     P1
VIN     EQU     P3.4
OFF     EQU     0FFH
CNT     EQU     1
SCT     EQU     20
DIV1    EQU     -30000

    ORG     00H
    JMP     MAIN
    ORG     0BH
    JMP     TIMER0
    ORG     1BH
    JMP     TIMER1

MAIN:     
    SETB     VIN
    MOV     CONTROL,#11111100B
    MOV     OUTPUT,#0C0H
    MOV     TMOD,#15H
    SETB     EA
    SETB     ET0
    SETB     ET1
SAMP:
    MOV     SECT,#SCT
    MOV     R0,#PK0
    MOV     R2,#0
    JB     VIN,$
WAIT:     SETB     VIN
    JB     VIN,SAMP
    INC     R2
    CJNE     R2,#30,WAIT

START:
    MOV     TH0,#0
    MOV     TL0,#0
    MOV     TH1,#HIGH DIV1
    MOV     TL1,#LOW DIV1
    MOV     COUNT,#CNT
    SETB     TR0
    SETB     TR1
    JNB     F0,$
    CLR     F0
    CJNE     R0,#PK0,CONT
    MOV     A,TH0
    CJNE     A,#0,SAMP
    MOV     A,TL0
    ADD     A,#252
    JC     CONT
    MOV     CONTROL,#11111000B
    MOV     OUTPUT,#0C0H
    JMP SAMP

CONT:
    MOV     A,TL0
    MOV     @R0,A
    INC     R0
    DJNZ     SECT,START

    MOV     CONTROL,#OFF
    CALL     DELAY2

VR:     
    MOV     A,043H
    ADD     A,044H
    ADD     A,045H
    MOV     SUM,A
    ADD     A,#229
    JC     VR1
;A<27
    MOV     CONTROL,#11110000B
    MOV     OUTPUT,#0BFH
    JMP     SAMP

VR1:     
    MOV     A,SUM
    ADD     A,#217
    JC     VR2
    MOV     A,041H
    ADD     A,042H
    JC     VR12
    ADD     A,043H
    JC     VR12
    ADD     A,044H
    JC     VR12
    ADD     A,045H
    JC     VR12
    ADD     A,046H
    JC     VR12
    ADD     A,047H
    JC     VR12
    ADD     A,048H
    JC     VR12

    ADD     A,49H
    JC     VR12
    ADD     A,4AH
    JC     VR12
    ADD     A,#81
    JC     VR12
    MOV     A,#5
    MOV     DPTR,#LEDTABLE
    MOVC     A,@A+DPTR
    MOV     CONTROL,#11111110B
    MOV     OUTPUT,A
    JMP     SAMP

VR12:     
    MOV     A,#1
    MOV     DPTR,#LEDTABLE
    MOVC     A,@A+DPTR
    MOV     CONTROL,#11111110B
    MOV     OUTPUT,A
    JMP     SAMP

VR2:   
    MOV     A,SUM
    ADD     A,#184
    JC     VR3
    MOV     A,48H
    ADD     A,49H
    ADD     A,4AH
    ADD     A,#211
    JC     VR4
    MOV     A,#4
    MOV     DPTR,#LEDTABLE
    MOVC     A,@A+DPTR
    MOV     CONTROL,#11111110B
    MOV     OUTPUT,A
    JMP     SAMP

VR3:     
    MOV     A,SUM
    ADD     A,#157
    JC     VR32
    MOV     A,#3
    MOV     DPTR,#LEDTABLE
    MOVC     A,@A+DPTR
    MOV     CONTROL,#11111110B
    MOV     OUTPUT,A
    JMP     SAMP

VR32:     
    MOV     A,#1
    MOV     DPTR,#LEDTABLE
    MOVC     A,@A+DPTR
    MOV     CONTROL,#11111110B
    MOV     OUTPUT,A
    JMP     SAMP

VR4:     
    MOV     A,41H
    ADD     A,42H
    ADD     A,#226
    JC     VR42
    MOV     A,#1
    MOV     DPTR,#LEDTABLE
    MOVC     A,@A+DPTR
    MOV     CONTROL,#11111110B
    MOV     OUTPUT,A
    JMP     SAMP

VR42:     
    MOV     A,#2
    MOV     DPTR,#LEDTABLE
    MOVC     A,@A+DPTR
    MOV     CONTROL,#11111110B
    MOV     OUTPUT,A
    JMP     SAMP

TIMER0:     
    RETI

TIMER1:     
    MOV     TH1,#HIGH DIV1
    MOV     TL1,#LOW DIV1
    DJNZ     COUNT,RETIME
    CLR     TR0
    CLR     TR1
    SETB     F0
RETIME:
    RETI

DELAY:     
    MOV     R5,#10
DE1:     
    MOV     R6,#248
    DJNZ     R6,$
    DJNZ     R5,DE1
    RET

DELAY2:     
    MOV     R5,#5

DL1:     
    MOV     R6,#200

DL2:     
    MOV     R7,#250
    DJNZ     R7,$
    DJNZ     R6,DL2
    DJNZ     R5,DL1
    RET

LEDTABLE:
      DB     11000000B
      DB     11111001B
      DB     10100100B
      DB     10110000B
      DB     10011001B
      DB     10010010B
      DB     10000010B
      DB     11011000B
      DB     10000000B
      DB     10010000B
      DB     00001000B
      DB     00000011B
      DB     01000110B
      DB     00100001B
      DB     00000110B
      DB     00001110B

VTABLE:     
      DB     0,0,0,0,0,0,0,0,1,1
      DB     1,1,1,1,1,0,2,2,2,2
      DB     2,0,3,3,3,3,3,3,0,4
      DB     4,4,4,0,5,5,5,5,5,5
      DB     5,0,0,0,0,0,0,0,0,0
      END 


献花 x0 回到顶端 [3 楼] From:台湾中华电信 | Posted:2006-05-17 23:35 |
22862827
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x1
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

@@"感谢楼上2位大大的解答....
在与原始码对应后我发现 错在REG的部份
和O和零的迷惑   以及DIV的预设

看完大大的指正我想在问1下...DIV后面设的HIGH 和LOW是何作用


献花 x0 回到顶端 [4 楼] From:台湾中华电信 | Posted:2006-05-18 18:11 |
cmovies
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x20
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

HIGH, LOW 跟 X8051 中的 >, < 相同

例如; DIV1=-30000=8AD0 (请用小算盘输入-30000然后选择16进制, 最后四位就是8AD0)
High, > 的结果就是 8A (相等于数字除 256)
LOW, < 的结果就是 D0 (相等于数字除 256 的余数)


献花 x0 回到顶端 [5 楼] From:台湾中华电信 | Posted:2006-05-19 16:56 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.023917 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言