微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PC键盘与AVR单片机连接的C语言源程序

PC键盘与AVR单片机连接的C语言源程序

时间:11-10 来源:互联网 点击:

main.c

/********************************************
Chip type : AT90S4434
Clock frequency : 8,000000 MHz
Memory model : Tiny
Internal SRAM size : 256
External SRAM size : 0
Data Stack size : 64
*********************************************/

#include <90s4434.h>
#include "kb.h"
#include

// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15
#endasm
#include

// Declare your global variables here

void main(void)
{

// Declare your local variables here
unsigned char key;

// Input/Output Ports initialization
// Port A
PORTA=0x00;
DDRA=0x00;

// Port B
PORTB=0x00;
DDRB=0x00;

// Port C
PORTC=0x00;
DDRC=0x00;

// Port D
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Output Compare
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Output Compare
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Output Compare
// OC2 output: Disconnected
TCCR2=0x00;
ASSR=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Oon
// INT1: Off
GIMSK= 0x40; // Enable INT0 interrupt
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;

// LCD module initialization
//lcd_init(20); // Init 20 Zeichendisplay
lcd_init(16); // Init 16 Zeichendisplay

InitKeyBoard(); // Initialize keyboard reception

while(1)
{
key = getchar_kb();
lcd_putchar(key);
delay_ms(5);

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top