|
傻孩子,正在看你们那本书,我用74HC595模拟AVR的SPI通信,那用PC口来模拟SPI总线时序,也即实现端口扩展,但是写的这个程序无法实现功能,也找不出问题了,所以发帖请帮忙,图见附件!
程序如下:(延时不用管,我是有的,只不过没在这儿贴上来而已)
#include <iom48v.h>
#include <macros.h>
#include "delay_us.h"
#define clk_high PORTC|=(1<<4) //PC4,串行移位脉冲
#define clk_low PORTC&=~(1<<4)
#define load_high PORTC|=(1<<3) //PC3,并行输出脉冲
#define load_low PORTC&=~(1<<3)
void main(void)
{
unsigned char i;
DDRC=0xff;
PORTC=0xff;
while(1)
{
load_low;//模拟#SS信号低电平
for(i=0;i<8;i++)
{
clk_low;?/模拟SCK信号的低电平
delay_us(100);
clk_high;//SCK信号高电平来,即一个上升沿脉冲,时钟脉冲
delay_us(100);
PORTC^=(1<<5);//串行数据由PC5口输入,即模拟MOSI
delay_us(200);
}
load_high;//#SS高电平来临,即开始送并行端口输出
delay_us(1000);
}
}
(原文件名:ourdev_574008.png) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|