Professional Documents
Culture Documents
#include <mega16.h>
#include <delay.h>
//#include <stdio.h>
#define sizeBuf 50
#define ETX 3
#define ACK 6
#define statusCetak 1
#define statusFull 2
struct buffer{
unsigned char sBuffer[sizeBuf];
unsigned char bufPointer;
unsigned char status;
}penampung;
-1-
Friday, June 16, 2017 8:09 AM
void main(void)
{
unsigned char c=0;
char s1[]="MIKROKONTROLER II";
char s2[]="JTD - 2E";
UCSRA=0b00000000;
UCSRB=0b10011000;
UCSRC=0b10000110;
UBRRH=0x00;
UBRRL= myUBRR;// 0x0C;
#asm("sei")
PORTA = 0b00001111;
DDRA = 0b00000000;
DDRB = 0b11111111;
PORTB = 255;//blank
PORTD = 0b00001100;
DDRD = 0b00000000;
penampung.bufPointer=0;
while (1)
{
if (penampung.status == statusCetak) {
char c=penampung.sBuffer[0], index=0;
while (c != 0){
PORTB=dec[c-' ']; delay_ms(500);
PORTB=255; delay_ms(200);
c=penampung.sBuffer[++index];
}
penampung.status = 0;
}
if (PINA.0 == 0) {
for(c=0; s1[c]!=0;c++){
UDR = s1[c]; delay_ms(2); }
//puts(s1);
EndofText
while(PINA.0 == 0); }
if (PINA.1 == 0) {
for(c=0; s2[c]!=0;c++){
UDR = s2[c]; delay_ms(2); }
EndofText
//printf("%s%c",s2,ETX);
while(PINA.1 == 0);
}
if (PINA.2 == 0) {
for(c=0; s1[c]!=0;c++){
UDR = s1[c]; delay_ms(2); }
for(c=0; s2[c]!=0;c++){
UDR = s2[c]; delay_ms(2); }
EndofText
//printf("%s%s%c",s1,s2,ETX);
while(PINA.1 == 0); }
if (PINA.3 == 0) {
-2-
Friday, June 16, 2017 8:09 AM
-3-