收藏 分销(赏)

单片机串口通信实验.doc

上传人:仙人****88 文档编号:9397389 上传时间:2025-03-24 格式:DOC 页数:3 大小:19.54KB 下载积分:10 金币
下载 相关 举报
单片机串口通信实验.doc_第1页
第1页 / 共3页
单片机串口通信实验.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
#include <reg51.h> unsigned char shuju; void InitUART(void) { TMOD = 0x20; SCON = 0x50; TH1 = 0xFD; TL1 = TH1; PCON = 0x00; EA = 1; ES = 1; TR1 = 1; } void SendOneByte(unsigned char c) { SBUF = c; while(!TI); TI = 0; } void UARTInterrupt(void) interrupt 4 { if(RI) { RI = 0; shuju=SBUF; shuju++; SendOneByte(shuju); } else TI = 0; } void main(void) { InitUART(); while(1); } #include <reg51.h> unsigned char code disp_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; unsigned char code key_code[]={ 0x11,0x21,0x41,0x81,0x12,0x22,0x42,0x82, 0x14,0x24,0x44,0x84,0x18,0x28,0x48,0x88}; /********************************************************** 初始化 **********************************************************/ void InitUART(void) { TMOD = 0x20;SCON = 0x50; TH1 = 0xFD; TL1 = TH1; PCON = 0x00; EA = 1; ES = 1; TR1 = 1; } /********************************************************** 延时函数 **********************************************************/ void delayms(unsigned int ms) { unsigned char t; while(ms--) { for(t = 0; t < 100; t++); } } /********************************************************** 键盘扫描子函数 **********************************************************/ unsigned char keyscan() { unsigned char sccode,recode; P1=0xF0; if((P1&0XF0)!=0XF0) { delayms(30); if((P1&0xf0)!=0xf0) { sccode=0xfe; while((sccode&0x10)!=0) { P1=sccode; if((P1&0xf0)!=0xf0) { recode=(P1&0Xf0)|0x0f; return((~sccode)+(~recode)); } else sccode=(sccode<<1)|0x01; } } } return (0); } /********************************************************** 串口发送 **********************************************************/ void SendOneByte(unsigned char c) { SBUF = c; while(!TI); TI = 0; } /********************************************************** 串口接收 **********************************************************/ void UARTInterrupt(void) interrupt 4 { unsigned char i; if(RI) { RI = 0; i=SBUF; P0=disp_code[i]; } } /********************************************************** 主函数 **********************************************************/ void main(void) { unsigned char i,key; InitUART();P0 = 0x00;P2=0Xfe; while(1) { if(keyscan()!=0) { key=keyscan(); for(i=0;i<16;i++) { if(key==key_code[i]) { P0=disp_code[i]; SendOneByte(i); } } delayms(300); } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服