第一范文网 - 专业文章范例文档资料分享平台

基于单片机控制的自动报靶系统设计 - 图文

来源:用户分享 时间:2025/5/29 14:42:01 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

附录A 系统主程序清单及其注释

void main() {

TMOD=0x20; //设置定时器1为工作方式2 TH1=0xfd; //装载初值(波特率9600) TL1=0xfd;

TR1=1; REN=1; SM0=0; SM1=1;

IP=0x01; ES=1; EA=1; init(); suole=1; num1=P0; suole=0; lcd_4();

write_com(0x40); hanzi(0); delay(200); hanzi(1); delay(200); hanzi(2); delay(200); hanzi(3);

write_com(0x80+10);

for(i=0;i<6;i++)

//开启定时器 //允许串行口接收数据

//设置方式1(10为异步收发器,8位数据) //设置中断优先级 //开串行中断 //开总中断 //液晶初始化 //取P0口数据 //写汉字的区域地址

//把汉字编码写入液晶数据存储区 //地址指针往后移动八位,显示存储区内汉字 第 45 页 共 58 页

{

write_data(i); delay(200); } while(1) { lcd_1();

if(key_1==0) //键盘去抖动 {

delay(10); if(key_1==0) {

while(!key_1) //等待按下开启测试键 {

EX0=1; //开外部中断0

Testing:suole=1; //取P0口数据

num1=P0; suole=0;

switch(num1) //判断P0口数据,完成靶环的显示、蜂鸣器的提示等功能 { case 0x22:

{counter+=10;j++;lcd_3();write_com(0x80+0x40+9);write_data('1');write_data('0');writ

e_data(6);write_data(7);while(num1==P0&&!key_1){suole=1;beep(100);suole=0;};};break; case 0x24:

{counter+=10;j++;lcd_3();write_com(0x80+0x40+9);write_data('1');write_data('0');writ

e_data(6);write_data(7);while(num1==P0&&!key_1){suole=1;beep(100);suole=0;};};break; case 0x42:

第 46 页 共 58 页

{counter+=10;j++;lcd_3();write_com(0x80+0x40+9);write_data('1');write_data('0');writ

e_data(6);write_data(7);while(num1==P0&&!key_1){suole=1;beep(100);suole=0;};};break; case 0x44:

{counter+=10;j++;lcd_3();write_com(0x80+0x40+9);write_data('1');write_data('0');writ

e_data(6);write_data(7);while(num1==P0&&!key_1){suole=1;beep(100);suole=0;};};break; case 0x12:

{counter+=9;j++;lcd_3();write_com(0x80+0x40+9);write_data('9');wri

te_data(6);write_data(7);while(num1==P0&&!key_1){suole=1;beep(200);suole=0;};};break; case 0x14:

{counter+=9;j++;lcd_3();write_com(0x80+0x40+9);write_data('9');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(200);suole=0;};};break; case 0x21:

{counter+=9;j++;lcd_3();write_com(0x80+0x40+9);write_data('9');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(200);suole=0;};};break; case 0x28:

{counter+=9;j++;lcd_3();write_com(0x80+0x40+9);write_data('9');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(200);suole=0;};};break; case 0x41:

{counter+=9;j++;lcd_3();write_com(0x80+0x40+9);write_data('9');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(200);suole=0;};};break; case 0x48:

{counter+=9;j++;lcd_3();write_com(0x80+0x40+9);write_data('9');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(200);suole=0;};};break; case 0x82:

{counter+=9;j++;lcd_3();write_com(0x80+0x40+9);write_data('9');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(200);suole=0;};};break;

第 47 页 共 58 页

case 0x84:

{counter+=9;j++;lcd_3();write_com(0x80+0x40+9);write_data('9');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(200);suole=0;};};break; case 0x11:

{counter+=8;j++;lcd_3();write_com(0x80+0x40+9);write_data('8');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(300);suole=0;};};break; case 0x18:

{counter+=8;j++;lcd_3();write_com(0x80+0x40+9);write_data('8');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(300);suole=0;};};break; case 0x81:

{counter+=8;j++;lcd_3();write_com(0x80+0x40+9);write_data('8');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(300);suole=0;};};break; case 0x88:

{counter+=8;j++;lcd_3();write_com(0x80+0x40+9);write_data('8');write_data(6);write_

data(7);while(num1==P0&&!key_1){suole=1;beep(300);suole=0;};};break; default:lcd_2();break; }

} }

第 48 页 共 58 页

}

}

send(); //向上位机发送数据 }

if(num1!=P0) //判断数据是否变化 { }

goto Testing; //跳转

基于单片机控制的自动报靶系统设计 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6u9gn0fuyb03gjy5z8a0_12.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top