单片机高手们谁会用汇编语言实现0~99间的计数、暂停、清零程序。对初学者实在是太难了。大神帮帮忙吧!

作者&投稿:费山 (若有异议请与网页底部的电邮联系)
2个数码管用按键控制单片机实现自动加减,清零在0–99之间显示,的程序~

下面这个刚好可以,只少一个减计数:
http://zhidao.baidu.com/question/1798279664316263987

这是0-99的加1显示,减法可以效仿。
#include "reg51.h"
#define uchar unsigned char
uchar display_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar display_data[8]={0,0,0,0,0,0,0,0};
void delay(void)
{
uchar i;
for(i=250;i>0;i--);
}
void display()
{
uchar i,k;
k=0x80;
for(i=0;i<8;i++)
{
P2=0;
P0=display_code[display_data[i]];
P0=~P0;
P2=k;
k=k>>1;
delay();
}
P2=0;
}
void calc()
{
display_data[7]++;
if(display_data[7]>9)
{
display_data[7]=0;
display_data[6]++;
if(display_data[6]>9)
{
display_data[6]=0;
}
}
}
void main(void)
{
uchar i;
while(1)
{
for(i=0;i<250;i++)
{
display();
}
calc();
}
}

;---------------------------------------
;http://zhidao.baidu.com/question/485975186.html
;0.0 ~ 9.9
;P0, P2静态显示
;设系统晶振为12MHz。
;按键连接在P3.5,
;按一下,计时,再按一下,停止,再按一下,清零。
;---------------------------------------
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0_INT
;---------------------------------------
ORG 0100H
INIT: ;初始化
MOV P0, #3FH
MOV P2, #3FH
MOV R1, #0
MOV R2, #0
MOV R3, #20
MOV DPTR, #TAB ;表首址送DPTR
MOV TMOD, #01H
MOV TL0, #(65536 - 5000) MOD 256
MOV TH0, #(55536 - 5000) / 256
CLR TR0
CLR P3.6
RET
;---------------------------------------
MAIN:
CALL INIT
MOV R4, #255
SETB ET0
SETB EA
;---------------------------------------
M_LOOP:
JB P3.5, M_LOOP
CALL DLY
JB P3.5, M_LOOP
JNB P3.5, $
INC R4
CJNE R4, #3, M1
MOV R4, #0
M1: CJNE R4, #2, M2
CALL INIT
SJMP M_LOOP
M2: CPL TR0
SJMP M_LOOP
;---------------------------------------
T0_INT:
MOV TL0, #(65536 - 5000) MOD 256
MOV TH0, #(55536 - 5000) / 256
DJNZ R3, T0_E
MOV R3, #20
INC R1
CJNE R1, #10, T0_1
MOV R1, #0
INC R2
CJNE R2, #10, T0_2
MOV R2, #0
MOV P0, #06H
MOV P2, #3FH
SETB P3.6
CLR TR0
MOV R4, #1
RETI
T0_2:
MOV A, R2 ;显示十位
MOVC A, @A + DPTR
SETB ACC.7
MOV P0, A
T0_1:
MOV A, R1 ;显示个位
MOVC A, @A + DPTR
MOV P2, A
T0_E:
RETI
;---------------------------------------
TAB: DB 3FH, 06H, 5BH, 4FH, 66H;0~4
DB 6DH, 7DH, 07H, 7FH, 6FH;5~9
;---------------------------------------
DLY:
MOV R6, #20 ;10ms延时.
D1: MOV R7, #248
DJNZ R7, $
DJNZ R6, D1
RET
;---------------------------------------
END

参考:
http://hi.baidu.com/do_sermon/item/4f921002214f03dbdde5b0c3

ORG 0000H

LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
ABLE: ; 共阴极数码管显示代码表
DB 3FH,06H,5BH,4FH,66H ;12345
DB 6DH,7DH,07H,7FH ;6789
MAIN:
MOV SP,#5FH
MOV TMOD,#01H
MOV TH0,#HIGH (65536-50000)
MOV TL0,#LOW (65536-50000)
SETB EA
SETB ET0
MOV R2,#0
LOOP:
JB P3.5,$
LCALL DELAY
JB P3.5,LOOP
JNB P3.5,$
INC R2
LOOP1:
MOV A,R2
JNZ LOOP2
SETB TR0
SJMP LOOP
LOOP2:
DEC A
JNZ LOOP3
CLR TR0
SJMP LOOP
LOOP3:
MOV R2,#0
MOV R3,#0
MOV R4,#0
CLR TR0
SJMP LOOP
DELAY:
MOV R6,#20
DELAY1:
MOV R7,#250
DJNZ R7,$
DJNZ R6,DELAY1
RET
T0ISR:
CLR TR0
MOV TH0,#HIGH (65536-50000)
MOV TL0,#LOW (65536-50000)
SETB TR0

