❶ 單片機A發送數據到單片機B
使用串口進行通訊時,需要設置好相應的波特率和校驗,停止位等等,可以使用串口工具測試單片機a和b的串口,確認硬體沒有問題,波特率等設置一致的時候,只可能是軟體問題了
❷ 編程把a,b的值進行交換
#include <stdio.h>
void main()
{ int a,b;
printf("Input a,b;");scanf("%d%d",&a,&b);
a+=b;b=a-b;a-=b;
printf("a=%d b=%d\n",a,b);
}
這樣的!
❸ 2, 編寫程序,實現變數a和變數b中對應值的交換,使用指針完成.
#include<stdio.h>
voidswap(int*pa,int*pb)
{
inttmp=*pa;
*pa=*pb;
*pb=tmp;
}
intmain(void)
{
printf("請輸入兩個數: ");
inta,b;
scanf("%d%d",&a,&b);
printf("交換前:a=%d,b=%d ",a,b);
swap(&a,&b);
printf("交換後:a=%d,b=%d ",a,b);
return0;
}
❹ .用代碼實現變數a和變數b值的交換,並列印最終a和b的值。
#include<stdio.h>
void main()
{ int a,b,c;
printf("請輸入第一個整數:"); scanf("%d",&a);
printf("請輸入第二個整數:"); scanf("%d",&b);
printf("a=%d,b=%d\n",a,b);
c=a; a=b; b=c;
printf("交換後:\n");
printf("a=%d,b=%d\n",a,b);
}
❺ 下面的代碼,a和b的裡面值到底是怎樣交換的 求大俠詳細的講下 ...
很簡單的一道題目,給下注釋吧
#include<stdio.h>
int huan(int *a11,int *b11) //調用這個函數,這個函數用的是地址傳遞,
{
int t; //定義了一個臨時變數t
t=*a11; // 將a11的值賦給t
*a11=*b11; //將b11的值賦給a11
*b11=t; //將t的值賦給b11 ,這樣就將2個數字交換了
}
int main() //C語言是從main開始執行的,所以從這里開始執行
{
int a,b; //定義2個整型變數
int *a1,*b1; //定義兩個整型指針
scanf("%d%d",&a,&b); //讓用戶輸入2個數字
a1=&a;b1=&b; //將2個數字的地址賦給了a1 和b1
if(a<b)huan(a1,b1); //如果a<b 調用huan()函數
printf("D=%d\nX=%d",a,b); //列印大的數字和小的數字
getch();
return 0;
}
C語言分值傳遞和地址傳遞,地址傳遞能修改實參的數據,而值傳遞不能,
這個是C語言的基本 多看下C語言的書就懂了
我的博客:www.52sky.org
❻ 運用單片機基礎知識解決:用兩種方法實現累加器A與寄存器B的內容交換
方法1:
使用交換指令XCH
XCH A, 0F0H ;XCH指令的操作數一個為累加器A,另一個為直接地址,B的地址是0F0H
方法2:
藉助棧
PUSH ACC
PUSH 0F0H
POP ACC
POP 0F0H
方法3:
藉助另外一個寄存器
MOV R2, A
MOV A, 0F0H
MOV 0F0H, R2
我暫時想到這些,希望對你有幫助。
❼ c語言 將變數A和B的值進行互換 的程序
代碼如下:#include<stdio.h>
#include <stdlib.h>
void swap1(int& a,int& b)//使用中間變數交換兩個值
{
int temp = a;
a = b;
b = temp;
}
void swap2(int& a, int& b) //只用加法、減法、乘法也可以交換兩個值
{
a = a + b;
b = a - b;
a = a - b;
}
void swap3(int& a, int& b) //使用位運算也可以交換兩個值
{
a = a^b;
b = a^b;
a = a^b;
}
void main1mianshiti7()
{
int a1 = 1, b1 = 2;
int a2 = 10, b2 = 15;
int a3 = 78, b3 = 90;
int a = 2147483647, b = 1;
printf("a1=%p,b1=%p", &a1, &b1);
swap1(a1, b1);
swap2(a2, b2);
swap3(a3, b3);
printf("swap after~~~~~~~~~~~~~
");
printf("a1=%d,b1=%d
", a1, b1);
printf("a2=%d,b2=%d
", a2, b2);
printf("a3=%d,b3=%d
", a3, b3);
swap2(a, b);
printf("a=%d,b=%d
", a, b);
system("pause");
}
源代碼截圖:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
❽ 51單片機中,如何利用堆棧將A和B的值分別傳給R2和R3
如果當前,是使用第 0 區工作寄存器,可以如下:
PUSHACC
POP02H
PUSHB
POP03H
如果使用其它區的工作寄存器,就要根據 PSW,改變目標地址。
❾ 編寫程序,實現將a、b兩個整數的值交換並輸出
#include<stdio.h>
main()
{
int a,b;
printf("Input 2 integers\n");
scanf("%d%d", &a,&b);
printf("%d\n",a>b?a-b:b-a);
}
❿ 編寫程序 ,實現將a、b兩個整數的值交換並輸出
#include<stdio.h>
main()
{
int a,b;
printf("Input 2 integers\n");
scanf("%d%d", &a,&b);
printf("%d\n",a>b?a-b:b-a);
}