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

51单片机用串口控制LED

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-6-1 13:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
通过串口助手控制led,还有加了蜂鸣器,也有响声,不过不是太大,一点学习,希望大家多指教。
#include "reg52.h"                    //此文件中定义了单片机的一些特殊功能寄存器
. E% y. k8 g9 V, e1 `) s
typedef unsigned int u16;   //对数据类型进行声明定义
typedef unsigned char u8;
sbit beep=P1^5;
void delay(u16 i)
{
       while(i--);
}
/*******************************************************************************
* 函数名         :UsartInit()
* 函数功能          :设置串口
* 输入           :
* 输出               :
*******************************************************************************/
void UsartInit()
{
       SCON=0X50;               //设置为工作方式1
       TMOD=0X20;                    //设置计数器工作方式2
       PCON=0X80;               //波特率加倍
       TH1=0X30;                         //计数器初始值设置,注意波特率是300
       TL1=0X30;
       ES=1;                                        //打开接收中断
       EA=1;                                        //打开总中断
       TR1=1;                               //打开计数器
}
6 u4 G2 a4 \) u! W$ K3 C  j
/*******************************************************************************
*        : main
* 函数功能         : 主函数
*            :
*                 :
*******************************************************************************/
void main()
{      
       UsartInit();  //    串口初始化
       while(1);
}

) N% ?3 Q2 K; v. ?2 \/ v- r
/*******************************************************************************
* 函数名         : Usart() interrupt 4
* 函数功能         : 串口通信中断函数
* 输入           :
* 输出               :
*******************************************************************************/
void Usart() interrupt 4
{
       u8m;
       m=SBUF;
       beep=m;
       beep=~beep;
       delay(10);
       P2=m;
       RI= 0;//清除接收中断标志位
       SBUF=m;//将接收到的数据放入到发送寄存器
       while(!TI);                    //等待发送数据完成
       TI=0;
- _/ d) j" r  i- E4 C5 B9 ~9 e2 }
0 Q& M, c* ^: E& s
1:如果输入fe,那么P2口p2.0就亮,如果输入ff,p2.0就灭,如果想有闪烁,就输入ff fe ff,然后在定时发送那里有多长时间一次,我们自己设置,然后勾选,就会看到闪烁的led灯。
2:输入0011就会有响声,可以调节发送的次数,声音也会变化。
3:流水灯,点开扩展,会看到多条字符串定义,依次输入之后,点自动循环发送,就会出现流水灯,可以自己设置时间。

4 M2 S  y. p0 U6 h# c- I. i' i% V( \

" f6 s4 ~& R3 j& |" @
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-6-1 14:03 | 只看该作者
    $ Q2 ^& \1 @) l
    u8m; 这是什么意思?

    点评

    漏了个空格,u8 m 相当于unsigned char m  详情 回复 发表于 2020-6-2 09:17

    该用户从未签到

    3#
    发表于 2020-6-1 20:39 | 只看该作者
    程序谢的不错

    该用户从未签到

    4#
    发表于 2020-6-2 09:17 | 只看该作者
    Heaven_1 发表于 2020-6-1 14:03
    4 L" g( `- ?5 n5 a; v- vu8m; 这是什么意思?
    : q# I$ C. z. @( B
    漏了个空格,u8 m 相当于unsigned char m
    " e& H% @' ?! Z/ W! O3 ?

    点评

    谢谢,你这么一说我就明白了  详情 回复 发表于 2020-6-2 09:28
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
    发表于 2020-6-2 09:28 | 只看该作者
    行者~ABC 发表于 2020-6-2 09:172 c& D( X1 [9 u0 O
    漏了个空格,u8 m 相当于unsigned char m

    ( q+ m; ]9 E; ~  o- s, ]谢谢,你这么一说我就明白了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-24 18:43 , Processed in 0.093750 second(s), 31 queries , Gzip On.

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

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

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