10626|15

5

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急......可以将两个程序合并而互不影响吗? [复制链接]

下面是两个汇编程序.一个是数码管显示程序,一分钟+1;另一个是延时程序.
可不可以将两个程序合并,但是两个程序互不影响.
怎么合并,请详细说说

请指教.不胜感激....

 ;本程序实现8段码动态显示功能
 org 0000h
 ajmp main
 org 0030h
main:
 mov dptr,#tab  ;将表头位置送入DPTR           
 mov 30h,#00h            ;将30H个位显示缓冲单元清零         
 mov 31h,#00h            ;将31H十位显示缓冲单元清零         
 mov 32h,#00h            ;将32H百位显示缓冲单元清零         
 mov 33h,#00h            ;将33H千位显示缓冲单元清零         
loop:
 mov r4,#143  ;r4作为软件计数器
tt2: lcall display
     jb p3.0,tt
     ajmp tt1
tt:  lcall delay1ms
     jb p3.0,tt2
tt1:    lcall display  ;调用显示程序
 djnz r4,tt1  ;r4减一后不为零,返回tt1
 lcall update  ;调用刷新显示子程序
 ajmp loop  ;跳回loop,继续循环显示.
display:
 mov dptr,#tab                   
 mov r7,#100  ;软件计数器赋值                          
dd1:
 mov a,30h               ;将显示缓冲区30H中的值送入ACC          
 movc a,@a+dptr
 mov p0,a                ;将要显示的数送入P0口                  
 clr p2.4               ;选中第一个数码管                          
 lcall delay1ms        ;延时1mS                             
 setb p2.4                ;关个位显示单元                        
 mov a,31h               ;将显示缓冲区别31H中的值送入A          
 movc a,@a+dptr
 mov p0,a                ;将要显示的数送入P0口                  
 clr p2.5               ;开十位显示单元                        
 lcall delay1ms        ;延时1mS                             
 setb p2.5                ;关十位显示单元                        
 mov a,32h               ;将显示缓冲区32H中的值送入ACC          
 movc a,@a+dptr
 mov p0,a                ;将要显示的数送入P0口                  
 clr p2.6              ;开百位显示单元                        
 lcall delay1ms        ;延时1mS                             
 setb p2.6              ;关百位显示单元                        
 mov a,33h               ;将显示缓冲区33H中的值送入ACC          
 movc a,@a+dptr
 mov p0,a                ;将要显示的数送入P0口                  
 clr p2.7              ;开千位显示单元                        
 lcall delay1ms        ;延时1mS                             
 setb p2.7            ;关千位显示单元                        
 djnz r7,dd1             ;R7不等于0返回至DD1处                  
 ret                     ;R7等于0子程序返回                     

update:                         ;刷新显示子程序
 inc 30h   ;个位显示缓冲单元加一  
 mov a,30h
 cjne a,#10,exit  ;还没加到十,退出
 mov 30h,#00h  ;加到十了,个位清零
 inc 31h   ;十位显示缓冲单元加一  
 mov a,31h                                              
 cjne a,#10,exit         ;还没加到十,退出           
 mov 31h,#00h            ;加到十了,十位清零         
 inc 32h   ;百位显示缓冲单元加一  
 mov a,32h                                              
 cjne a,#10,exit         ;还没加到十,退出           
 mov 32h,#00h            ;加到十了,百位清零         
 inc 33h   ;千位显示缓冲单元加一  
 mov a,33h                                                                          
 cjne a,#10,exit         ;还没加到十,退出           
 mov 33h,#00h            ;加到十了,千位清零         
exit:
 ret   ;刷新显示子程序返回
delay1ms:
 
 mov r6,#10
tt7:
 mov r5,#50
 djnz r5,$
 djnz r6,tt7
 ret
delay10ms:
 mov r6,#100
tt8:
 mov r5,#50
 djnz r5,$
 djnz r6,tt8
 ret
tab:
 db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
 end



延时控制程序:
ORG 0000H
JMP MAIN
MAIN: CLR P1.0
      JB P3.0, $     ;P3.0为高电平停止
      CALL DELAY_2MS
      JB P3.0, main
      SETB P1.0
      CALL DELAY_2MS
      CLR P1.0
      CALL DELAY_6S
      JMP MAIN

delay_2ms:
 mov r6,#20
tt7:
 mov r5,#50
 djnz r5,$
 djnz r6,tt7
 ret
