导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[sunnyjaky]哪位用过430,请帮帮忙



No.55010
作者:sunnyjaky
邮件:yyb-039@etang.com
ID:19693
登陆:3次
文章数:23篇
最后登陆IP:218.12.56.121
最后登陆:2005/9/3 15:49:47
注册:2004/3/30 10:03:47
财富:186
发帖时间:2004/5/20 17:11:17
发贴者IP:218.12.56.78
标题:sunnyjaky:哪位用过430,请帮帮忙
摘要:No.55010哪位用过430,请帮帮忙 小弟对下面的程序搞了两天了,就是不知道他的问题出在哪???
  小弟用的是MSP430F149片子,IAR仿真
问题就是出在,响应中断后进入键盘设置程序输入密码时,第一位正长显示,第二位,就显示不出来,还退出中断.
小弟不知道怎么做了  请大虾们帮帮小弟!!!!!!
小弟在此先谢过了

;------------------------------------------------------------------------------
main        ORG     01600h                    ; Program Start
;------------------------------------------------------------------------------
RESET       mov #0A00h,SP                     ; Initialize stackpointer
StopWDT     mov #WDTPW+WDTHOLD,&WDTCTL        ; Stop watchdog
            call #init_xt2                    ;初始化xt2,XT2=mclk=smclk
            call #init_ram                    ;清RAM
;初始化定时器A  显示
            mov.w #TASSEL1+TACLR+MC0,&TACTL   ; ACLK, clear TAR
            mov.w #CCIE,&TACCTL0              ; CCR0 interrupt enabled
            mov.w #3200,&TACCR0
;初始化端口
SetupP1     bis.b #0f8h,&P1DIR                ; 键盘,高5位输出,低3位输入
            bis.b #0c0h,&P2DIR                ; 分合输出
            bis.b #0c0h,&P2OUT
            bis.b #1fh,&P3DIR                 ; 4个指示灯及收发控制
            bis.b #07h,&P3OUT
            bis.b #BIT6+BIT7,&P3SEL           ; 串口
            bis.b #0ffh,&P4DIR                ; 液晶数据线
            bis.b #0ffh,&P4OUT
            bis.b #0F0h,&P5DIR                ; 液晶控制及I2c
            bis.b #0f0h,&P5OUT
            call #xscs
            eint                              ; Enable interrupts
mainloop    nop
            jmp mainloop
            
yans5       cmp #6,r6
            jhs yans52
            inc r6
yans53      mov.b #00h,cs1
            ret
yans52      clr r6
            mov.b #01h,cs1
            ret
;------------------------------------------------------------------------------ 
key1;       行扫描
;------------------------------------------------------------------------------ 
            mov.b &P1IN,al
            ;mov.b al,R5
            and.b #07h,al
            cmp.b #06h,al
            jne qw1
            mov.b #01h,ch
            call #key2
            jmp qwf
qw1         cmp.b #05h,al
            jne qw2
            mov.b #02h,ch
            call #key2
            add.b #05h,jx
            jmp qwf
qw2         cmp.b #03h,al
            jne qwf
            mov.b #04h,ch
            call #key2
            add.b #10h,jx
qwf         ret

;------------------------------------------------------------------------------ 
key2;    列扫描
;------------------------------------------------------------------------------ 
            clr jx
            clr.b cl
            mov.b #08h,bh
qe2         bis.b #0f8h,xl
            mov.b bh,bl
            xor.b #0ffh,bl
            and.b bl,xl
            mov.b xl,&P1OUT
            mov.b &P1IN,al
            and.b ch,al
            cmp.b #00h,al
            jne qe1
            mov.b cl,jx
            jmp qef
qe1         inc.b cl
            rla.b bh
            cmp.b #06h,cl
            jlo qe2
qef         ret

;------------------------------------------------------------------------------ 
TA0_ISR     dint       ; 定时器中断程序
           cmp.b #01h,qs2
            jeq ycu1
           bic.b #BIT3+BIT4+BIT5+BIT6+BIT7,&P1OUT
            mov.b &P1IN,dll
            bic.b #BIT3+BIT4+BIT5+BIT6+BIT7,dll
            cmp.b #07h,dll
            jeq ycu1
            call #keys    ;有按键按下
kef1        mov.b #01h,qs2
            jmp keee
ycu1        clr.b qs2
            bit.b #01h,cs3
            jz keef
            jmp keee
keef        mov.b #080h,yl    ;显示主界面
            call #dizhi
            mov.b #08h,yl
            call #suju1
            mov.b #08h,yl
            call #suju1
            mov.b #08h,yl
            call #suju1
keee        eint
            reti
            
keys        push r5       ;键盘操作
              push ax
     push bx
     push dx
     clr r5
     bic.b #04h,&P3OUT
            bic.b #02h,&P3OUT
            bis.b #01h,cs3
            call #key1             ;键盘扫描
            cmp.b #08h,cs1
            jhs ke3 
            mov.b #01h,cs1
            cmp.b #03h,cs1
            jhs ke1
            cmp.b #01h,cs1
            jne uio2
            cmp.b #01h,jx 
            jne ke2
            call #xsi1             ;键盘设置界面
uio21       mov.b #0c5h,yl  ;输入密码
     call #dizhi
            mov.b jx,yl
            call #suju1
            mov.b #02h,cs1
            br #kef
uio2        cmp.b #02h,cs1
            jne ke2
            cmp.b #01h,jx
            jne ke2
            mov.b #0c6h,yl
            call #dizhi
            mov.b jx,yl
            call #suju1
            mov.b #03h,cs1
k22         br #kef
ke2         br #kee
ke1         cmp.b #04h,cs1
            jhs ke3
            cmp.b #05h,jx
            jne ke2
            mov.b #0c7h ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:47毫秒 最大:78531毫秒 查询6次