完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
就是一个74595和P0口控制矩阵LED(51单片机)。当575最高位制高时,必须调用两次595函数,才能正常显示矩阵,这么说呢,74595控制矩阵阳极。P0控制阴极。但是写P0=0x00;595函数=0x80;按理第一排LED灯亮。可是都没有亮;但是写成P0=0x00;595函数=0x80;595函数=0x80;对就是595函数调用,两次第一排LED灯才亮,其他的只要最高位不等于1.函数只调用一次就亮。打个比方P0=0x00;595函数=0xEF;按理应该亮1234678排,其实全不亮;P0=0x00;595函数=0xEF;595函数=0xEF;这样就行;还有就是P0=0x00;595函数=0xFF,按理全亮,实际全不亮,写几道都不亮;下面是程序:/**************************************************************************************
* 8*8LED点阵———点亮一个点实验 * 实现现象:下载程序后点阵左上角第一个点点亮 注意事项:一定要将74HC595模块上的JP595短接片短接,并且将JOE短接片短接到GND端。 ***************************************************************************************/ #include "reg51.h" //此文件中定义了单片机的一些特殊功能寄存器 #include typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; ***it SRCLK=P3^6; ***it RCLK=P3^5; ***it SER=P3^4; void delay() { u16 i=10000; while(i--); } /******************************************************************************* * 函数名 : Hc595SendByte(u8 dat) * 函数功能 : 向74HC595发送一个字节的数据 * 输入 : 无 * 输出 : 无 *******************************************************************************/ void Hc595SendByte(u8 dat) { u8 a; SRCLK=0; RCLK=0; for(a=0;a<8;a++) { SER=dat>>7; dat<<=1; SRCLK=1; _nop_(); _nop_(); SRCLK=0; } RCLK=1; _nop_(); _nop_(); RCLK=0; } /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { P0=0x00; Hc595SendByte(0xEF); Hc595SendByte(0xEF); while(1); } |
|
相关推荐
5个回答
|
|
我记得595好像是先前边是行,后边是列,先发行 后发列数据来着,记不起了,很长时间不玩了
|
|
|
|
你试着把"SRCLK=1;_nop();_nop();SRCLK=0;"和"RCLK=1;_nop();_nop();RCLK=0;"改成"SRCLK=0;_nop();_nop();SRCLK=1;"和"RCLK=0;_nop();_nop();RCLK=1;"
|
|
|
|
|
|
|
|
RCLK=1;
_nop_(); _nop_(); RCLK=0; 这里错了,上升沿锁存显示,下降沿数据保持。把最上面的 RCLK=0;去掉,改成 RCLK=0; _nop_(); _nop_(); RCLK=1;时序就对了。 |
|
|
|
void Hc595SendByte(u8 dat)
{ u8 a; for(a=0;a<8;a++) { SER=dat>>7; dat<<=1; SRCLK=0; _nop_(); _nop_(); SRCLK=1; } RCLK=0; _nop_(); _nop_(); RCLK=1; }这样的时序 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
494 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
1050 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1151 浏览 0 评论
887 浏览 0 评论
928 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11840 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 07:02 , Processed in 0.579482 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号