delay_6s:                   ;6,018,356uS
 mov r6,#118
tt6:
 mov r5,#255
 djnz r5,$
 djnz r6,tt6
 ret
END      
此帖出自单片机论坛

最新回复

只需要说清楚两个程序的功能就行了,不说的话给外人改。。很容易出问题。。。。说清楚了,感觉不会很难。。。。。 因为一个是延迟,一个是显示。。。。  详情 回复 发表于 2007-6-2 21:20
点赞 关注
 

回复
举报

1759

帖子

0

TA的资源

裸片初长成(高级)

沙发
 

Re: 急......可以将两个程序合并而互不影响吗?

最好在定时中断里面做显示 其他的就好控制了
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

Re: 急......可以将两个程序合并而互不影响吗?

可以,不过需要自己修改一下代码。
此帖出自单片机论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

4
 

Re: 急......可以将两个程序合并而互不影响吗?

[quote user="小51"]最好在定时中断里面做显示 其他的就好控制了 [/quote]

用定时中断怎么做显示呢?可以具体点吗
有没有此类的程序啊?

先谢过了
此帖出自单片机论坛
 
 
 

回复

1284

帖子

0

TA的资源

五彩晶圆(中级)

5
 

Re: 急......可以将两个程序合并而互不影响吗?

完全可以
此帖出自单片机论坛
 
个人签名呼呼...在校应届大四学生,代做电子类毕业设计(测量类、仪器类、控制类、无线通信类、电子产品类、界面设计类、纯论文类等等,一一俱全)。涉及各种单片机软硬件设计、电路模拟分析、FPGA、CPLD、ARM7/ARM9、LINUX、VB/VC++/QT界面等等。包过。。。欢迎咨询。Tel:13957160506。QQ:273437087
 
 

回复

1583

帖子

0

TA的资源

五彩晶圆(高级)

6
 

Re: 急......可以将两个程序合并而互不影响吗?

完全可以,只要把第二个程序的头文件去掉,只保留延时程序就行了.然后它他们合并放在一起就成了.
此帖出自单片机论坛
 
个人签名
 
 

回复

1583

帖子

0

TA的资源

五彩晶圆(高级)

7
 

Re: 急......可以将两个程序合并而互不影响吗?

因为不了解你所要做的功能,如果能把要求贴上来,可能把这个程序改得更精简一些~~~
此帖出自单片机论坛
 
个人签名
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

8
 

Re: 急......可以将两个程序合并而互不影响吗?

晕 这是不可以的 延时6s的时候怎么可能数码管显示
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

9
 

Re: 急......可以将两个程序合并而互不影响吗?

有什么具体问题 可以到华岳电子板块看看 应该可以知道答案的
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

9

帖子

0

TA的资源

一粒金砂(初级)

10
 

Re: 急......可以将两个程序合并而互不影响吗?

做时钟吗????用定时器定时1秒~~~
此帖出自单片机论坛
 
 
 

回复

449

帖子

0

TA的资源

五彩晶圆(高级)

11
 

Re: 急......可以将两个程序合并而互不影响吗?

把思路合并了,呵呵
此帖出自单片机论坛
 
个人签名世界是个圈,人生也是个圈。
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

12
 

Re: 急......可以将两个程序合并而互不影响吗?

只能用中断
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

1284

帖子

0

TA的资源

五彩晶圆(中级)

13
 

Re: 急......可以将两个程序合并而互不影响吗?

好了没?
此帖出自单片机论坛
 
个人签名呼呼...在校应届大四学生,代做电子类毕业设计(测量类、仪器类、控制类、无线通信类、电子产品类、界面设计类、纯论文类等等,一一俱全)。涉及各种单片机软硬件设计、电路模拟分析、FPGA、CPLD、ARM7/ARM9、LINUX、VB/VC++/QT界面等等。包过。。。欢迎咨询。Tel:13957160506。QQ:273437087
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

14
 

Re: 急......可以将两个程序合并而互不影响吗?

没声音了
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

3

帖子

0

TA的资源

禁止发言

15
 

Re: 急......可以将两个程序合并而互不影响吗?

把其中一个做成子程序,
此帖出自单片机论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 

Re: 急......可以将两个程序合并而互不影响吗?

只需要说清楚两个程序的功能就行了,不说的话给外人改。。很容易出问题。。。。说清楚了,感觉不会很难。。。。。 因为一个是延迟,一个是显示。。。。
此帖出自单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表