博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AT80C51串口通信编程 | 按键控制LED灯列
阅读量:6279 次
发布时间:2019-06-22

本文共 1432 字,大约阅读时间需要 4 分钟。

uart8051.h:

img_8380354b9b30dc309691ed19087edf49.jpe

#ifndef __UART_H__#define __UART_H__#define XTAL 12000000#define baudrate 9600char UART_putchar(char ch);char UART_getkey(void);void InitCom(void);#endif

uart8051.c:

img_f69a1be2ee4018e79e086796d6df6c47.jpe

img_a275ac307ba962cced2f1344b0b63f48.jpe
#include 
#include "uart8051.h"char UART_putchar(char ch){ if(ch=='\n') { SBUF = 0x0d; while(TI == 0); TI=0; SBUF = 0x0a; } else SBUF = ch; while(TI == 0); TI = 0; return ch;}char UART_getkey(void){ char c; while(!RI); c = SBUF; RI = 0; return(c);}void InitCom(void){ SCON=0X50; TMOD=0X20; PCON=0X80; TH1=0XF3; TL1=0XF3; ES=0; EA=1; TR1=1;}

main.c:

img_93536365201714adc5ca79f55221e14e.jpe
img_7a80e826055237f0c3ac694dd013d708.jpe

#include 
#include
#include "uart8051.h"char putchar(char ch){ return UART_putchar(ch);}char _getkey(void){ return UART_getkey();}void main(void){ unsigned int tem; InitCom(); printf("´®¿Ú²âÊÔ£¬³£¹æʹÓÃ:\n"); UART_putchar('A');UART_putchar(' '); UART_putchar('B');UART_putchar(' '); UART_putchar('C');UART_putchar(' '); UART_putchar('D');UART_putchar(' '); UART_putchar('\n'); printf("Ç¿´óµÄ¸ñʽ»¯Á÷Êä³ö£º\n"); printf("Êä³öÒ»¸öÕûÐΣº%d\n",(int)6886); printf("Êä³öÒ»¸öʵÐÍ£º%d\n",(float)68.86); while(1) { printf("\nÊäÈëÒ»¸öÕûÐÍ£¬ËÍP2¿Ú×¢Òâ¹Û²ìP2¿ÚµÄµÆ:\n"); scanf("%d",&tem); P2=tem; }}

编译之后,打开烧录软件烧录,然后打开串口通信助手进行调试:

img_43adbc0b54ed94c4c66343981f142872.png

如上图,分别输入1+空格,2+空格,3+空格,效果图如下:

1+空格:

img_3114177d7fe69f1ad917e2c853a7ef39.png
2+空格:
img_058185997c8c0dae3f673b9882f63f63.png
3+空格:
img_23201c49429055671c6258877fea4683.png

转载地址:http://qxfva.baihongyu.com/

你可能感兴趣的文章
vue中数组变动不被监测问题
查看>>
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>
动态下拉菜单,非hover
查看>>
政府安全资讯精选 2017年第十六期 工信部发布关于规范互联网信息服务使用域名的通知;俄罗斯拟建立备用DNS;Google打击安卓应用在未经同意情况下收集个人信...
查看>>
简单易懂的谈谈 javascript 中的继承
查看>>
多线程基础知识
查看>>
iOS汇编基础(四)指针和macho文件
查看>>
Laravel 技巧锦集
查看>>
Android 使用 ViewPager+RecyclerView+SmartRefreshLayout 实现顶部图片下拉视差效果
查看>>
Flutter之基础Widget
查看>>
写给0-3岁产品经理的12封信(第08篇)——产品运营能力
查看>>
ArcGIS Engine 符号自动化配置工具实现
查看>>
小程序 · 跳转带参数写法,兼容url的出错
查看>>
flutter error
查看>>
Flask框架从入门到精通之模型数据库配置(十一)
查看>>
10年重新出发
查看>>