版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武 夷 学 院 课程设计报告课程名称:嵌入式技术基础与实践设计题目:串口通信中断设计学生班级:10通信班学生姓名:赖小梅、叶月捷、曹琦悦、赖燕文指导教师:刘奇完成日期:2012-06-01数学与计算机系 课程设计项目研究报告目 录第 1 章 项目简介31.1 项目名称31.2 指导教师3第 2 章 项目研究意义32.1 课程设计概述32.2 需求分析及研究意义3第 3 章 采用的技术43.1 课程设计的方案设计论证43.2 重要算法的设计、流程描述或伪代码描述4第4 章 课程设计项目进度表5第5 章 课程设计任务分配表5第6 章 达到的效果66.1 程序设计思想66.2 程序最终实现结果6第7
2、 章 源程序97.1 主程序及其中断子程序的部分代码107.2 源程序部分代码11第 8 章 附录12第 9 章 设计心得13第10 章 参考文献14 第 1 章 项目简介1.1 项目名称串口通信中断设计1.2 开发人员10通信班 赖小梅、赖燕文、叶月捷、曹琦悦1.3 指导教师刘奇第 2 章 项目研究意义2.1 课程设计概述在大的实时控制系统中, 通常存在多个工控机之间以及工控机与单片机的通信。作为直接控制单片机的工控机, 一方面要实时接收系统管理的指令, 另一方面要实时控制单片机小系统。因此, 设备间通信方式的选取和实现就显得十分重要。实现PC机与接口通信方式一般有两种: 查询方式和中断方式
3、。查询方式编程比较简单, 但浪费CPU资源; 中断方式下, CPU一边执行前台工作, 一边又在后台以用户感觉不到的方式与其它设备交换数据. 中断是一种特殊的指令, 它停止当前正在执行的程序, 把系统当前的状态保留在堆栈中, 然后转移到由中断号所指定的中断服务程序, 当中断服务程序执行完后, 在回到原先的被中断的程序中继续执行。中断技术的采用, 实现了快速CPU与慢速外设的并行工作, 从而提高了计算机的工作效率。MC908GP32的波特率、格式、是否校验、是否允许中断等,这些分别需通过波特率寄存器、控制寄存器设置。而要知道串口是否有数据可收、数据是否发送出去等,需要有SCI状态寄存器检测。若一个
4、寄存器不够用,控制与状态寄存器有多个。而SCI数据寄存器存放要发送的数据,也可存放接收的数据,发送与接收的实际工作是通过发送移位寄存器和接收移位寄存器完成的。编程时,程序员并不直接与发送移位寄存器和接收移位寄存器打交道,只与数据寄存器打交道。发送时,通过判定状态寄存器的相应位,了解是否可以发送一个新的数据。若可以,则将待发送的数据放入SCI数据寄存器中就可以了,剩下的工作由MCU自动完成:将数据从SCI数据寄存器送到发送移位寄存器,硬件驱动将发送移位寄存器的数据一位一位地按照规定的波特率移到发送引脚TxD,供对方接收。接收时,数据一位一位地从接收引脚RxD进入接收移位寄存器,当收到一个完整字节
5、时,MCU会自动将数据送入SCI数据寄存器,并将状态寄存器的相应位改变,供程序员判定并取出数据。2.2 需求分析及研究意义当今社会是一个追求效率的时代,而中断方式技术的采用正可以提高串口通信的发送速度。例如,想看一帧数据是否完成传送,可以利用串口通信的中断函数去验证,中断技术的采用, 实现了快速CPU与慢速外设的并行工作,从而提高了计算机的工作效率。通过PC机的VB编写的界面发送一串字符,通过串行口发给单片机,单片机接收后回送给该界面,显示所接收的字符和发送的字符一样。通过串口的中断函数,可以实现在串口通信的一帧数据传送完成后,实现你想要的功能。第 3 章 采用的技术3.1 课程设计的方案设计
6、论证对通用计算机而言,中断控制包括:中断请求管理,中断使能/禁能、中断优先级分配、中断优先级判定、中断屏蔽/解除屏蔽、中断响应、现场保护和恢复等等。中断控制由CPU内部的中断处理逻辑和寄存器,以及外部的中断控制器,接口芯片完成。从功能角度看,嵌入式处理器与通用处理器的中断控制器拥有基本相同的功能,只是实现细节不同。结束开始将接收的数据发送给VB界面显示等待接收VB发来的一个数据设置接收中断允许,开放总中断结束人工复位1 ?头文件和声明SCI初始化子程序开始3.2 重要算法的设计、流程描述或伪代码描述SCI通信流程图(中断方式主程序及其中断子程序)第4 章 课程设计项目进度表日期完成的工作201
7、2.5.28项目可行性研究,研究报告2012.5.29系统开发技术,运行环境2012.5.30子模块的程序设计和调试2012.5.31系统联合调试,撰写课程设计总结报告2012.6.1交课程设计纸质和电子版材料第5 章 课程设计任务分配表成员座号项目内容序号赖小梅54号1、程序设计与调试2、系统联合调试01叶月捷55号1、修改程序与调试2、系统联合调试02曹琦悦51号1、 编写任务分配表(表一)2、 编写实验心得03赖燕文52号1、 编写项目进度表(表二)2、 页面设计04第6 章 达到的效果6.1 程序设计思想根据设计要求,要实现通过串口进行通信,就必须有一个发送端和一个接收端,因此要编写两
8、个程序,在发送端编写发送程序,在接受端编写接收程序。发送PC机和接收PC机通过RS-232C的3根信号线(TXD、RXD、GND)进行相连。我们决定采用中断方式编写发送程序和接收程序。(一)SCI通信原理图:PC机串行通信线MAX232导线MC68HC908GP32(二)SCI通信接线图412356789PC412356789 MC68HC908GP3211 12 13 14MAX232CPE16 15 14 13 12 11 10 9TTL电平转为232电平4123567894123567896.2 程序最终实现结果(1)通过给PC机发送一个“A”(65),单片机接收到8个小灯全亮;如下图所
9、示 (2)通过给PC机发送除A外,显示4盏灯亮,如下图所示:(3) 当输入字符“21”时,PTA1亮;(4)当输入字符“11”时,PTA0亮;(5)最终结果显示第7 章 源程序7.1 主程序及其中断子程序的部分代码主函数初始化:MainInit: /复位后从此处执行(见Vectors08.s文件末尾处) SEI /关总中断 /1. 堆栈初始化为RAM最高端 LDHX #RAMendAddr + 1 /HX = #RAMEndAddr + 1 TXS /HX - 1 - SP /2. 芯片初始化 JSR MCUinit /初学时跳过此处 /3. 模块初始化 JSR SCIinit /(1)串行口
10、初始化 /小灯初始化 LDA #$FF STA DDRA STA PTA/初始状态灯为暗 /4. 开放各模块中断 JSR EnableSCIreInt /(1) 允许串行接收中断 /5. 开放总中断 CLI /程序总循环入口MainLoop: NOP NOP BRA MainLoopSCI接收中断函数:isrSCIre: SEI /关总中断 PSHH /接收1个字节数据 JSR SCIre1 /发送接到的1个字节数据 JSR SCIsend1 PULH CLI /开总中断 RTI /中断返回/此处为用户中断处理子程序的存放处/未定义的中断处理子程序,本子程序不能删除isrDummy: RTI/
11、中断矢量表,用户若需开放某中断,可修改下表中的相应项目/(interrupt service routine,isr 中断处理程序).area memory(abs).org 0xffdc /中断向量表起始地址(注意:与芯片型号有关)vectab: .word isrDummy /时基中断 .word isrDummy /AD转换中断 .word isrDummy /键盘中断 .word isrDummy /SCI发送中断 .word isrSCIre /SCI接收中断 .word isrDummy /SCI错误中断 .word isrDummy /SPI发送中断 .word isrDummy
12、 /SPI错误中断 .word isrDummy /TIM2溢出中断 .word isrDummy /TIM2通道1输入捕捉/输出比较中断 .word isrDummy /TIM2通道0输入捕捉/输出比较中断 .word isrDummy /TIM1溢出中断 .word isrDummy /TIM1通道1输入捕捉/输出比较中断 .word isrDummy /TIM1通道0输入捕捉/输出比较中断 .word isrDummy /CGM的PLL锁相状态变化中断 .word isrDummy /IRQ引脚中断 .word isrDummy /SWI指令中断 .word MainInit /RESE
13、T(见主程序定位处)7.2 源程序部分代码MCU初始化:SCIinit: PSHA /1.总线频率fBUS = 2.4576MHz,定义波特率Bt = 9600 LDA #% STA SCBR /2.设置允许SCI,正常码输出,8位数据,无校验 LDA #% STA SCC1 /3.设置允许发送,允许接收,查询方式收发 LDA #% STA SCC2PULA RTS/允许SCI接收中断EnableSCIreInt: BSET #5,SCC2 RTS/禁止SCI接收中断DisableSCIreInt: BCLR #5,SCC2 RTS串行接收一个字节:SCIre1: PSHH PSHX /等待接
14、收一个字节数据 LDHX #$FFFFSCIre1_1: BRCLR #ReTestBit,ReSendStatusR,SCIre1_2 LDA ReSendDataR /收到的数据放入A中 STA SerialBuff CBEQA #$41,All1/灯亮的处理 LDA #% STA PTA LDA #$30 STA ReSendDataR CLC BRA SCIre1_3 /收到数据,退出All1:LDA #$00 /所有灯都亮STA PTA LDA ReSendDataR /收到的数据放入A中 CLC BRA SCIre1_3 /收到数据,退出SCIre1_2: NOP AIX #-$1
15、 CPHX #$0000 BNE SCIre1_1 /等待时间到,未收到数据,令c = 1,A = FF,返回 LDA #$FF SECSCIre1_3: PULX PULH RTS串行发送一个字节:SCIsend1: BRCLR #SendTestBit,ReSendStatusR,SCIsend1 STA ReSendDataR RTS第8章 附录所用寄存器名称及其所用的位如下所示:SCI波特率寄存器(SCI Baud Rate Register,SCBR)数据位D7 D6 D5 D4 D3 D2 D1 D0定义X X SCP1 SCP0 X SCR2 SCR1 SCR0复位0 0 0 0
16、 0 0 0 0SCI控制寄存器1(SCI Control Register 1,SCC1)数据位D7 D6 D5 D4 D3 D2 D1 D0定义LOOPS ENSCI TXINV M WAKE ILTY PEN PTY复位0 0 0 0 0 0 0 0SCI控制寄存器2(SCI Control Register 2,SCC2)数据位D7 D6 D5 D4 D3 D2 D1 D0定义SCTIE TCIEI SCRIE ILIE TE RE RWU SBK复位0 0 0 0 0 0 0 0SCI状态寄存器1(SCI Status Register 1,SCS1)数据位D7 D6 D5 D4 D
17、3 D2 D1 D0定义SCTE TC SCRF IDLE OR NF FE PE复位1 1 0 0 0 0 0 0A口数据寄存器(PTA)数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义PTA7 PTA6 PTA5 PTA4 PTA3 PTA2 PTA1 PTA0A口数据方向寄存器(DDRA)数据位 D7 D6 D5 D4 D3 D2 D1 D0 定义DDRA7 DDRA6 DDRA5 DDRA4 DDRA3 DDRA2 DDRA1 DDRA0复位 0 0 0 0 0 0 0 0 第9章 设计心得这次课程设计历时5天,在整整5天的日子里,可以说得是苦多于甜,每天在机房一呆几乎是一
18、天,白天进去黑天出来,而往往是一无所获。但是通过此次的课程设计,确实可以学到很多很多的知识,像动手能力。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图画出来,但是刚开始我们觉得没必要这样做,所以在这个上浪费了很多时间。但是,这次课程设计完全改变了我们以前的那种错误的认识,以前我们接触的那些程序都是很短比较基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。每次编一段程序就试着擦除及写入,在保证正确的情况下,进行下一步操作。同时这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说是困难重重,遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏盐城市滨海县校园招聘教师76人备考题库【必考】附答案详解
- 2026上海树修教育培训中心招聘6人备考题库附答案详解(黄金题型)
- 2026四川宜宾长宁县淯江文旅集团有限公司招聘员工20名备考题库附答案详解【研优卷】
- 2026上半年四川成都大学考核招聘高层次人才5人备考题库附答案详解(突破训练)
- 2026陕西西安市高新第一学校招聘备考题库含答案详解【典型题】
- 第12课 集字临摹练习(六)教学设计小学书法西泠版六年级上册-西泠版
- 2026辽宁铁岭市昌图县14家单位补充招聘公益性岗位人员23人备考题库(达标题)附答案详解
- 2026浙江温州市洞头人才发展有限公司招聘启事补充2人备考题库(营业员)含答案详解(能力提升)
- 2026广东高鲲能源数据投资有限公司招聘第四批人员6人备考题库附答案详解(完整版)
- 2026广西河池大化瑶族自治县实验中学德育工作辅助人员招聘1人备考题库含答案详解【夺分金卷】
- 2025年沙洲职业工学院单招职业技能考试题库附答案
- 2024年四川烟草专卖局考试真题试卷及答案
- 钣金加工质量检验标准与流程
- 火龙罐疗法临床操作规范与应用指南
- 微专题(十二)三点共线的证明方法
- 九江课件教学课件
- 2025年大学《数据警务技术-警务大数据基础》考试参考题库及答案解析
- 2026年安徽职业技术学院单招职业适应性测试题库及答案1套
- 华为交换机维护操作手册
- GB/T 11918.4-2025工业用插头、固定式或移动式插座和器具输入插座第4部分:有或无联锁带开关的插座
- 中国抗癌协会脑胶质瘤整合诊疗指南2025版
评论
0/150
提交评论