完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 iritwq 于 2016-6-8 19:21 编辑
单片机STC89C52RC,初学驱动数码管,按照思路是先显示一遍0-9,下来就不断循环显示1-9,proteus仿真一切正常,但是把程序烧写到芯片上之后只能显示0-9一次,然后就不显示了。但是删掉 jnb p1.3,Set3 这句,就一切OK了,真是奇怪,求助坛友怎么处理才好 完整程序如下: ORG 0000H ;ORG伪指令来规定程序的起始地址 LJMP MAIN ORG 0060H ;数据表: DB 03FH,0FFH, 03FH,0FEH, 03FH,0FDH, 03FH,0FBH, 03FH,0F7H ;显示设定圈数的数值,两个一组前一数字是字模,后一位数字是显示该字的选通码 DB 03FH,0FFH, 03FH,0EFH, 03FH,0DFH, 03FH,0BFH, 03FH,07FH ;显示实际圈数的数值,前一数字赋值给P0,后一数字赋值给P2,对应的数码管亮一下 DB 03FH, 006H, 05BH, 04FH, 066H, 06DH, 07DH, 007H, 07FH, 06FH ;正置数码管显示0~9, 0-9字模的存储位置 ORG 0100H MAIN: mov p1,#0FFh ;初始化P1口为高电平以关闭所有数码管 call test ;让各数码管从0显示到9以检测显示正常与否 start: jnb p1.0,SET0 ;如果Bit不是1,跳转到start1 jnb p1.1,Set1 ;如果Bit是1,跳转set2 jnb p1.2,Set2 jnb p1.3,Set3 ;这句删掉就能正常显示 jnb p1.4,Set4 jnb p1.5,Set5 jnb p1.6,Set6 jnb p1.7,Set7 call test JMP start SET0: JMP start SET1: JMP start SET2: JMP start SET3: JMP start SET4: JMP start SET5: JMP start SET6: JMP start SET7: JMP start ;=================== test:让所有数码管从0显示到9 ============= test: mov p0,#03Fh ;把数字0的字模送入P0 mov p2,#000h ;设置p2口为低电平,此时所有数码管都显示 mov r1,#074h ; 0-9字模的存储位置,从这个数开始增加,寻找与当前显示的数字对应的数,然后找出下一个数存入显示的位置 different: mov a,r1 inc R1 MOVC A, @A+DPTR ;把 数据表中的第一个数据读到A里,A中的值就是调试时观察窗口里ACC的值 mov r2,p0 XRL A, r2 ; A与R2中的数据进行异或操作,结果放在A中。异或,相同为“0”,相异为“1”。 jz next ;A中内容为0,说明找到了目前显示的数字的字模,就把下一个字模放到当前位置 jmp different next: MOV A,R1 ;否则可以增加数字,R1中的数字作为相对地址寻址找到下一个数字的代码送入P0 MOVC A, @A+DPTR mov p0,a MOV R4,#0H pause: INC R4 mov A,R4 XRL A, #0FFh ;设置每个数字显示的时间 JZ continue MOV A,R1 CALL DELAY MOV R1,A JMP pause continue: mov A,R1 XRL A,#07Eh jz testOK jmp different testOK: ret ;=================== DELAY: 延时子程序 ====== DELAY: MOV R6,#04H DL0: MOV R5,#0F8H DJNZ R5,$ DJNZ R6,DL0 NOP RET END |
|
相关推荐
1个回答
|
|
已解决,是芯片坏了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
757 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
728 浏览 0 评论
826 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1459 浏览 0 评论
1208 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12057 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 06:15 , Processed in 0.632634 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号