欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機A/D轉換及串行通信程序
[打印本頁]
作者:
1130718845
時間:
2022-6-9 15:13
標題:
51單片機A/D轉換及串行通信程序
要求:
1.硬件選擇通道,轉換結果顯示在LED上
2.利用串口助手與單片機就行串行通信,收到大寫字母轉換成小寫字母發回,反之亦然,但數字不變。
單片機源程序如下:
#include <reg51.h>
#include <stdio.h>
#include <intrins.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
uchar D,VAR,H4,L4;
uchar cod[] = {0xC0, 0xF9, 0xA4, 0xB0,
0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83,
0xC6, 0xA1, 0x86, 0x8E
}; //16進制
void delay(int n)
{
int i,j;
for(i=n;i>0;i--)
{
for(j=28;j>0;j--);
}
}
void display()
{
H4=D/16;
L4=D%16;
P2=cod[L4];
P1=0xfe;
delay(1);
P2=0xff;
delay(10);
P2=cod[H4];
P1=0xfd;
delay(1);
P2=0xff;
delay(10);
}
void main()
{
while(1)
{
XBYTE[0x8000]=0x00;
delay(50);
D=XBYTE[0x8000];
display();
}
}
復制代碼
#include <reg51.h>
#include <stdio.h>
#include <intrins.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
uchar D,VAR,H4,L4;
uchar cod[] = {0xC0, 0xF9, 0xA4, 0xB0,
0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83,
0xC6, 0xA1, 0x86, 0x8E
}; //16進制
void delay(int n)
{
int i,j;
for(i=n;i>0;i--)
{
for(j=28;j>0;j--);
}
}
void display()
{
H4=D/16;
L4=D%16;
P2=cod[L4];
P1=0xfe;
delay(1);
P2=0xff;
delay(10);
P2=cod[H4];
P1=0xfd;
delay(1);
P2=0xff;
delay(10);
}
void main()
{
PCON=0x80;//SMOD置1,波特率加倍
SCON=0x50;//設置為工作方式1:SCON:SMO SM1 SM2 REN TB8 RB8 TI(0101 0000)
TMOD=0x20;//設置計數器工作方式2
TH1=0xfa;//計數器賦初值
TL1=0xfa;
TR1=1;//打開計數器
while(1)
{
while(!RI){display();}
D=SBUF;
VAR=D;
RI=0;//清除接收中斷標志位
display();
if(0x40<D&&D<0x5b){VAR=D+0x20;}//大寫變小寫
else if(0x60<D&&D<0x7b){VAR=D-0x20;}//小寫變大寫
SBUF=VAR;
while(!TI){display();}
TI=0;//清除發送完成標志位
}
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1