INC R0
MOV A,R0
CJNE A,#20,T0E
MOV R0,#0
INC R1
MOV A,R1
CJNE A,#100,T0ISR1
T0ISR1:
JC,T0ISR2
MOV A,#0
T0ISR2:
MOV B,#10
DIV AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
T0E:
RETI
END


2道不难却有争议的语文题(文言文)。高手们帮忙啊
介词“因”的用法从古至今一直沿用下来,变化不大;连词“因”随着汉语词汇逐渐复音化的趋势,渐渐被“因为”“因而”“因此”等复音词所取代,但在现代汉语书面语中仍偶或使用。一、介词 1.引进动作行为发生、出现的处所、方向。可译为“从”“由”等。例:因井中视星,所视不过数星;自邱上以视...

魔兽争霸3—真三国无双高手来
魔兽争霸3—真三国无双高手来 20 魔兽争霸3—真三国无双高手来,关于个别人物的出装备顺序『6个道具栏』求诸葛、刘、关、张、魏延、曹操、许褚、典韦、司马、张辽,出装备顺序高手们帮帮忙啊~... 魔兽争霸3—真三国无双高手来,关于个别人物的出装备顺序『6个道具栏』求诸葛、刘、关、张、魏延、曹操、许褚、...

怎么做酱油才好吃,高手们,帮帮我好吗?谢谢
的各种氨基酸组成成分不一样,这可能会影响酱油的风味,让人们的嘴受些委 屈。头发酱油供人们日常食用,也可能会引发相应的心理和伦理问题。但我们的 行家们首先考虑的是科研成果、论文、职称,对心理和伦理问题,总可以用马 列、毛思想的科学观加以解决。世界是物质的,人是物质的,物质之间互相转 化...

伟大的09即将过去,高手们来说一下,09年有哪些人和事在中国有影响力...
五四运动开启的「振兴中华」的伟大事业,90年后已经汇成波澜壮阔的滚滚洪流,注入到改革开放和社会主义现代化建设事业中,使之发扬光大,没有任何力量和困难可以阻挡前进的步伐。通过纪念五四运动90周年,中国人民将更高地举起爱国和进步的旗帜,发扬民主、崇尚科学,进一步解放思想、锐意改革。一批关涉科学发展...

文采高手们,我们学校举办运动会,要积极投稿,请大家露一手~~!_百度知 ...
但你仍用精密的仪表 和细致的耐心,记录着运动的辉煌。我们为你自豪,辛苦了,敬爱的老师们!--- C致裁判员老师 也许,震天的呼声于你们无缘,但,挚起那片欢呼声的是你们的目光!也许,炙热的高阳不曾怜悯你们,但,烈阳底下是你们高大的身影。也许,赞美与期盼总于你们擦肩而过,但,真正的感激...

会计高手们快了帮帮忙啊
1. 下列关于会计科目的删除,正确的是(A)。A. 可以直接删除非末级科目 B. 有余额的科目不能删除 C. 不能删除一级科目 D. 已使用的科目可以删除 2. 报表审核公式主要用于(A)。A. 报表数据来源定义完成后,审核报表的合法性 B. 报表数据来源定义完成后,审核报表的正确性 C. 报表数据生成后...

...开机只要18秒。现在居然开机用了1分45秒。高手们,帮帮忙啊
常见的开机启动慢的原因有:(1)应用软件安装很多 (2)内存太小 (3)电脑中招了 相应的解决办法也很简单 教你四招不常用的优化系统启动速度的方法,如下 (1)修改注册表值,减少开机滚动条滚动时间 开始-运行-输入regedit,启动注册表,在打开的注册表编辑器中找到HKEY_LOCAL_MACHINE\\SYSTEM\\Current...

什么是PK?
在这种祥和的游戏世界中,难免会出现对和平世界的氛围不满足的玩家,因为在这些玩家的眼中,游戏世界和现实世界一样是残酷的,他们追求杀戮的快感,当在一个网络世界中到达了最高境界的时候,游戏本身所提供的NPC(网络游戏中的机器人)不能对他们造成威胁,不能让他们有过关斩将的成就感的时候,高手们就有了三种选择,一个...

问电脑高手们一个超级诡异的电脑问题!!!
检查下CUP风扇 转速是不是稳定 再查下CUP有没有超频使用 首先排除病毒或者木马的因素,其次排除同一局域网内有人中病毒或木马的因素 然后给你几个方案试一下 1、有点集成主板会显示有一个板载猫的设备,进bios设置屏蔽或者解除屏蔽该设备。2、重新安装主板自带的驱动程序(主板、声卡)3、升级到最新的...

