7219闪烁

[复制链接]
2940|2
 楼主| zhbwgh 发表于 2007-4-13 17:32 | 显示全部楼层 |阅读模式
请教大家:<br />&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&ltreg51.h&gt&nbsp;<br />//max7219&nbsp;part<br />#define&nbsp;&nbsp;DECODE_MODE&nbsp;&nbsp;&nbsp;0x09&nbsp;<br />#define&nbsp;&nbsp;INTENSITY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0A&nbsp;<br />#define&nbsp;&nbsp;SCAN_LIMIT&nbsp;&nbsp;&nbsp;&nbsp;0x0B&nbsp;<br />#define&nbsp;&nbsp;SHUT_DOWN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0C&nbsp;<br />#define&nbsp;&nbsp;DISPLAY_TEST&nbsp;&nbsp;0x0F&nbsp;<br /><br />sbit&nbsp;LOAD&nbsp;=&nbsp;P0^1;&nbsp;//MAX7219&nbsp;&nbsp;&nbsp;&nbsp;Load-Data&nbsp;Input:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rising&nbsp;edge&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pin&nbsp;12&nbsp;<br />sbit&nbsp;DIN&nbsp;&nbsp;=&nbsp;P0^0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//MAX7219&nbsp;&nbsp;&nbsp;&nbsp;Serial-Data&nbsp;Input:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rising&nbsp;edge&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pin&nbsp;1<br />sbit&nbsp;CLK&nbsp;&nbsp;=&nbsp;P0^2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//MAX7219&nbsp;&nbsp;&nbsp;Serial-Clock&nbsp;Input:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maximum&nbsp;10MHz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pin&nbsp;13<br /><br />/***********************************************************<br />函数声明<br />***********************************************************/<br />void&nbsp;Write_Max7219_byte(unsigned&nbsp;char&nbsp;temp);<br />void&nbsp;Write_Max7219(unsigned&nbsp;char&nbsp;address,unsigned&nbsp;char&nbsp;dat);<br /><br />void&nbsp;main(void)<br />{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Write_Max7219(SHUT_DOWN,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01);&nbsp;&nbsp;&nbsp;//Normal&nbsp;Operation&nbsp;XXXXXXX1&nbsp;Shutdown&nbsp;Mode&nbsp;&nbsp;&nbsp;XXXXXXXX0<br />&nbsp;&nbsp;&nbsp;&nbsp;Write_Max7219(DISPLAY_TEST,&nbsp;0x00);&nbsp;&nbsp;&nbsp;//Normal&nbsp;Operation&nbsp;XXXXXXX0&nbsp;Display&nbsp;Test&nbsp;Mode&nbsp;XXXXXXXX1<br />&nbsp;&nbsp;&nbsp;&nbsp;Write_Max7219(DECODE_MODE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xFF);&nbsp;&nbsp;&nbsp;//Decode&nbsp;Mode&nbsp;Select&nbsp;D7~D0&nbsp;1&nbsp;B&nbsp;decode&nbsp;0&nbsp;No&nbsp;decode&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Write_Max7219(SCAN_LIMIT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x02);&nbsp;&nbsp;&nbsp;//SCAN&nbsp;LIMIT&nbsp;0~7&nbsp;0xX0~0xX7<br />&nbsp;&nbsp;&nbsp;&nbsp;Write_Max7219(INTENSITY,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0F);&nbsp;&nbsp;&nbsp;//Set&nbsp;Intensity&nbsp;&nbsp;&nbsp;0xX0~0xXf<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{Write_Max7219(0x01,1);}<br /><br />}<br />/******************************************<br />发送一个字节的子程序:<br />上升沿发送数据,<br />MSB&nbsp;first<br />******************************************/<br />void&nbsp;Write_Max7219_byte(unsigned&nbsp;char&nbsp;temp)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i&lt8;&nbsp;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLK&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DIN&nbsp;=&nbsp;(bit)(temp&0x80);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;&lt&lt=1;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLK&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />/**********************************************************<br />向寄存器中写入一个数据<br />先写地址,后写数据<br />load&nbsp;上升沿锁存数据<br />**********************************************************/<br />void&nbsp;Write_Max7219(unsigned&nbsp;char&nbsp;address,unsigned&nbsp;char&nbsp;dat)<br />{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;LOAD&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;Write_Max7219_byte(address);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Write_Max7219_byte(dat);<br />&nbsp;&nbsp;&nbsp;&nbsp;LOAD&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLK&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />数码管随意闪烁,就是数字不固定,不能准确显示,求教一下,这是哪里的问题,谢谢各位高手了!!!
zgl7903 发表于 2007-4-13 21:23 | 显示全部楼层

示波器测量下发送的时钟端和数据端,看看信号是否满足要

  
 楼主| zhbwgh 发表于 2007-5-23 10:29 | 显示全部楼层

回复:

&nbsp;已解决,多谢楼上的,是硬件问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

51

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部