导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→我这儿有一小段汇编程序,请大家帮我看看[石月]

 *第15910篇: 我这儿有一小段汇编程序,请大家帮我看看

  
21楼:石月 2003年9月1日15:03
 HELP,PLEASE
大哥,给点意见吧,不要见死不救阿
  
22楼:zq525 2003年9月2日19:38
 试一试延时
在程序开始时和送完显示之后调用一个延时程序
建议不要再用8279了,过时了
还是用7219吧!
  
23楼:石月 2003年9月3日14:13
 好的,我试试。请问:7219是怎样的芯片
好的,我试试。请问:7219是怎样的芯片呢?
  
24楼:musica 2003年9月2日20:14
 是否显示电路出了问题?
ram中有回送值,说明键盘没问题,硬件显示电路查了没有?很可能再线多的地方出错。其次你的程序太长,有冗余,我这有简洁一点的,上传给你,希望能帮上一点忙。我说要先查硬件部分哦。

org 0000h
ljmp start
org 0100h
start:mov  sp,#60h
      mov dptr,#szlg     ;8279的初始化
      mov a,#0d1h      ;1101,0001 ca位总清除,显示ram都置0
      movx @dptr,a     ;清显示器,清fifo
      nop
      nop
loop: movx a,@dptr     ;读状态字
      jb   acc.7,loop  ;当最高位为1时,表明还没有清完显示器ram
      mov  a,#34h      ;当清完时,开始分频
      movx @dptr,a      ;五分频
      mov  a,#00h       ;000,10,000 右端输入,8字符显示。
      mov  r1,#40h
      movx  @dptr,a
main: jb   p3.3,main   ;这里永乐int1作irq检测
      lcall key
      sjmp main

;键盘子程序,16键输入,6led显示人机接口
key:  mov  dptr,#szlg
      mov  a,#40h       ;010,00000写‘读扫描键值命令’,按键顺序读取,fifo
      movx @dptr,a
      mov  dptr,#dzlg     ;数据口地址
      movx a,@dptr      ;读扫描键值,从fiforam送数据口,8字节,顺序读取
      anl  a,#3fh       ;取低六位,高三位为扫描码,低三位为回送码,均为编码值
      mov  dptr,#ktab   ;有序数编码转换表首址
      movc a,@a+dptr    ;查出实际数字0-----f
      mov  @r1,a
      inc  r1
      mov  r0,#30h      ;r0作键值寄存器指针
      mov  r2,#8
data1:xch  a,@r0        ;将键值暂存30单元---x8
      inc  r0
      djnz r2,data1
      lcall dir
      ret

;显示子程序
  dir:setb rs1
      mov  dptr,#szlg     ;写显示命令
      mov  a,#90h       ;1001,0000
      movx @dptr,a      ;ram 地址初值为0000,自加方式
      mov  p2,#7fh      ;这两条指令给了显示地址
      mov  r1,#0feh
      mov  dptr,#dtab   ;将实际数转成显示码,赋首址
      mov  r7,#8
      mov  r0,#30h
 dir1:mov  a,@r0        ;将键值送a
      movc a,@a+dptr
      movx @r1,a        ;得到相应显示码
      inc  r0           ;指向下一码值
      djnz r7,dir1
      clr  rs1
      ret

;dtab:显示码表
dtab: db 3fh,06h,5bh,4fh    ;1,2,3,4
      db 66h,6dh,7dh,07h    ;4,5,6,7
      db 7fh,6fh,77h,80h    ;8,9,a(*),b(.)
      db 39h,5eh,79h,71h    ;c,d,e,f(#)
      db 00h
;ktab:键码转换表
ktab: db 01h,01h,01h,01h,01h,01h,01h,01h
      db 02h,02h,02h,02h,02h,02h,02h,02h
      db 03h,03h,03h,03h,00h,00h,00h,00h
      db 04h,04h,04h,04h,00h,00h,00h,00h


end
                                                                 ---- musica


  
25楼:石月 2003年9月3日09:36
 你这个程序的显示子程序是循环显示,我需要
你这个程序的显示子程序是循环显示,我需要键盘中断输入显示。我在做简易信号发生器
,需要输入频率,现在中断老不正常,怎么实现啊?
  
26楼:石月 2003年9月3日08:46
 谢谢你的程序[em01],硬件显示电路我
谢谢你的程序,硬件显示电路我检查过没问题的。我另外写了一个显示小程序,不管左入还是右入都显示正常,所以电路肯定没问题。顺便问一下,你在写程序前是如何划分cpu的??
  
27楼:singleclare 2003年9月2日21:04
 没错.
没错.
  
28楼:zq525 2003年9月3日19:03
 7219也是显示专用芯片
7219也是显示专用芯片
资料可以到21ic去查
  
29楼:石月 2003年9月4日08:45
 谢谢,21ic上的资料是全英文的,真难看
谢谢,21ic上的资料是全英文的,真难看懂啊

>>>>>>对该主题发表你的看法

本主题贴数29,分页: [第1页] [第2页]


[上一篇主题]:小弟,有事求教:超声波传感器T40-16如何使用?望赐教!

[下一篇主题]:请问建五和摩托罗拉的车载对讲机能不能匹配?