




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. 中南民族大学计算机科学学院单片机课程设计报告课 程 单片机课程 设计题目 单片机与pc之间的串行通信 年级专业 计科 自动化 学 号 11064090 学生姓名 安福勇 指导教师 苗祖英 老师 2013年 12 月 12 日课程设计量化评分标准 指标最高分评分要素评分方案设计35方案选择合理,分析、设计正确,原理清楚,电路、程序流程图清晰,结构合理,程序简洁、正确。 调试15过程清晰,调试方案设计合理,测试点选择适当,程序编写正确,调试步骤清楚。 结果20电路及程序运行结果正确,达到预期效果。 设计报告20报告结构严谨,逻辑严
2、密,论述层次清晰,语言流畅,表达准确,重点突出,报告完全符合规范化要求,用计算机打印成文。 工作态度10工作态度认真,按时完成设计任务,是否独立完成。 总 评 成 绩 指导老师评语:设计题目:一、 要求PC发送,单片机接收,接收信息送实验箱上的led数码管显示二、 分析实现PC机发送一个字符或数字给单片机,单片机接收到后即在个位、十位数码管上进行显示,同时将其回发给PC机。要求:单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机时用查询方式。三、 设计1、硬件设计(包括设计方案及说明、完整的硬件连接图等)利用PC机配置的异步通信适配器
3、,可以方便的完成PC机遇89C52单片机的数据通信。由于89C52单片机输入、输出电平为TTL电平,而PC机配置的是RS-232标准串行接口,二者的电器规范不一致,因此采用MXA232单芯片实现89C52单片机于PC机的RS-232标准接口通信电路。2、软件编程(包括流程图、完整的汇编源程序及其注释)流程图:开始串口中断定义和设置(设置定时器1为方式2设置串口为方式1)If flag不等于1If flag等于1发送数据接收数据显示09十个数字总程序#include <reg52.h>sbit LATCH1=P26;/定义锁存使能端口 段锁存sbit LATCH2=P27;/ 位锁存
4、unsigned char a,i,num;unsigned char flag;void display();void display1();void delay(unsigned int cnt);unsigned char code disptab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f;void main() TMOD=0x20; /设置定时器1为方式2 TH1=0xfd; /装入初值 TL1=0xfd; TR1=1; /启动定时器1 SM0=0; SM1=1; /设置串口为方式1 REN=1; /接受使能 EA=1; /打开
5、总中断开关 ES=1; /打开串口中断开关 while(1) if(flag=1) ES=0; flag=0;SBUF=a; while(!TI); /等待数据发送结束 display1(); display(); TI=0; ES=1; void serial() interrupt 4 a=SBUF; P1=a; RI=0; flag=1; /标志位void delay(unsigned int cnt) unsigned int b,c;for(b=0;b<cnt;b+)for(c=0;c<120;c+);void display1()switch(a)case '0
6、':num=0;break;case '1':num=1;break;case '2':num=2;break;case '3':num=3;break;case '4':num=4;break;case '5':num=5;break;case '6':num=6;break;case '7':num=7;break;case '8':num=8;break;case '9':num=9;break;void display()while(1
7、)P0=0xef;LATCH2=1;LATCH2=0;P0=disptabnum;LATCH1=1;LATCH1=0;程序模块分析:首先定义了一个数组,数组内容是数字09用led液晶显示器阳极显示方式的ASCII码模块a:中断模块TMOD=0x20; /设置定时器1为方式2 TH1=0xfd; /装入初值 TL1=0xfd; TR1=1; /启动定时器1 SM0=0; SM1=1; /设置串口为方式1 REN=1; /接受使能 EA=1; /打开总中断开关 ES=1; /打开串口中断开关模块b:用while和if语句用作数据发送while(1) if(flag=1) ES=0; flag=0;
8、 SBUF=a; while(!TI); /等待数据发送结束 display1(); display(); TI=0; ES=1; 模块c:接收将pc机中的内容即寄存器中的内容传送给累加器a,来完成接收。void serial() interrupt 4 a=SBUF; P1=a; RI=0; flag=1; /标志位模块d:用switch语句将开始定义的数组中的数字显示出来void display1()switch(a)case '0':num=0;break;case '1':num=1;break;case '2':num=2;break;
9、case '3':num=3;break;case '4':num=4;break;case '5':num=5;break;case '6':num=6;break;case '7':num=7;break;case '8':num=8;break;case '9':num=9;break;模块e:通过p0口接收发送,定义2个锁存器的关断,最后显示数字。void display()while(1)P0=0xef;LATCH2=1;LATCH2=0;P0=disptabnum;LATCH1=1;LATCH1=0;3、调试说明因为是自己带的但单片机,所以借助一个串口猎豹来显示,显示094、设计结果及错误分析设计的局限性:因为自己的单片机这门课学的很烂,只做出显示一个数字简单的程序。其实,还可以改进显示俩三位数字或是字符。希望自己加油继续做下去吧!四、 总结在实验时候发现自己的程序在实验室里的试验箱上是出不了结果的,自己也在找原因,单片机的型号都一样但是就是出不了结果。最后,还是用了自己的单片机,因为自己借助的是串口猎豹这个软件,所以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业互动活动方案
- 企业党内培训活动方案
- 企业六一成人活动方案
- 企业助学活动策划方案
- 企业员工激励活动方案
- 企业圆桌论坛活动方案
- 企业学校办活动策划方案
- 企业小型交流会活动方案
- 企业廉洁文化馆活动方案
- 企业执法活动方案
- 2025年大学英语四级考试试题及答案解析
- 临床成人床旁心电监测护理规程
- 2024北京朝阳区四年级(下)期末语文试题及答案
- 电缆拆除合同协议
- 教职工管理情况浦南小学教职工学年度履职考核方案
- 2025-2030中国石头纸产业发展深度分析与运营机制风险研究报告
- 2025年安徽省中考化学模拟试卷(含答案解析)
- 精神科病人藏药护理措施
- 国家电网职业素养试题及答案
- 小学道德与法治学业水平测试要点解析
- 某引水式水电站-压力钢管安装技术措施
评论
0/150
提交评论