欢迎来到天天文库
浏览记录
ID:33115398
大小:77.50 KB
页数:10页
时间:2019-02-20
《2013年单片机课程设计报告模板》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、中南民族大学计算机科学学院单片机课程设计报告课程单片机课程设计题目单片机与pc之间的串行通信年级专业计科自动化学号11064090学生姓名安福勇指导教师苗祖英老师2013年12月12日99课程设计量化评分标准 指标最高分评分要素评分方案设计35方案选择合理,分析、设计正确,原理清楚,电路、程序流程图清晰,结构合理,程序简洁、正确。 调试15过程清晰,调试方案设计合理,测试点选择适当,程序编写正确,调试步骤清楚。 结果20电路及程序运行结果正确,达到预期效果。 设计报告20报告结构严谨,逻辑严密,论述层次清晰,
2、语言流畅,表达准确,重点突出,报告完全符合规范化要求,用计算机打印成文。 工作态度10工作态度认真,按时完成设计任务,是否独立完成。 总评成绩 指导老师评语:9设计题目:一、要求PC发送,单片机接收,接收信息送实验箱上的led数码管显示二、分析实现PC机发送一个字符或数字给单片机,单片机接收到后即在个位、十位数码管上进行显示,同时将其回发给PC机。要求:单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机时用查询方式。三、设计1、硬件设计(包括设计方案及说明、完整的硬件连接图等)利用PC机配置的
3、异步通信适配器,可以方便的完成PC机遇89C52单片机的数据通信。由于89C52单片机输入、输出电平为TTL电平,而PC机配置的是RS-232标准串行接口,二者的电器规范不一致,因此采用MXA232单芯片实现89C52单片机于PC机的RS-232标准接口通信电路。92、软件编程(包括流程图、完整的汇编源程序及其注释)①流程图:开始串口中断定义和设置(设置定时器1为方式2设置串口为方式1)Ifflag不等于1Ifflag等于1发送数据接收数据显示0~9十个数字②总程序#includesbitLAT
4、CH1=P2^6;//定义锁存使能端口段锁存sbitLATCH2=P2^7;//位锁存unsignedchara,i,num;9unsignedcharflag;voiddisplay();voiddisplay1();voiddelay(unsignedintcnt);unsignedcharcodedisptab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f};voidmain(){TMOD=0x20;//设置定时器1为方式2TH1=0xfd;//装
5、入初值TL1=0xfd;TR1=1;//启动定时器1SM0=0;SM1=1;//设置串口为方式1REN=1;//接受使能EA=1;//打开总中断开关ES=1;//打开串口中断开关while(1){if(flag==1){ES=0;flag=0;SBUF=a;while(!TI);//等待数据发送结束display1();display();TI=0;ES=1;}}}voidserial()interrupt4{a=SBUF;P1=a;RI=0;flag=1;//标志位9}voiddelay(unsignedint
6、cnt){unsignedintb,c;for(b=0;b7、eak;case'9':num=9;break;}}voiddisplay(){while(1){P0=0xef;LATCH2=1;LATCH2=0;P0=disptab[num];LATCH1=1;LATCH1=0;}}③程序模块分析:首先定义了一个数组,数组内容是数字0~9用led液晶显示器阳极显示方式的ASCII码模块a:中断模块TMOD=0x20;//设置定时器1为方式2TH1=0xfd;//装入初值TL1=0xfd;TR1=1;//启动定时器1SM0=0;9SM1=1;//设置串口为方式1REN=1;/8、/接受使能EA=1;//打开总中断开关ES=1;//打开串口中断开关模块b:用while和if语句用作数据发送while(1){if(flag==1){ES=0;flag=0;SBUF=a;while(!TI);//等待数据发送结束display1();display();TI=0;ES=1;}模块c:接收将pc机中的内容即寄存器中的内容传送给累加器a,来完成接收。voi
7、eak;case'9':num=9;break;}}voiddisplay(){while(1){P0=0xef;LATCH2=1;LATCH2=0;P0=disptab[num];LATCH1=1;LATCH1=0;}}③程序模块分析:首先定义了一个数组,数组内容是数字0~9用led液晶显示器阳极显示方式的ASCII码模块a:中断模块TMOD=0x20;//设置定时器1为方式2TH1=0xfd;//装入初值TL1=0xfd;TR1=1;//启动定时器1SM0=0;9SM1=1;//设置串口为方式1REN=1;/
8、/接受使能EA=1;//打开总中断开关ES=1;//打开串口中断开关模块b:用while和if语句用作数据发送while(1){if(flag==1){ES=0;flag=0;SBUF=a;while(!TI);//等待数据发送结束display1();display();TI=0;ES=1;}模块c:接收将pc机中的内容即寄存器中的内容传送给累加器a,来完成接收。voi
此文档下载收益归作者所有