# include<reg52.h> # include<HL_1.h> unsigned char a[10]; unsigned char flag = 0, count = 0; unsigned char code TABLE[30] = "hello, what do you want to do?"; void Init(void) { TMOD = 0x20; TH1 = 0xfd; TL1 = 0xfd; TR1 = 1; REN = 1; SM0 = 0; SM1 = 1; // EA = 1; // ES = 1; } void Switch_K1(void) { char c;//控制数组字符位置 if(!K1) { delay(50); if(!K1) { for(c=0;c<30;++c) { SBUF = TABLE[c]; while(!TI); TI = 0; } } } } void Control(void) { if(a[0]=='m') { if(a[1]=='1') { WE = 1; P0 = 0xfe; WE = 0; DU = 1; P0 = 0xff; DU = 0; count = 0; } if(a[1]=='2') { WE = 1; P0 = 0xfd; WE = 0; DU = 1; P0 = 0xff; DU = 0; count = 0; } if(a[1]=='3') { WE = 1; P0 = 0xfb; WE = 0; DU = 1; P0 = 0xff; DU = 0; count = 0; } if(a[1]=='4') { WE = 1; P0 = 0xf7; WE = 0; DU = 1; P0 = 0xff; DU = 0; count = 0; } } if(a[0]=='L') { if(a[1]=='1') { P1 = 0xff; LED0 = 0; count = 0; } if(a[1]=='2') { P1 = 0xff; LED1 = 0; count = 0; } if(a[1]=='3') { P1 = 0xff; LED2 = 0; count = 0; } if(a[1]=='4') { P1 = 0xff; LED3 = 0; count = 0; } } if(a[0]=='b'&&a[1]=='e'&&a[2]=='e'&&a[3]=='r') { P1 = 0xff; FM = 0; delay(1000); FM = 1; count = 0; } } void main() { unsigned int j; Init(); while(1) { RI = 0; Switch_K1(); Control(); for(j=0;j<5000;j++) { if(RI&&(SBUF>47&&SBUF<123)) { a[count] = SBUF; count++; } } } }这是题目 程序3.按下k1,向上位机发送“hello, what do you want to do?”。 用上位机软件输入m1,则m1数码管全亮,其他位灭。m2-m4与此相同 用上位机软件输入L1,则L1全亮,其他位灭。L2-L4与此相同 用上位机软件输入beer,蜂鸣器响1s 输入其它不起作用。 注:上位机软件就是串口调试小助手
收藏0 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
人才类勋章
等级类勋章
发帖类勋章
时间类勋章
6
12
0
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号