收藏 分享(赏)

51实验 --串口通信、液晶显示c程序.doc

上传人:HR专家 文档编号:11559807 上传时间:2020-06-24 格式:DOC 页数:8 大小:24KB
下载 相关 举报
51实验 --串口通信、液晶显示c程序.doc_第1页
第1页 / 共8页
51实验 --串口通信、液晶显示c程序.doc_第2页
第2页 / 共8页
51实验 --串口通信、液晶显示c程序.doc_第3页
第3页 / 共8页
51实验 --串口通信、液晶显示c程序.doc_第4页
第4页 / 共8页
51实验 --串口通信、液晶显示c程序.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、51实验11-串口通信 串口通信,原理图如下:程序:C语言1:/*实现功能*接收电脑串口调试助手发来的信息,显示在发光二极管上(查询方式)*/*包含头文件*/#include/*初始化函数*/void init() TMOD=0x20;/设置定时器1为工作方式2 TH1=0xfd;/T1装初值 TL1=0xfd; TR1=1;/启动T1 REN=1;/允许串行接收 SM0=0;/设置串口为工作方式1 SM1=1; /*主函数*/void main() init();/初始化 while(1) if(RI=1); RI=0;/接收中断标志位(取消终端申请) P1=SBUF;/读取缓冲寄存器内数据

2、 C语言2:/*实现功能*接收电脑串口调试助手发来的信息,显示在发光二极管上(中断方式)*/*包含头文件*/#include/*初始化函数*/void init() TMOD=0x20;/设置定时器1为工作方式2 TH1=0xfd;/T1装初值 TL1=0xfd; TR1=1;/启动T1 REN=1;/允许串行接收 SM0=0;/设置串口为工作方式1 SM1=1; EA=1;/开总中断 ES=1;/开串口中断/*主函数*/void main() init();/初始化 while(1) void ser() interrupt 4 RI=0;/接收中断标志位(取消终端申请) P1=SBUF;/

3、读取缓冲寄存器内数据C语言3:/*实现功能*接收电脑串口调试助手发来的信息,并将收到的信息再发给电脑。*/*包含头文件*/#include/*宏定义*/#define uint unsigned int#define uchar unsigned char/*变量声明*/uchar flag,shou;/*初始化函数*/void init() TMOD=0x20;/设置定时器1为工作方式2 TH1=0xfd;/T1装初值 TL1=0xfd; TR1=1;/启动T1 REN=1;/允许串行接收 SM0=0;/设置串口为工作方式1 SM1=1; EA=1;/开总中断 ES=1;/开串口中断/*主函

4、数*/void main() init();/初始化 while(1) if(flag=1) flag=0; ES=0;/关串行口中断 SBUF=shou;/SBUF=1;/SBUF=s;/将变量shou中的数据传给缓冲器 while(!TI); TI=0;/发送中断标志位(取消中断申请) ES=1;/开串行口中断 void ser() interrupt 4 RI=0;/接收中断标志位(取消中断申请) P1=SBUF;/读取缓冲寄存器内数据 shou=SBUF;/将缓冲区的数据读入变量shou flag=1;1602液晶显示,原理图如下:程序:C语言1:/*实现功能*在第一行显示ILIKEY

5、!,在第二行显示WOAINI!。显示完毕后,整屏左移,进入液晶显示界面。*/*包含文件头*/#include/*宏定义*/#define uint unsigned int#define uchar unsigned char/*位声明*/sbit lcden=P34;/液晶控制sbit lcdrs=P35;/液晶控制sbit dula=P26;/关锁存器,防止USBsbit wela=P27;/供电不足/*函数声明*/void delay(uint z);/延时void write_com(uchar com);/写指令void write_date(uchar date);/写数据/*显示

