M
Mindaugasu
Guest
我试图使用接口AVR的通过将数据移位寄存器74HC164两条电线。但我无法取得我的代码正常工作:
代码:#包括<inttypes.h>
#包括<avr/io.h>
#包括<avr/interrupt.h>
#包括<avr/signal.h>
#包括<avr/delay.h>
#包括<avr/iom8.h>
#定义频率8000000
#定义datapin 0 / /从ATmega8的定义为74HC164 datapin
#定义clockpin 1 / /从ATmega8的定义为74HC164时钟引脚
#定义寄存器r16
/ *
液晶引脚连接到74hc164:
Q0的- “LCD_D4
第一季度- “LCD_D5
第二季- “LCD_D6
第3季- “LCD_D7
第四季度- “数控
问题5 - “数控
问题6 - “LCD_RS
问题7 - “LCD_E* /无效atmega8init(无效)
(
DDRC =(1“”DDC0)|(1“”DDC1);
)
无效sendByteToLCD(uint8_t LCDdata)
(
uint8_t一;PORTC&=〜(1“”0); / /设置datapin输出低电平
为(= 0,我“= 8,我 )/ /清除移位寄存器74HC164
(
PORTC | =(1“”1); / /设置clockpin输出高电平PORTC&=〜(1“”1); / /设置clockpin输出低电平)
为(= 0,我“= 7,我 )/ /写8位LCDdata登记的74HC164
(
如果(LCDdata&&0x01)后
(PORTC | =(1“”0); / /设置datapin输出高电平PORTC | =(1“”1); / /设置clockpin输出高电平_delay_us(100);
PORTC&=〜(1“”1); / /设置clockpin输出低电平PORTC&=〜(1“”0); / /设置datapin输出低电平)
其他的
(
PORTC&=〜(1“”0); / /设置datapin输出低电平PORTC | =(1“”1); / /设置clockpin输出高电平_delay_us(100);
PORTC&=〜(1“”1); / /设置clockpin输出低电平)
LCDdata = LCDdata“”1;
如果(1 == 7)
(
PORTC&=〜(1“”1);
PORTC | =(1“”0);
PORTC | =(1“”0);
)))
无效sendChar(uint8_t topack)/ /形式的数据准备好发送到74HC164
(
uint8_t包装;
/ *首4字节的包含液晶D4类第7天位
4和第5位不使用
第6位的LCD
代码:#包括<inttypes.h>
#包括<avr/io.h>
#包括<avr/interrupt.h>
#包括<avr/signal.h>
#包括<avr/delay.h>
#包括<avr/iom8.h>
#定义频率8000000
#定义datapin 0 / /从ATmega8的定义为74HC164 datapin
#定义clockpin 1 / /从ATmega8的定义为74HC164时钟引脚
#定义寄存器r16
/ *
液晶引脚连接到74hc164:
Q0的- “LCD_D4
第一季度- “LCD_D5
第二季- “LCD_D6
第3季- “LCD_D7
第四季度- “数控
问题5 - “数控
问题6 - “LCD_RS
问题7 - “LCD_E* /无效atmega8init(无效)
(
DDRC =(1“”DDC0)|(1“”DDC1);
)
无效sendByteToLCD(uint8_t LCDdata)
(
uint8_t一;PORTC&=〜(1“”0); / /设置datapin输出低电平
为(= 0,我“= 8,我 )/ /清除移位寄存器74HC164
(
PORTC | =(1“”1); / /设置clockpin输出高电平PORTC&=〜(1“”1); / /设置clockpin输出低电平)
为(= 0,我“= 7,我 )/ /写8位LCDdata登记的74HC164
(
如果(LCDdata&&0x01)后
(PORTC | =(1“”0); / /设置datapin输出高电平PORTC | =(1“”1); / /设置clockpin输出高电平_delay_us(100);
PORTC&=〜(1“”1); / /设置clockpin输出低电平PORTC&=〜(1“”0); / /设置datapin输出低电平)
其他的
(
PORTC&=〜(1“”0); / /设置datapin输出低电平PORTC | =(1“”1); / /设置clockpin输出高电平_delay_us(100);
PORTC&=〜(1“”1); / /设置clockpin输出低电平)
LCDdata = LCDdata“”1;
如果(1 == 7)
(
PORTC&=〜(1“”1);
PORTC | =(1“”0);
PORTC | =(1“”0);
)))
无效sendChar(uint8_t topack)/ /形式的数据准备好发送到74HC164
(
uint8_t包装;
/ *首4字节的包含液晶D4类第7天位
4和第5位不使用
第6位的LCD