No.24871 作者:caorr 邮件:caorr@etang.com ID:11182 登陆:7次 文章数:17篇 最后登陆IP:58.32.191.166 最后登陆:2008/6/26 15:17:53 注册:2003/4/13 23:30:38 财富:170 发帖时间:2003/4/13 23:36:37 发贴者IP:211.80.85.126 标题:caorr:关于MAX7219的一个问题,请赐教 摘要:No.24871关于MAX7219的一个问题,请赐教 我用MAX7219驱动8位LED,想要使8位LED分别显示数字1~8,结果全速运行时,1~8显示(但有闪烁现象),但单步运行时,LED全亮,而且发现单步时当第一次调用DISPLAY时LED便已全亮,请问会是什么原因啊?我怎么都不明白,那时MAX7219还没初始化啊,怎么会亮的! 我若关掉电源再上电,请问7219里的寄存器是什么状态啊? 程序如下: MAX7219的DIN,LOAD,CLK分别连8051的P1.6,P3.5和8255的PC0 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#60H MOV A,#11000000B MOV DPTR,#7FFFH ;;8255控制口地址 MOVX @DPTR,A START: MOV 26H,#0BH ;; 扫描寄存器 (显示位数) MOV 27H,#07H ;; 取值由 00-- 07 , 分别表示显示 1 --- 8 个数码管 ;;单步运行时第一次调用DISPLAY,8位LED便已全亮 MOV 26H,#0AH ;;; 亮度寄存器 MOV 27H,#09H ;; 00 --- 0F 是由 最暗 --> 最亮 LCALL DISPLAY MOV 26H,#0CH ;; 关灭寄存器 MOV 27H,#01H ;; 取值为 0, 或 1. 为1,正常操作; 为0,关灭 LCALL DISPLAY MOV 26H,#0FH ;; 测试寄存器 MOV 27H,#00H ;; 取值为 0, 或 1. 为1,测试状态; 为0,正常操作 LCALL DISPLAY MOV 26H,#09H ;; 译码方式寄存器 MOV 27H,#0FFH ;; 取值为0FFH时为BCD码方式,00H时为段选码方 LCALL DISPLAY MOV 26H,#01H ;; 位0 MOV 27H,#01H LCALL DISPLAY MOV 26H,#02H MOV 27H,#02H LCALL DISPLAY ......
>>返回讨论的主题
|