6、编码*/uchar code table1=ILIKEY!;uchar code table2=WOAINI!;/*变量声明*/uchar num;/*初始化函数*/void init() dula=0;/关锁存器 wela=0; lcden=0;/使能信号,允许控制 write_com(0x38);/显示模式设置/设置显示为16*2显示,5*7点阵,8位数据接口/ write_com(0x0e);/开显示,显示光标,光标不闪烁/ write_com(0x0f);/开显示,显示光标,光标闪烁/ write_com(0x0b);/关显示,显示光标,光标不闪烁 write_com(0x0c);/开

7、显示,不显示光标,光标不闪烁/ write_com(0x0d);/开显示,不显示光标,光标闪烁 write_com(0x06);/当读或写一个字符后,地址指针加一,且光标加一/当写一个字符时,整平显示不移动/* write_com(0x04);/当读或写一个字符后,地址指针减一,且光标减一/当写一个字符时,整平显示不移动*/* write_com(0x07);/当写一个字符时,整平显示左移,/以得到光标不移而屏幕移动的效果。*/* write_com(0x05);/当写一个字符时,整平显示右移,/以得到光标不移而屏幕移动的效果。*/ write_com(0x01);/显示清屏/数据指针清零,所

8、有显示清零/* write_com(0x02);/显示回车/数据指针清零*/ write_com(0x80+0x10);/设置数据地址指针/设置数据指针为外侧,然后移动到内侧/*主函数*/void main() init();/初始化 for(num=0;num7;num+)/第一行显示7个字符 write_date(table1num);/写数据 delay(20); / write_com(0x01);/清屏 write_com(0x80+0x50);/设置第二行为显示位 for(num=0;num7;num+)/第二行显示7个字符 write_date(table2num);/写数据 d

9、elay(20); for(num=0;num0;x-) for(y=110;y0;y-);C语言2:/*实现功能*在第一行显示ILIKEY!,在第二行显示WOAINI!。光标显示,光标闪烁,慢速从左向右显示!/*包含文件头*/#include/*宏定义*/#define uint unsigned int#define uchar unsigned char/*位声明*/sbit lcden=P34;/液晶控制sbit lcdrs=P35;/液晶控制sbit dula=P26;/关锁存器,防止USBsbit wela=P27;/供电不足/*函数声明*/void delay(uint z);/

10、延时void write_com(uchar com);/写指令void write_date(uchar date);/写数据/*显示编码*/uchar code table1=ILIKEY!;uchar code table2=WOAINI!;/*变量声明*/uchar num;/*初始化函数*/void init() dula=0;/关锁存器 wela=0; lcden=0;/使能信号,允许控制 write_com(0x38);/显示模式设置/设置显示为16*2显示,5*7点阵,8位数据接口/ write_com(0x0e);/开显示,显示光标,光标不闪烁 write_com(0x0f)

11、;/开显示,显示光标,光标闪烁/ write_com(0x0b);/关显示,显示光标,光标不闪烁/ write_com(0x0c);/开显示,不显示光标,光标不闪烁/ write_com(0x0d);/开显示,不显示光标,光标闪烁 write_com(0x06);/当读或写一个字符后,地址指针加一,且光标加一/当写一个字符时,整平显示不移动/* write_com(0x04);/当读或写一个字符后,地址指针减一,且光标减一/当写一个字符时,整平显示不移动*/* write_com(0x07);/当写一个字符时,整平显示左移,/以得到光标不移而屏幕移动的效果。*/* write_com(0x05

12、);/当写一个字符时,整平显示右移,/以得到光标不移而屏幕移动的效果。*/ write_com(0x01);/显示清屏/数据指针清零,所有显示清零/* write_com(0x02);/显示回车/数据指针清零*/ write_com(0x80);/设置数据地址指针/设置数据指针为第一行起始位置/*主函数*/void main() init();/初始化 for(num=0;num7;num+)/第一行显示7个字符 write_date(table1num);/写数据 delay(300); / write_com(0x01);/清屏 write_com(0x80+0x40);/设置第二行为显示位 for(num=0;num7;num+)/第二行显示7个字符 write_date(table2num);/写数据 delay(300); /* for(num=0;num0;x-) for(y=110;y0;y-);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报