鱼C论坛

 找回密码
 立即注册
查看: 2097|回复: 3

[已解决]能转化成c语言吗?这是8279键盘显示实验的汇编代码

[复制链接]
发表于 2015-10-25 12:38:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
CMD_8279        XDATA        0bF01H        ;8279命令字、状态字地址
DATA_8279        XDATA        0bF00H        ;8279读写数据口的地址
KeyCount        DATA        50H       
        ORG        0000H       
        LJMP        STAR       
        ORG        0100H       
STAR:        MOV        SP,#60H       
        ACALL        INIT8279        ;初始化子程序
        MOV        KeyCount,#0       
STAR1:        CALL        SCAN_KEY        ;键扫描
        JNC        STAR1        ;没有按键
        XCH        A,KeyCount       
        INC                A       
        CJNE        A,#9,STAR2       
        MOV        KeyCount,#0       
        ACALL        INIT8279_1        ;8个数码块全有字符显示后,再按键,清除显示
        SJMP        STAR1       
STAR2:        XCH        A,KeyCount       
        CALL        KEY_NUM        ;键值转换为键号
        MOV        DPTR,#LED_TAB        ;字型码表
        MOVC        A,@A+DPTR       
        CALL        WRITE_DATA       
        SJMP        STAR1       
;8279初始化
INIT8279:        MOV        DPTR,#CMD_8279        ;可编程时钟设置,设置分频系数(20分频)
        MOV
MOVX        A,#34H
@DPTR,A       
        CLR                A        ;8*8字符显示,左边输入, 外部译码键扫描方式
        MOV        DPTR,#CMD_8279       
        MOVX        @DPTR,A       
INIT8279_1:        CALL        CLEAR        ;清显示
        MOV        A,#90H        ;从最后一个数码管开始移位显示
        MOVX        @DPTR,A       
        RET               
CLEAR:        MOV        A,#0DEH        ;清除命令
        MOV        DPTR,#CMD_8279       
        MOVX        @DPTR,A       
WAIT1:        MOVX        A,@DPTR       
        JB        ACC.7,WAIT1        ;显示RAM清除完毕吗?
        RET               
SCAN_KEY:        MOV        DPTR,#CMD_8279       
        MOVX        A,@DPTR        ;读状态
READ_FIFO:        ANL        A,#7       
        JZ        NO_KEY        ;是否有键按下
READ:        MOV        A,#40H       
        MOVX        @DPTR,A        ;读FIFO RAM
        MOV        DPTR,#DATA_8279       
        MOVX        A,@DPTR       
        SETB        C        ;有键
SCAN_KEY1:        RET               
NO_KEY:        CLR                C                ;无键按下,清CY
        SJMP        SCAN_KEY1       
KEY_NUM:        ANL        A,#3FH       
        RET               
WRITE_DATA:        MOV        DPTR,#DATA_8279       
        MOVX        @DPTR,A       
        RET                   j
LED_TAB:        DB        0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
        DB        080H,90H,88H,83H,0C6H,0A1H,86H,8EH
               
        END               
最佳答案
2015-10-25 19:40:08
__asm{}中间放上汇编代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-25 19:40:08 | 显示全部楼层    本楼为最佳答案   
__asm{}中间放上汇编代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-25 20:44:22 | 显示全部楼层
前来顶帖:titter:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-26 15:23:23 | 显示全部楼层
感觉好复杂!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 11:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表