找回密码
 注册
关于网站域名变更的通知
查看: 281|回复: 2
打印 上一主题 下一主题

51单片机A/D转换及串行通信程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-15 09:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
要求:7 Q6 x. O5 W) Z: t% |
1.硬件选择通道,转换结果显示在LED上1 ^3 g# r" ]' n
2.利用串口助手与单片机就行串行通信,收到大写字母转换成小写字母发回,反之亦然,但数字不变。
- l' F: N  L& @$ r0 \7 L+ E+ i" m: Q9 N& b4 Y7 s+ n% s& @
单片机源程序如下:3 _) l' A, v: N2 Q: ]9 n- o
  • #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();
  •         }
  • }8 A% p5 |1 p0 \( s' [! f# ^) N) p

$ u& |, V1 J4 u, Z+ n复制代码9 x7 C+ e% Q" T2 c+ \( T
  • #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;//清除发送完成标志位
  •         }
  • }
    ( d) b7 q1 ~* f3 e8 p# w+ G7 o
/ p7 G. h; s" c! T6 Q

该用户从未签到

2#
发表于 2022-6-15 11:20 | 只看该作者
分析分析,学习学习。

该用户从未签到

3#
发表于 2022-6-15 14:33 | 只看该作者
分析,学习学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-12 02:58 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表