




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录引言11 设计任务与目的21.1 设计任务:21.2 设计目的:22 串口通信原理22.1 串行口工作原理22.3 方案论证43硬件设计63.1 AT89S52最小系统63.3 LCD显示电路73.4 max232电平转换电路84 软件设计94.1主程序流程图94.2 LCD显示函数104.3 键盘函数105系统调试115.1 硬件调试115.2 软件调试116 结论11参考文献12引言 51单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互的技术得到越来越大的重视和越来越广泛的应用。LCD显示技术是一门新兴的显示技术,相对于LED显示,LCD显示有节能,能显示的更多以及更高端等优点。本次课程设计选用串行通信和LCD显示来进一步加深我们对于单片机的理解。1 设计任务与目的 1.1 设计任务:(1)下位机选用89S51或89S52单片机;(2)下位机接收上位机的数据并显示在LED或LCD上(3)下位机显示数据可以显示固定数据、以为数据、循环移位;(4)硬件要求:制作串口线和下位机及外围电路;(5)软件要求:keil c或汇编编程设计,串口调试助手或labview串口通信编程。 1.2设计目的:(1)通过串口实现下位机与上位机之间的相互通信。(2)通过设计将串口通信的各种方式进行进一步的了解。(3)将接收的数字与发送的数字在LCD上进行显示,从而熟悉液晶显示屏LCD1602 的具体操作。(4)熟练掌握C语言在单片机上的编程应用。(5)将各学科之间的的知识进行综合运用,并能够实现所需的功能设计。2 串口通信原理串行通信是CPU与外界交换信息的一种基本通信方式。通信时仅需一到两根传输线,且每次只能传送一位,适用于长距离传输,但速度较慢。MCS51串行口是一个可编程的全双工串行通信接口,其对应的引脚为P3.0(10脚)和P3.1(11脚),分别为RXD和TXD,通过软件编程它可以作通用异步收发器用,也可以做同步移位寄存器使用,其帧格式有8位、10位和11位3种,并能设置各种波特率。MCS51串行口有两个独立的缓冲器,即发送缓冲器和接收缓冲器,且共用一个地址99H(SBUF)。同时,MSC51串行口可以用软件设置成4种不同的工作方式。 2.1 串行口工作原理通过对特殊功能寄存器串行口控制寄存器中SM0、SM1两位的操作,MCS51单片机串口通信工作方式有4种,与串行口有关的特殊功能寄存器有串行口控制寄存器SCON、电源控制寄存器PCON和定时器T1,主要确定了串口通信的工作方式和波特率的计算方法。(1)串行口数据缓冲器SBUFSBUF是两个在物理上相互独立的接收,发送缓冲器,可同时发送,接收数据,两个缓冲器共用一个字节地址,为99H,可字节寻址,不可位寻址,复位值为00H。可通过编程对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。CPU写SBUF,就是修改发送缓冲器; CPU读SBUF,就是读接收缓冲器,在硬件结构上,串行口对外有两条独立的收发信号线RXD和TXD,因此可以同时发送,接收数据,实现全双工传送。(2)串行口控制寄存器SCONSCON寄存器用于确定串行通信的工作方式、接收和发送控制、串行口的中断状态标志,它既可以是字节寻址,也可以是位寻址,字地址为98H,其复位值为00H。SM0,SM1工作方式控制位,可构成4种通信工作方式,分别为:方式0-同步移位寄存器;方式1-10位异步收发;方式2-11位异步收发;方式3-11位异步收发。SM2多机通信控制位,用于主一从式多机通信控制,因多机通信是在方式2和方式3下进行,因此SM2位主要用于方式2和方式3。若SM2=1,则允许多机通信。若SM2=0,则不属于多机通信情况,接收到一帧数据后,无论第9位(D8)是0还是1,都置中断标志RI=1,接收到的数据装入接收/发送缓冲器(SBUF)中。在工作方式1时,若SM2=1,则只有接收到有效停止位时中断标志RI才置1,以便接收下一帧数据;在工作方式0时,SM2必须为0。REN允许接收控制位,用软件置1或清零,REN=1,允许接收;REN=0,禁止接收。 TB8发送数据位8,在方式2和方式3时,TB8是要发送的第9位数据。在多机通信中,以TB8位的状态表示主机发送的是地址还是数据:TB8=0为数据,TB8=1为地址,该位由软件置位或清零,此外,该位还可以作为数据的奇偶检验位。 RB8接收数据位8,在工作方式2和工作方式3种,它是接收到的第9位数据位,既可以作为约定好的奇偶检验位,也可以作为多机通信时的地址帧或数据帧标志。在工作方式1中若SM2=0,则RB8是接收到的停止位,在工作方式0种不使用RB8。TI发送中断标志位,在工作方式0中,发送完8位数据后,由硬件置1,向CPU申请接收中断,CPU响应中断后,必须用软件清零;在其他方式下,在发送停止位前,由硬件置位。RI接收中断标志位。在工作方式0种,接收完8位数据后,由硬件置1,向CPU申请发送中断,CPU响应中断后,必须用软件清零;在其他方式下,在接收到停止位的中间时刻由硬件置1,中断响应后也必须用软件清零。串行发送中断标志位TI和接受中断标志位RI是同一个中断源,在全双工通信中,必须用软件来判别是发送中断请求还是接收中断请求。(3)电源控制寄存器PCON PCON主要是为CHMOS型单片机上实现电源控制而设置的专用寄存器,单元地址为87H其中只有一位SMOD与串行口工作有关。SMOD称为波特率选择位。在工作方式1,2,3中若SMOD=1,则波特率提高一倍;若SMOD=0,则波特率不加倍。除了以上3种特殊功能寄存器以外,串口的工作还与定时器T1和中断允许寄存器IE有关,定时器T1主要在工作方式1,工作方式2中用于计算波特率,而IE主要用于接收/发送中断的允许控制,ES=0,禁止串行中断,ES=1,允许串行中断。 2.2串行通信的波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。51芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M的晶振来计算,那么它的波特率可以达到1M。模式2的波特率是固定在fosc/64或fosc/32,具体用那一种就取决于PCON寄存器中的SMOD位,如SMOD为0,波特率为focs/64,SMOD为1,波特率为focs/32。模式1和模式3的波特率是可变的,取决于定时器1或2(52芯片)的溢出速率。计算这两个模式的波特率可以用以下的公式去计算。波特率(2SMOD32)定时器1溢出速率 (1)上式中如设置了PCON寄存器中的SMOD位为1时就可以把波特率提升2倍。通常会使用定时器1工作在定时器工作模式2下,这时定时值中的TL1做为计数,TH1做为自动重装值,这个定时模式下,定时器溢出后,TH1的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确。在这个定时模式2下定时器1溢出速率的计算公式如下:溢出速率(计数速率)/(256TH1) (2) 上式中的“计数速率”与所使用的晶体振荡器频率有关,在51芯片中定时器启动后会在每一个机器周期使定时寄存器TH的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51芯片的计数速率为晶体振荡器频率的1/12,一个12M的晶振用在51芯片上,那么51的计数速率就为1M。通常用11.0592M晶体是为了得到标准的无误差的波特率。如我们要得到9600的波特率,晶振为11.0592M和12M,定时器1为模式2,SMOD设为1,分别看看那所要求的TH1为何值。代入公式:当晶振为11.0592MHZ时:9600(232)(11.0592M/12)/(256-TH1)TH1250当晶振为12MHZ时:9600(232)(12M/12)/(256-TH1)TH1249.49上面的计算可以看出使用12M晶体的时候计算出来的TH1不为整数,而TH1的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600波特率。本次设计中为了得到精确地波特率,采用的晶振频率为11.0592MHz,此外定时器工作在方式2,即八位自动重装载,串口工作在方式1. 2.3 方案论证方案一:USB转串口通信实现传输数据,使用LED显示。LED显示原理简单,容易实现,但功能不强大,技术落后。上位机USB转串口通信信AT89S52LED显示 图2.1方案一系统框图 方案二:使用max232芯片来进行RS485和TTL电平之间的转换,能够更好的理解串口通信。使用LCD来进行显示,功能更加强大。使用按键来控制LCD所显示的数字进行移位显示或循环移位显示。综合考虑,方案二更能体现本次课设的内容,更能加深我们队串口通信的理解,但是考虑到现在计算机都没有串口,使用USB转串口。 按键控制LCD1602显示 AT89S52 单片机系统组成框图Max232电平转换上位机串行通信图2.2 方案二系统框图3硬件设计 3.1 使用AT89S52作为本系统的主控机 图3.1单片机工作电路AT89S52是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程序存储器和1000次擦写循环,数据保留时间为10年,是最好的选择。 3.2 采用按键复位电路图1.2 按键复位电路 3.3 采用LCD显示电路图1.3 LCD显示电路 分别使用P2.0,P2.1,P2.2作为LCD的控制端,P0口作为数据的输入端,使用一个10K的滑动变阻器来调节LCD的对比度。 3.4 max232电平转换电路图1.4 串行通信电路插座的2脚接电脑的数据发送端,插座的三脚接电脑的接收端。 3.5 按键电路图1.5 按键电路 通过读取P2口的电平来判断是否有键按下。4 软件设计 4.1主程序流程图开始初始化液晶初始化串口接收到数据接收数据否是是否接收完调用键盘扫描函数键值为0x40,数据右移一位键值为0x80,数据循环右移键值为0,调显示函数返回 图4.1主程序流程图 本程序采用模块化设计,使用函数来实现要实现的功能。主要的几个函数有LCD显示函数,按键扫描函数和串口中断函数。通过串口中断函数来改变字符串的内容,调用按键函数确定键值,根据键值来确定固定显示,循环显示和移位显示。最后调用LCD显示函数吧字符串显示出来。 4.2 LCD显示字符串函数和显示字符函数。要显示的字符,地址作为实参要显示的字符串作为实参是否在第一行调用显示一个字符函数否否是地址加c0地址加80是否显示完写入数据是结束 图4.2显示函数流程图显示字符串是通过调用显示函数来实现的,有三个参数,分别为要显示的字符,横坐标,纵坐标。显示字符是先确定地址,再把数据写入。 4.3 键盘函数判定有键按下调用键盘处理函数去抖动返回键值图4.3键盘函数键值处理函数是把P2口的值取反,然后屏蔽低四位得到键值。5系统调试普遍情况下一个系统只有经过调试才会正常工作,在调试过程中我们能加深对系统的理解,发现自己的错误。5.1 硬件调试硬件要实现的有LCD能正常显示,按键正常工作,串口能正常通信。5.1.0 LCD 调试使用KEIL3写一个简单的LCD显示函数生成HEX文件,首先我在proteus ISIS7中对实验进行了仿真,确定程序是可行的。但将程序拷进单片机中后LCD不能正常显示,经过询问同学我得知可能是我的电位器没调好,经过调试电位器LCD能正常显示。5.1.1 按键调试使用万用表分别检测按键没按下和按下时的电位,发现能达到预期的目标。但编程时发现我的P2.0,P2.1,P2.2口已经在LCD上用了。只能把先断开,再跳线到P2.5,P2.6,P2.7,能够正常实现按键功能。5.1.2 串行通信调试一开始总是不能正常通信,经过耐心的检查发现时串行线连接错误。5.2 软件调试 软件调试采用仿真和现场调试相结合的方法,先一个个函数实现,再把所有的程序整合起来实现预期的功能。6 结论 经过调试,本次设计住实现了上位机与下位机之间简单的通信,上位机通过LABVIEW程序发送一个十六进制的数经过串口,可以被下位机接收,并在LCD进行显示,而且实现根据按键来控制固定显示、移位显示和循环移位显示。,通过本次设计,对单片机串口通信这部分的内容进行了更深层次的学习,知道了很多书本上学不到的东西。并且在本次设计中采用LCD显示,开始觉得LCD很高端,但通过查阅资料和询问同学老师很轻松的就掌握了它的使用。本次设计所要求的移位显示,一开始使用移位指令。结果发现显示的时候会有残影,使用没显示一次清屏一次的办法解决了这个问题。总之,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西省萍乡市莲花县城厢小学2024-2025学年五年级下学期期末考试科学试卷(含答案)
- 2025年度高性能计算软件采购合同
- 2025版商业园区物业管理与安全防范服务协议书
- 2025年度环保地砖地板买卖合同范本
- 2025茶楼市场营销策划合同
- 2025范本校园发布会现场搭建与设备租赁合同
- 2025版文化创意产业合作合同协议创新管理制度
- 2025版企业年会摄影摄像服务与制作合同
- 2025版博物馆前期物业管理服务合同模板
- 2025年度商场室内涂料施工服务协议
- 《明史海瑞传》阅读练习及答案(2020年全国新高考II卷高考题)
- 《喜欢你》粤语谐音发音歌词邓紫棋
- 初中语文学习方法指导课件
- 民航概论-完整版ppt课件最全课件整本书电子教案最新教学教程
- 烹饪实用英语(第三版)全套课件完整版电子教案最新板
- 市场营销基础第5版电子教案课件
- 钻井作业现场常见安全风险及隐患ppt课件
- 葫芦烙画教学校本课程
- 沙盘规则介绍(课堂PPT)
- 球队赞助策划书(共5页)
- 气动机械手系统设计(含全套CAD图纸)
评论
0/150
提交评论