谁能给看看我这个程序哪有问题,编译都通不过,提示"WR_595"有错,先谢谢了。
2013.6.16
实在是太感谢大家了,不好意思,我给的附件是写在文档中的,错误很多。其实我在keil中编译时已经把诸如少“}”;中英文符号;EA1=1;RCK写成RCY等等都已经改过来了。现在根据二位的指点,问题已经找到了:就是"WR_595"的前面给temp赋值的那一句方括号后面没有加“;”。原来还以为不用加呢。
另外,还要特别感谢cjtdz朋友,我就是在这几天看了你的“歪理邪说话单片机入门”才开始学习单片机的,今后还望多多指教。现在这个程序只是做个试验,还要外挂一个24C02用来及时存储计数器的数据,掉电恢复后读出来接着计数;再加一个时钟芯片,IIC通信的。关键是到现在我还没弄明白怎么用6片HC595全部级联,其中的中间4片用来驱动4位数码管,头一片带两个LED指示,最后一片取出5个脚位,有选择的连到单片机的同一个I/O口,完成5个不同的功能,难道是用这一个I/O口检测5个脉冲宽度不同的脉冲,还是记脉冲个数,不管哪种方法,怎么通过和数码管公用的SDATA线传递,也就是怎么取用来显示四位数的数码管需要的数据和用来输出功能脉冲的数据?
6.19
今天很高兴,特向大家汇报一下,可逆计数报警功能基本实现。原来我把uchar型的num(变量)按6位数分解位值,keil编译时竟然不会警告,害我走了不少弯路。现在该学习如何用一个通用I/O口识别五种信号。初步设想采用“解码红外遥控器”的范例,但显然无论在个位上送什么数字,在对应的HC595的3 4 5 6 7脚上也不能得到5种不同的信号,只能在个位送个不断变化的数,即使这样,那么在HC595的3 4 5 6 7各脚上得到的信号的变化规律也是一样的,无法区分。如果这一关过不去,就无法手动预置数值。唉,现在还没有头绪,谁能给提个醒?(现在这个I/O口只能实现按下时清零的功能)
6.20
今天终于弄明白了,只需让“个位”在另一个表中取值,并巧妙排序表中数值,就要什么信号,有什么信号了。