找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 668|回复: 3
打印 上一主题 下一主题
收起左侧

有没有大佬可以用大白话帮忙讲明白这个单片机汇编程序?

[复制链接]
跳转到指定楼层
楼主
ID:982623 发表于 2021-11-19 19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                ORG                0000H                        
                AJMP                MAIN                        
                ORG                0100H                        
MAIN:        MOV                P2,#00H                        
KEY0:        MOV                P3,#0FEH               
                JNB                P3.4,K1                        
                JNB                P3.5,K2                        
                JNB                P3.6,K3                        
               
                MOV                P3,#0FDH               
                JNB                P3.4,K4                        
                JNB                P3.5,K5                        
                JNB                P3.6,K6                        
               
                MOV                P3,#0FBH               
                JNB                P3.4,K7                        
                JNB                P3.5,K8                        
                JNB                P3.6,K9               
               
                AJMP        KEY0                        
                                
K1:                MOV                P0,#0F9H               
                ACALL        YSH1S                        
                AJMP         KEY0                        
                RET                                       
               
K2:                MOV                P0,#0A4H               
                ACALL        YSH1S                        
                AJMP         KEY0                        
                RET                                                
               
K3:                MOV                P0,#0B0H               
                ACALL        YSH1S               
                AJMP         KEY0                        
                RET                                                
               
K4:                MOV                P0,#099H               
                ACALL        YSH1S                        
                AJMP         KEY0                        
                RET                                                
               
K5:                MOV                P0,#092H               
                ACALL        YSH1S               
                AJMP         KEY0                        
                RET                                       
               
K6:                MOV                P0,#082H               
                ACALL        YSH1S               
                AJMP         KEY0                        
                RET                                                
               
K7:                MOV                P0,#0F8H               
                ACALL        YSH1S                        
                AJMP         KEY0                        
                RET                                                
K8:                MOV                P0,#080H               
                ACALL        YSH1S                        
                AJMP         KEY0                        
                RET                                                
               
K9:                MOV                P0,#090H               
                ACALL        YSH1S        
                AJMP         KEY0                        
                RET                                       
               
YSH1S:        MOV                R3,#10               
LOOP:        MOV                R4,#200               
LOOP1:        MOV                R5,#230                        
                DJNZ        R5,$                        
                DJNZ        R4,LOOP1               
                DJNZ        R3,LOOP               
                RET                                                
                END                                       
               
               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:96682 发表于 2021-11-20 09:34 来自手机 | 只看该作者
这货要软硬结合才能明白它要做什么,光有注释只能一知半解
回复

使用道具 举报

板凳
ID:70035 发表于 2021-11-20 12:22 | 只看该作者
ORG                0000H                       ;复位处
                AJMP                MAIN       ;短跳转至MAIN也就0100H地址处         
                ORG                0100H                        
MAIN:        MOV                P2,#00H        ;P2.7-P2.0置0
KEY0:        MOV                P3,#0FEH       ;P3.7-P3.1置1,P3.0置0
                JNB                P3.4,K1            ;P3.4为0则跳转至K1处
                JNB                P3.5,K2                        
                JNB                P3.6,K3                        
               
                MOV                P3,#0FDH               
                JNB                P3.4,K4                        
                JNB                P3.5,K5                        
                JNB                P3.6,K6                        
               
                MOV                P3,#0FBH               
                JNB                P3.4,K7                        
                JNB                P3.5,K8                        
                JNB                P3.6,K9               
               
                AJMP        KEY0                        
                                
K1:             MOV                P0,#0F9H   ;P0=1111 1001B
                ACALL        YSH1S            ;短调用,延时
                AJMP         KEY0             ;短跳转回KEY0,差不多就是C的While(1)      
                RET                           ;这里是跑飞拉回
               
K2:                MOV                P0,#0A4H               
                ACALL        YSH1S                        
                AJMP         KEY0                        
                RET                                                
               
K3:                MOV                P0,#0B0H               
                ACALL        YSH1S               
                AJMP         KEY0                        
                RET                                                
               
K4:                MOV                P0,#099H               
                ACALL        YSH1S                        
                AJMP         KEY0                        
                RET                                                
               
K5:                MOV                P0,#092H               
                ACALL        YSH1S               
                AJMP         KEY0                        
                RET                                       
               
K6:                MOV                P0,#082H               
                ACALL        YSH1S               
                AJMP         KEY0                        
                RET                                                
               
K7:                MOV                P0,#0F8H               
                ACALL        YSH1S                        
                AJMP         KEY0                        
                RET                                                
K8:                MOV                P0,#080H               
                ACALL        YSH1S                        
                AJMP         KEY0                        
                RET                                                
               
K9:                MOV                P0,#090H               
                ACALL        YSH1S        
                AJMP         KEY0                        
                RET                                       
               
YSH1S:        MOV                R3,#10               
LOOP:        MOV                R4,#200               
LOOP1:        MOV                R5,#230                        
                DJNZ        R5,$       ;R5内容减1 不为0返回本行继续执行 为0就向下执行
                DJNZ        R4,LOOP1         ;就是循环等待
                DJNZ        R3,LOOP               
                RET                                                
                END                                       
回复

使用道具 举报

地板
ID:955673 发表于 2021-11-20 17:11 | 只看该作者
P2 P3 组成矩阵键盘,识别键值驱动 P0 口共阳数码管,显示 1--9  一秒
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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