Mọi người giúp em vs ạ! Nhất là ai có trình độ lập trình!
@bé nương nương @Fairy Piece @Nguyễn Hương Trà
Bài 1:
Nhập chữ hoa, in ra chữ thường tương ứng. INPUT Input Output A a Một ký tự là 1 chữ cái hoa OUTPUT In ra ký tự thỏa mãn
Bài 2:
Nhập vào ba số A, B, C, in ra (A - B)×C (A, B, C ≤ 100). INPUT
Ba số nguyên A, B, C cách nhau 1 dấu cách. OUTPUT In ra 1 số nguyên là đáp án.
Bài 3:
Nhập số nguyên A, in ra số lớn gấp đôi A. (A ≤ 100)
INPUT Số nguyên A
OUTPUT In ra số nguyên thỏa mãn.
Bài 4:
Nhập vào số N, in ra số các số nhỏ hơn hoặc bằng N2 và lớn hơn hoặc bằng N + 1 (N ≤ 15); INPUT Số nguyên N OUTPUT Số nguyên thỏa mãn đề bài
Bài 5:
Nhập vào chuỗi Z, in ra chuỗi Z theo thứ tự ngược lại. INPUT Một chuỗi ký tự Z viết liền không dấu OUTPUT Một chuỗi ký tự thỏa mãn đề bài
Input Output oahcnix xinchao
Bài 1
int main(void){
Serial.begin(9600);
char count = 1;
while(1){
Serial.print(""+String(count));
_delay_ms(1000);
count++;
}
}
Bài 2
int main(void){
USART_Init(MYUBRR);
int value = 0, integerValue, residual;
while(1){
integerValue = value/10;
residual = value%10;
USART_Transmit(integerValue +48);
USART_Transmit(residual +48);
USART_Transmit(' ');
_delay_ms(1000);
value++;
}
}
Bài 3
#define F_CPU 16000000UL // Clock Speed
#define BAUD 9600
#define MYUBRR F_CPU/16/BAUD-1
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
int main(){
DDRB = (1<<PB5); // Make pin 5 PORTB - LED built-in of is output
ADCSRB = (1<<ACME); // Enable AIN1 for Analog Comparator Negative Input
ACSR = 0x00; /* Clear ACSR register */
while(1){
if (ACSR & (1<<ACO))/* Check ACO bit of ACSR register */
PORTB =(1<<PB5);
else
PORTB = 0x00;
}
}
Bài 4
For Analog Comparator Negative Input = A0 and PD6 (AIN0) is Analog Comparator Negative Input.
#define F_CPU 16000000UL // Clock Speed
#define BAUD 9600
#define MYUBRR F_CPU/16/BAUD-1
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
int main()
{
DDRB = (1<<PB5); /* Make pin 7 of PORTC as output */
ADMUX = 0x00; /* Select ADC0 as a -ve pin of comparator */
ADCSRB = (1<<ACME); /* Enable analog comparator */
ACSR = 0x00; /* Clear ACSR resister */
ADCSRA = 0x00; //ADEN = 0, initial value = 0
while(1)
{
if (ACSR & (1<<ACO))/* Check ACO bit of ACSR register */
PORTB =(1<<PB5); /* Turn ON PC7 pin */
else /* If ACO bit is zero */
PORTB = 0x00; /* Then turn OFF PC7 pin */
}
}
Bài 5
Read analog value from pin A0 (PC0) and print out on Serial monitor.
#define F_CPU 16000000UL // Clock Speed
#define BAUD 9600
#define MYUBRR F_CPU/16/BAUD-1
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
void ADC_Init(){
DDRC=0x0; /* Make ADC in port C as input */
// ADCSRA = (1<<ADEN)|(111)
ADCSRA = 0x87; /* Enable ADC, fr/128 */
ADMUX = 0x40; /* Vref: Avcc, ADC initial channel: 0 */
}
int ADC_Read(char channel){
int Ain, AinLow;
ADMUX=ADMUX|(channel & 0x0f); /* Set input channel to read */
// ADMUX = (100)|(channel&1111)
// 4 channel A0 -> A5: need 4 bit to AND bit with channel
ADCSRA |= (1<<ADSC); /* Start conversion */
while((ADCSRA&(1<<ADIF))==0); /* Monitor end of conversion interrupt */
//1<<ADIF = 0001 0000;
//ADCSRA&(1<<ADIF) = (0b1100 0111)&(0001 0000) = 0x0
// after finishing conversion => ADIF = 1 => ADCSRA = 0b1101 0111
// so ADCSRA&(1<<ADIF) != 0
_delay_us(10);
AinLow = (int)ADCL; /* Read lower byte*/
Ain = (int)ADCH*256; /* Read higher 2 bits and
Multiply with weight */
// Ain = ADCH << 8
Ain = Ain + AinLow;
return(Ain); /* Return digital value*/
}
void USART_Init(unsigned int ubrr) {
/*Set baud rate */
UBRR0H = (unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;
//Enable receiver and transmitter
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
}
void USART_Transmit(unsigned char data){
/* Wait for empty transmit buffer */
while (!(UCSR0A & (1<<UDRE0)));
/* Put data into buffer, sends the data */
UDR0 = data;
}
int main(void){
char adcString[5];
int value;
ADC_Init();
USART_Init(MYUBRR);
char stringToSend[] = "ADC value: ";
while(1){
for (int i=0; i<sizeof(stringToSend)-1;i++){
USART_Transmit(stringToSend
);
}
value=ADC_Read(0);
itoa(value,adcString,10); /* Integer to string conversion */
for (int i=0; i<sizeof(adcString)-1;i++){
USART_Transmit(adcString);
}
USART_Transmit('\n');
_delay_ms(2000);
}
}