高手们帮忙写一篇作文,题目是懂得欣赏
用欣赏酿造生活,你会发现,生活是美丽的,是具有丰富的内涵的;只要你学会欣赏,你会发现人间多了友善少...当你的生活一片阴霾时, 还会赞美墙角那支怯弱的红玫瑰吗? 批判虽可以矫正, 但这种否定一切的处世...是小草,就要染绿天涯;是水滴,就要汇在浩瀚;是沙砾,就要聚矗成塔;是营火,就要默默燃烧;是青年就要做...

四方区18241176080: 有谁会单片机的,用汇编实现0 -- 99按键计数,望哪位高手指点一二 -
班信康得: 参考:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/d5a529b5320ce57f8ad4b2b4.html http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/425474d769c7622106088bcd.html

四方区18241176080: 求会单片机汇编语言的
班信康得: ORG 0 MAIN:MOV C,P1.2 MOV P2.0,C SJMP MAIN END 这个可以实现按一下键,LED灯亮一下 ORG+0100H是你的主程序开始的地址.因为在03H-2AH这一段是用来保存中断服务地址 ,不能在这个区域写程序,所以需要跳转到之后的地址 写程序.

四方区18241176080: 单片机汇编语言程序,我想写一个循环点亮的LED,然后用外部中断0接到一个按键上,怎么写我需要详细的程序 -
班信康得: 循环点亮LED灯,也就是流水灯效果的控制,可以用定时器来控制,这样做相对代码量较少而时间比较精确,外部中断0接以按键,可以控制动态效果的启停.程序如下: ORG 0000H LJMP MAIN ORG 0003H LJMP EXT0 ;外部中断0,控制流...

四方区18241176080: 单片机.分别使用c语言和汇编语言编写一个程序 -
班信康得: #include<reg52.h> unsigned char aa _at_ 0x30; void main() { IE = 0x81; IT0 = 1; aa = 0; while(1); } X0_INT() interrupt 0 { aa++; aa %= 100; }//==================== ORG 0000H LJMP START INC 30H MOV A, #100 CJNE A, 30H, EXIT MOV 30H...

四方区18241176080: 大佬们,谁会用汇编编写一个15单片机的程序,通过串口调试助手把单片机内A寄存器的数据发送到电脑上显 -
班信康得: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH MOV SCON,#40H SETB TR1 LOOP: MOV SBUF,A JNB TI,$ CLR TI INC A SJMP LOOP END

四方区18241176080: 单片机编程用汇编好还是C语言好? -
班信康得: 开发当然是用C,又快又易懂好维护,但是想要优化程序还是要懂汇编的,要不然实现同样一个功能的程序,好的程序员可以把程序设计得又短又快,而不做优化的可能会又臭又长,2K以下可以搞定的,你非要搞到4K以上去那最终产品的成本每个至少会相差几毛到一两块钱,而且成本升高时质量却是下降的,这样当然就不好了,所以我个人认为做单片机编程,应当是汇编和C都会才是最好的,次一点的是会C,且能大致看懂汇编,可以帮助优化C程序, 只会汇编,一个程序开发下来,得花几周到几个月,开发成本太高了,不值得 只会C完全不懂汇编,那也是很难做出高质量的单片机程序的

四方区18241176080: 现在单片机都是用c语言编程,为啥书上讲的全是汇编语言,到底用不用学汇编 -
班信康得: 汇编语言才是程序设计的根本呀,汇编语言的命令和计算机的二进制命令代码是一一对应的. 使用汇编编写程序,你可以清除的知道你的数据存放在那个寄存器中,存放在内存的什么位置,可以轻松地控制计算机的所有底层硬件设备.学习汇编才是王道! C语言的优点是开发速度比汇编快.学习计算机、单片机的人一定要会汇编语言,会了汇编语言,你才能说是真的懂了计算机、单片机!

四方区18241176080: 我想学习单片机谁知道高手是学汇编好还是C语言好
班信康得: 菜鸟选择低级汇编语言.因为单片机只需要低级汇编语言就可以.你只要学好指令,读懂程序,会用一些拦截等技术加好操作就没问题.C能大大提高开发的效率.不过汇编执行效率高.高手都会!

四方区18241176080: 怎么用汇编语言在单片机一个I/O输出高电平和低电平 -
班信康得: 看是什么单片机,不同的单片机汇编语言也是不同,拿51单片机来说,如果只是一个I/O口,用SETB实现输出高电平,用CLR实现输出低电平,比如P1口,就是SETB P1...

四方区18241176080: 单片机中,怎样把C语言转化为汇编语言? -
班信康得: 单片机是没这个能力将C语言转换为汇编语言的,它只知道执行1或0.汇编语言和C语言都是我们用来跟单片机沟通的语言 只有用软件来编译为单片机可执行的1,0文件 单片机才能运行. 所以要c语言编译为汇编语言是我们所用到的编译器做的事情,比如说 keil iar gcc 等的编译器他们都支持C语言编译为汇编语言 并可生成单片机可执行文件.不同的单片机所用的编译器或许不同

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网