7219 不亮?

[复制链接]
2329|0
 楼主| zhbwgh 发表于 2007-4-12 08:56 | 显示全部楼层 |阅读模式
#include&nbsp;&quot;reg52.h&quot;<br />typedef&nbsp;unsigned&nbsp;char&nbsp;uchar;<br />sbit&nbsp;DIN_7219=P0^0;/*定义管脚*/<br />sbit&nbsp;LOAD_7219=P0^1;<br />sbit&nbsp;CLK_7219=P0^2;<br />#define&nbsp;addr_0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1&nbsp;/*显示数据1的寄存器地址*/<br />#define&nbsp;addr_trans&nbsp;&nbsp;&nbsp;&nbsp;0x9&nbsp;/*译码方式寄存器地址*/<br />#define&nbsp;addr_light&nbsp;&nbsp;&nbsp;&nbsp;0xA&nbsp;/*亮度寄存器地址*/<br />#define&nbsp;addr_scan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xB&nbsp;/*扫描界线寄存器*/<br />#define&nbsp;addr_close&nbsp;&nbsp;&nbsp;&nbsp;0xC&nbsp;/*掉电寄存器*/<br />#define&nbsp;addr_showtest&nbsp;0xF&nbsp;/*显示测试寄存器*/<br />void&nbsp;send_7219(uchar&nbsp;da)<br />{<br />&nbsp;&nbsp;uchar&nbsp;i;<br />&nbsp;&nbsp;for(i=0;i&lt8;i++)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;CLK_7219=0;<br />&nbsp;&nbsp;&nbsp;DIN_7219=(bit)(da&0x80);<br />&nbsp;&nbsp;&nbsp;da&lt&lt=1;<br />&nbsp;&nbsp;&nbsp;CLK_7219=1;<br />&nbsp;&nbsp;}<br />}<br />void&nbsp;write_7219(uchar&nbsp;addr,uchar&nbsp;dat)<br />{<br />LOAD_7219=0;<br />send_7219(addr);<br />send_7219(dat);<br />LOAD_7219=1;<br />}<br /><br />//-----------------------------------------<br />void&nbsp;ini_7219()<br />{<br />write_7219(addr_trans,0xff);/*译码方式选择,1111&nbsp;1111&nbsp;最高位选择小数点,低四位数据选择*/<br />write_7219(addr_light,0x08);/*亮度方式选择,17/32;*/<br />write_7219(addr_scan,0x02);/*扫描界限服务器*/<br />write_7219(addr_close,0x01);/*掉电寄存器*/<br />write_7219(addr_showtest,0x00);/*测试寄存器,正常模式为0*/<br />}<br /><br />main()<br />{<br />&nbsp;&nbsp;ini_7219();&nbsp;<br />&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;write_7219(addr_0,0x1);<br />&nbsp;&nbsp;}<br />}<br />各位大虾&nbsp;看看是程序的问题吗?如果我给p00高电平的话(在外部直接给高),显示为8小数点也亮,求教这是为什么,谢谢大家,我在线等,谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

51

帖子

0

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