找回密码
 立即注册

QQ登录

只需一步,快速开始

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

做一个 99~0 的自减自加循环计数器源码程序

[复制链接]
跳转到指定楼层
楼主
ID:59980 发表于 2014-9-22 23:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
COUNT EQU 30H ;给内存RAM空间中的30H单元起名COUNT
SHIWEI EQU 31H ;给内存RAM空间中的31H单元起名SHIWEI
GEWEI EQU 32H ;给内存RAM空间中的32H单元起名GEWEI
ORG 0000H ;复位时程序从此开始
SJMP START ;跳到START进行初始化
ORG 0030H ;初始化程序从30H开始
;------------------------------------初始化--------------
STARTMOV SP, #60H ;给堆栈指针赋值
MOV P0, #0FFH ;让P0口输出高电平,数码管不显示信息
MOV P2,#0FFH ;P2口输出高电平,所有三级管均不导通,数码管熄灭
MOV DPTR, #TAB ;使数据指针DPTR指向数据表头TAB处
MOV COUNT, #99 ;给COUNT  99
MOV SHIWEI, #0 ;给SHIWEI清零
MOV GEWEI, #0 ;给GEWEI清零
;------------------------------主程序-----------------------
MAINCALL PROCESS ;调PROCESS子程序,完成自加和除法任务
CALL DISPLAY ;调显示子程序DISPLAY
SJMP MAIN ;程序跳转至MAIN处
;------------------------------PROCESS子程序--------------
PROCESSDEC COUNT ;变量COUNT中的数据加1
MOV A,COUNT ;把COUNT中的数据拷贝给A
CJNE A ,#0,JIXU ;COUNT中的数据和100比较不相等跳到JIXU处
MOV COUNT ,#99 ;给COUNT赋值0
JIXUMOV A, COUNT ;COUNT中的数据拷贝给A
MOV B, #10 ;给寄存器B赋值10
DIV AB ;用A除以B,结果在A中,余数在B中
MOV SHIWEI, A ;十位的结果放在SHIWEI中
MOV GEWEI , B ;个位的结果放在GEWEI中
RET ;子程序返回
;------------------------------DISPLAY子程序-------------------
DISPLAYMOV A, SHIWEI ;把SHIWEI中存储的数据拷贝给A
MOVC A, @A+DPTR ;到数据表中取十位对应的显示段码
MOV P0, A ;将显示段码送到P0口处
CLR P2.6 ;P2.7置0,使得三级管导通给第一个数码管供电
CALL DELAY ;延一段时间,使得十位数据显示一段时间
SETB P2.6 ;P2.7置1,使得三极管关断,熄灭第一个数码管
MOV A, GEWEI ;把GEWEI中存储的数据拷贝给A
MOVC A, @A+DPTR ;到数据表中取个位对应的显示段码
MOV P0, A ;将显示段码送到P0口处
CLR P2.7 ;P2.6置0,使得三级管导通给第二个数码管供电
CALL DELAY ;延一段时间,使得个位数据显示一段时间
SETB P2.7 ;P2.6置1,使得三极管关断,熄灭第二个数码管
RET
;---------------------------延时子程序---------------------
DELAYMOV R0, #250 ;给R0赋值
D2MOV R1, #250 ;给R1赋值
D1DJNZ R1, D1 ;R1减1不等于0跳到D1处
DJNZ R0, D2 ;R0减1不等于0跳到D2处
RET ;子程序结束返回
;-----------------下面的数据表中存储的是显示段码(共阳)------
TABDB 0C0H,0F9H,0A4H,0B0H,99H ;从TAB处开始存储0、1、2、3、4
DB 92H ,82H ,0F8H,80H ,90H ;5、6、7、8、9对应的显示段码
END ;程序结束


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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