照着DATAsheet写程序的一点体会!

来源:互联网 发布:非法网络彩票赌博平台 编辑:程序博客网 时间:2024/04/30 00:21

今天在实验室,照着74HC595的数据手册,写了一段代码,到底是没有经验的新手(以前都是拿别人的代码来改的),在写代码的时候出现了很大的问题,但是我感觉收获很多,所以现在总结下了。

   首先,我现在体会到了Source Insight这个软件的优越性,写代码很方便的啊,推荐下吧。

   我在21ic上下载了74HC595DATASHEET,然后读了第一页的简介,再看看引脚图,功能表,波形图(我感觉写代码的话,看这么多就够了)。

   然后根据他的功能表和波形图写代码,由于我以前一直使用的都是单片机的代码,所以今天写的代码是以前的单片机代码的格式。

  今天的平台是周立功的ARM7平台,CPULPC2210,这几天学了ARM,感觉ARM比单片机复杂多了,I/O输出一个值都要设置几个寄存器(PINSELIOLCLRIOSETIODIR,不像单片机那样可以直接I/O输出。

  74HC595是一个串入(串)并出带输出锁存的IC器件(8-bit serial-in/serial or parallel-out
shift register with output latches
)。

  看看功能表,当STSH信号同时上升沿的时候(MR引脚为高,OE引脚为低),先前移位寄存器的内容被传送到存储寄存器并且进行并行输出。因此我写了第一段代码让I/O口输出低电平,好让STSH可以输出一个上升沿。

  串行输出,就是一位位的传送,所以我要写一个循环,功能是得到要输出值的每一个bit,(要是在写单片机程序,这可方便多了),在ARM中,你无法直接让你得到的这个bit直接赋给信号线,所以还得处理一下,用IF判断,然后赋值(IOSET)或者清除(IOCLR)。在循环中利用SH的上升沿把数据串行输入(一共要8个上升沿),再利用ST的上升沿并行输出(只需要一个)。

  好郁闷哦,就这么小段的程序,把我忙得跌跌爬爬的,好陌生啊!

  总结:我感觉写代码并不难,关键就是如何准确的阅读它的DATASHEET,毕竟它是英文的,读错了就写错了。真是麻烦。以后要多写点才行了!

原创粉丝点击