单片机串口接收发送并显示字符串

上传人:飞****9 文档编号:131920066 上传时间:2020-05-10 格式:DOC 页数:4 大小:36.50KB
返回 下载 相关 举报
单片机串口接收发送并显示字符串_第1页
第1页 / 共4页
单片机串口接收发送并显示字符串_第2页
第2页 / 共4页
单片机串口接收发送并显示字符串_第3页
第3页 / 共4页
单片机串口接收发送并显示字符串_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机串口接收发送并显示字符串》由会员分享,可在线阅读,更多相关《单片机串口接收发送并显示字符串(4页珍藏版)》请在金锄头文库上搜索。

1、#include #define uchar unsigned char#define uint unsigned intsbit rs=P25; /命令/数据选择sbit rw=P24; /读写口sbit e=P23; /锁存控制uchar data table32; /暂存数组,可以将10改为你需要的数值/*串行口初始化波特率9600,定时器1,工作方式2 */void serial_init(void) TMOD=0x20;/计时器1作为比特率发生器,方式2TH1=0xfd; TL1=0xfd; /装入初值TR1=1;/计时中断允许SM0=0;SM1=1;/串行口工作于方式2ES=1;/

2、串行口中断允许REN=1;/接收允许EA=1;/总中断允许/* * 串行口传送数据 传送显示数组各字符给计算机*/void send(uchar *dis)while(*dis!=0) SBUF=*dis; dis+; while(!TI); TI=0;/软件请发送中断 /*/延时函数/*void delay(uint time) /int型数据为16位,所以最大值为65535 uint i,j; /定义变量i,j,用于循环语句 for(i=0;itime;i+) /for循环,循环50*time次 for(j=0;j100;j+); /for循环,循环50次 /*/向LCD写一命令/*voi

3、d wcode(uchar t) rs=0; / 写的是命令 rw=0; / 写状态 e=1; /使能 P0=t; /写入命令 delay(20); /等待写入,如果时间太短,会导致液晶无法显示 e=0; /数据的锁定/*/向LCD写一数据/*void wdata(uchar t) rs=1; / 写的是数据 rw=0; / 写状态 e=1; /使能 P0=t; /写入数据 delay(20); /等待写入,如果时间太短,会导致液晶无法显示 e=0; /数据的锁定/*/LCD显示第一行/*void xian1() uchar i; wcode(0x80); /设置第一行显示地址 for(i=0

4、;i16;i+) /循环16次,写完1行 wdata(tablei); /写入该行数据 /*/LCD显示第二行/*void xian2() uchar i; wcode(0xc0); /设置第二行显示地址 for(i=16;i33;i+) /循环16次,写完1行 wdata(tablei); /写入该行数据 /*/LCD 初始化/*void InitLCD() wcode(0x01); /清屏 wcode(0x06); /输入方式控制,增量光标不移位 wcode(0x0e); /显示开关控制 wcode(0x38); /功能设定:设置16x2显示,5x7显示,8位数据接口 /*/主函数/*void main() serial_init();/初始化 send(table);InitLCD(); /初始化1602 xian1(); /显示第一行 xian2(); /显示第二行 while(1); /进入死循环,防止看门狗复位/*串行中断服务函数单片机接收数据,存入table数组*/void serial() interrupt 4 int i; ES=0;/关串口中断 tablei+=SBUF;/命令存到命令数组 RI=0; /软件清除接收中断 ES=1;/开串口中断

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号