版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 单片机的控制系统课程设计 1 大庆石油学院课程设计任务书 课程 单片机控制系统课程设计 题目 03v 电压测量表 专业 自动化 姓名 邹建 学号 060601140625 主要内容: 用现有凌阳系列单片机试验箱编写一段程序,用以实现测量电压值并且将获得 的结果显示在液晶显示器上,并用语音播报出来。 基本要求: 1. 编程要求:主程序利用c语言编写,中断服务程序利用汇编语言编写。 2. 实现功能:实现一个模拟电压表的功能,要求电压表能够测量电压值,在 液晶显示器上显示并播报测量电压值。 3. 实验现象:开机(运行)后,显示一个图片 mm.bmp(它的字模数据 mm.c、mm.在 ide 的安装
2、径spce061aexampleintexaex10_voltagemeasurefrom0to3 提供), 显示并播放当前电位器所在位置的电压;变化 r22 电位器,显示并播报 r22 电位器 变化后的电压。 参考资料 1. 杜刚 16 位单片机原理及应用m. 北京 中国电力出版社 2007.9 2 杜刚/张东霞 16 位单片机原理及应用学习与实验指导m. 北京 中国电力出 版社 2008.12 3 罗亚飞 凌阳 16 位单片机应用基础m. 北京 北京航空航天大学出版社 2003.12 4 李晓白 凌阳 16 位单片机 c 语言开发m. 北京 北京航天航空大学出版社 2006.7 完成期限
3、2009.6.29 至 2009.7.3 单片机的控制系统课程设计 2 指导教师 董长义 董宏丽 专业负责人 2009 年 6 月 16 日 单片机的控制系统课程设计 3 目目 录录 1 1 系统设计系统设计.1 1.11.1 设计要求设计要求 .1 1.1.11.1.1 编程要求编程要求 .1 1.1.21.1.2 实现功能实现功能.1 1.1.31.1.3 实验现象实验现象.1 1.21.2 设计思路设计思路 .1 2 2 设计环境及基本原理设计环境及基本原理.1 2.12.1 设计装置设计装置 .1 2.22.2 基本原理基本原理 .1 3 3 系统硬件设计系统硬件设计.2 4 4 单片
4、机软件设计单片机软件设计.3 4.1a/d4.1a/d 转换转换 .3 4.24.2 串口发送数据串口发送数据 .4 4.34.3 程序流程图程序流程图 .5 4.44.4 编写程序步骤编写程序步骤 .5 5 5 总结总结.6 6 6 参考文献参考文献.7 7 7 附录附录.8 单片机的控制系统课程设计 4 单片机的控制系统课程设计 5 单片机的控制系统课程设计 6 第第 1 章章 系统设计系统设计 1.11.1 设计要求设计要求 1.1.1 编程要求:主程序利用c语言编写,中断服务程序利用汇编语言编写。 1.1.2 实现功能:实现一个模拟电压表的功能,要求电压表能够测量电压值,在 液晶显示器
5、上显示并播报测量电压值。 1.1.3 实验现象:开机(运行)后,显示一个图片mm.bmp(它的字模数据 mm.c、mm.h在ide的安装径 spce061aexampleintexaex10_voltagemeasurefrom0to3提供),显示并播放当 前电位器所在位置的电压;变化r22电位器,显示并播报r22电位器变化后的电压; 即只要r22电位器改变,系统就能自动测量出r22电位器的电压,并把测量得到的电 压值播报并显示出来。(要求显示和播报电压值的精度为小数点后第四位) 1.21.2 设计思路设计思路 本次设计要求完成基于单片机的电压测量系统的设计。系统包括数据采集 a/d转换模块,
6、单片机控制模块和驱动显示模块。splc501为液晶显示模组显示。 单片机的控制系统课程设计 7 第第2章章 设计环境及基本原理设计环境及基本原理 2.12.1 设计装置设计装置 1. 装有windows系统和nsp ide仿真环境的pc机一台,nsp 十六位单 片机实验箱一个。 2. 本实验用到的实验箱硬件模块为:spce061a核心及周边电路模块(包含32个 i/o口),lcd显示模组模块,双03.3v直流电平输入电路模块,两路音频 输出电路模块。 2.22.2 基本工作原理基本工作原理 本实验中,通过spce061a内部adc采集数据,如图2-1,实验箱上v3为3.3v, 当滑动头变化时,
7、ioa0口输入的电压就随着变化;当已经通过p_adc_mux_ctrl启 动转换,通过p_adc_mux_ctrl设置从line_in1输入时,因为line_in1也就是 ioa0,所以ioa0口输入的电压变化时,就会送入a/d转换器变化的值,a/d转换 器采集转换;通过读取p_adc_mux_data转换得到数据,并把这些数据计算成 电压值,计算出电压值的个位、小数点后第一位、小数点后第二位、小数点后 第三位、小数点后第四位,然后把电压值按从个位到小数点后第四位的顺序播 报和显示。 图2-1 03.3v直流电平输入电路 单片机的控制系统课程设计 8 第第 3 3 章章 系统硬件设计系统硬件设
8、计 硬件连接图如图3-1 ,ioa8ioa15连接splc501液晶显示模块的 d0d7,iob4连接ao,iob5连接rwp,iob6连接ep,re连接/res,iob9连 接/cs,vr、c86和ps跳线都与v3短接,把splc501液晶显示模组的时序选择 为6800时序,即把jp6中所有左右两排的引针用跳线短接;两路音频输出j8和 j13中靠左边的两个引针用跳线短接;ioa0连接r22电位器,即用排线把j26的 第0号引针和j17(双03v的直流电平输入电路其中之一)中任一引针连接起来。 图3-1 硬件连接图 单片机的控制系统课程设计 9 第第4 4章章 单片机软件设计单片机软件设计 软
9、件部分设计要实现2个功能,一个是ad转换,另一是把转换的数据通过 串口发送给pc机。 4.14.1a ad d转换转换 adc模块专用的有4个完整的寄存器:adc结果高字节寄存器adresh,adc结 果低字节寄存器adresl,0号adc控制寄存器adcon0和1号adc 控制寄存器 adcon1。 个是把转换的数据通过串口发送给pc机。 adcon0的格式如下: 其中:adcs1adcs0为a/d转换时钟及其频率选择位; chs2chs0为ad转换模拟通道选择位; 转换启动控制位兼做状态位; adon为ad转换器开关位。 adcon1的格式如下: 其中:adfm为ad转换转换结果格式选择位
10、; pcfg3pcfg0为ad转换引脚功能选择位。 ad转换流程: 1.如果需要ad中断功能,开放相应的中断使能位。 2.等待所需要的采样时间。 3.将启动控制兼状态位置1,启动ad转换过程。 4.等待ad转换完成,可以通过查询或中断的方法来判断。 5.读取ad转换结果寄存器对adresh:adresl,如果需要,对转换中断标志清 4.24.2串口发送数据串口发送数据 与串口有关的寄存器除了和中断有关的寄存器外,我们编写程序时主要有4 个:发送状态兼控制寄存器txsta、接收状态兼控制寄存器rcsta、发送寄存器 txreg、波特率寄存器spbrg。 单片机的控制系统课程设计 10 发送状态兼
11、控制寄存器txsta格式如下: 其中:tx9d为发送数据的第9位(如果使用9位数据帧结构); trmt为发送移位寄存器“空”标志; brgh为高波特率选择位(异步方式下使用); sync为usart同步异步模式选择位; txen为发送使能位; tx9为发送数据长度选择位; csrc为时钟源选择位(异步方式下未用)。 接收状态兼控制寄存器rcsta格式如下: 我们只使用了最高位spen(串行口使 能端)。 发送寄存器txreg: txreg是一个用户可读写的寄存器,每次用户发送的数 据都是通过写入该缓冲器来实现的。 发送流程: 1.选择合适的波特率。 2.置sync0及spen1,使usart工
12、作于异步模式。 3.如果需要中断处理功能,置txie1。 4.如果要传送9位数据,置tx91。 5.置txen1,使usart工作于发送器方式。 6.如果选择传送第9位数据,把第9位数据置入tx9d。 7.把即将发送的8位数据送入txreg并启动发送。 4.34.3 程序流程图程序流程图 主程序流程图如图4-1,初始化lcd后,显示开机图片mm;进入电压测量 循环:启动转换,采集20个转换数据并取平均值,主要是为了减少误差;计算 电压值;如果和上次电压值之差小于0.1v,则电压没有变化,返回继续采集 数据;如果和上次电压值之差大于0.1 v,表示有电压变化,计算电压各位 (包括个位到小数点后四
13、位)的数;清屏,显示图片mm;播报并显示电压值。 单片机的控制系统课程设计 11 图 4-1 主程序流程图 4.44.4 编写程序步骤编写程序步骤 1. 新建一个工程 ex10_voltagemeasurefrom0to3,新建一个 c 语言程序 main.c。 (根据编程需要,读者可自行新建其他文件) 。 2. 拷贝支持 sacmv26e.lib 的汇编语言文件 hardware.asm 和头文件 hardware.h、hardware.inc 以及头文件 spce061a.h 和 spce061a.inc 到 ex10_voltagemeasurefrom0to3 工程文件夹。 3. 拷贝
14、语音播放库 sacmv26e.lib 和头文件 s480.h、s480.inc 到 ex10_ voltagemeasurefrom0to3 工程文件夹。 4. 拷贝语音资源到当前工程的文件夹中,并将语音资源加载到工程中;语音 资源可在spce061aexampleintexa ex10_voltagemeasurefrom0to3voice 文件夹中找到。 5. 拷贝 splc501 液晶显示 dataosforlcd.asm、splc501driver_io.asm、splc501driver_io.inc、sp 单片机的控制系统课程设计 12 lc501user.c 和 splc501u
15、ser.h 五个 lcd 驱动程序到 ex10_ voltagemeasurefrom0to3 工程文件夹。 6. 在 ide 集成开发环境的 projectsettinglink 中链接 sacmv26e.lib 库 到工程中。 7. 添加 hardware.asm、dataosforlcd.asm、splc501driver_io.asm 和 splc501user.c 到工程文件的“source files” ,添加 s480.h、s480.inc、hardware.h、hardware.inc、splc501driver_io.inc 、splc501user.h 六个头文件到“hea
16、d files” 。 8. 按照程序流程图编写程序。 9. rebuild all。 10. 按照硬件连接图连接硬件。注意把 j17 的任一引脚和 j26 中的第 0 号引脚 连接,把 jp3 和 jp7 的所有跳线全部拔掉,以免对 i/o 口的数据造成影响。 11. 下载程序,运行。 12. 调节r22电位器(双03.3v直流电平输入电路模块中下面一个电位器), 观察lcd显示数据和实验箱播报的数据,分析是不是和实验要求相统一。 单片机的控制系统课程设计 13 第第 5 5 章章 总结总结 通过这次课程设计使我进一步掌握了 spce061a 内部 adc 的使用方法,同时 熟悉了凌阳单片机实
17、验箱 lcd 显示模块的使用方法,熟悉了 sacm-s480 格式的语 音播放方式。最后要感谢在这次设计中给与我帮助的霍老师和董老师。 单片机的控制系统课程设计 14 参考文献参考文献 1. 杜刚 16 位单片机原理及应用m. 北京 中国电力出版社 2007.9 2 杜刚/张东霞 16 位单片机原理及应用学习与实验指导m. 北京 中国电力出 版社 2008.12 3 罗亚飞 凌阳 16 位单片机应用基础m. 北京 北京航空航天大学出版社 2003.12 4 李晓白 凌阳 16 位单片机 c 语言开发m. 北京 北京航天航空大学出版社 2006.7 5 李朝青 单片机原理及接口技术(修订版)m.
18、 北京 北京航空航天大学出版 社 1998.5 单片机的控制系统课程设计 15 附附 录录 程序设计程序设计 #include volmeasure.h /定义了一个结构体 #include mm.h #include splc501user.h #include spce061a.h int main(void) int i=0,j=0,k=0,m; float fvolval; int uivolflag=0,uivolflagone=0; long int uivolflaghow=0; unsigned int uidata; long int lidatavol; struct st
19、_volvalude volvalude; /0-3。3v 电压表 服务结构 volvalude.volturevaludeb=7; /初始化电压采集值 lcd501_init(0 x00); /初始化 lcd lcd501_setpaintmode(4); /设置 lcd 显示图 象模式为取反叠加模式 lcd501_clrscreen(0); /清屏 lcd501_bitmap(0,0,(unsigned int *)encoding_00); /显示开机图片 fvolval=0.0; while(1) /主循环 *p_dac_ctrl = 0; *p_adc_ctrl = c_adce+c
20、_mic_dis+c_agcn+c_dac_out3ma+c_vextref_dis+c_ v2vrefb_dis; uidata = *p_adc_linein_data; while(*p_adc_mux_ctrl *p_adc_mux_ctrl=c_adc_ch1; 单片机的控制系统课程设计 16 /播放语音 后会改变 p_adc_ctrl 的设置 uidata=ad_read(); /丢掉第一个数 j=0; for(i=0;i20;i+) /采 20 个数据到 volvalude.volvaludeaj *p_watchdog_clear=c_wdtclr; uidata=ad_rea
21、d(); volvalude.volvaludeaj= uidata; j+; uivolflagone=0 xff; uivolflag=0; j=0; uidata=0; lidatavol=0; for(i=0;i20;i+) lidatavol=lidatavol+volvalude.volvaludeaj; j+; uidata=lidatavol/20; /取 20 个数据的平 均值,以减少误差 volvalude.volturevaludea=(float)uidata*3.3/0 xffc0; /得到电压值 fvolval=volvalude.volturevaludeb-vo
22、lvalude.volturevaludea; if(fvolval(-0.1) /和前一次数据比较, 有变化更新显示和语音提示 if(k=0) k+; else k+; else k=0; /取得要在 lcd 上显示的数据,存入 volvalude.lcdj volvalude.volturevaludeb=volvalude.volturevaludea; uivolflaghow=volvalude.volturevaludea*10000; volvalude.lcd0=uivolflaghow/10000%10; volvalude.lcd1=uivolflaghow/1000%10
23、; 单片机的控制系统课程设计 17 volvalude.lcd2=uivolflaghow/100%10; volvalude.lcd3=uivolflaghow/10%10; volvalude.lcd4=uivolflaghow%10; /lcd 数据 更新 m = lcd501_getpaintmode();/获取当前图象叠 加模式 lcd501_setpaintmode(2);/设置为清除模式 lcd501_rectangle(68,40,127,56,paint_solid);/清除数据显示区 lcd501_setpaintmode(m);/图象叠加模式恢 复 /显示 ad 转换数值
24、以及语音播报结果 lcd501_putchar(68,40,(0+volvalude.lcd0); lcd501_putchar(76,40,.); plays480(volvalude.lcd0); plays480(10); lcd501_putchar(78,40,(0+volvalude.lcd1); plays480(volvalude.lcd1); lcd501_putchar(88,40,(0+volvalude.lcd2); plays480(volvalude.lcd2); lcd501_putchar(98,40,(0+volvalude.lcd3); plays480(volvalude.lcd3); lcd501_putchar(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中交雄安投资有限公司招聘1人笔试模拟试题及答案解析
- 2026四川科瑞软件有限责任公司招聘项目经理等岗位2人笔试模拟试题及答案解析
- 2026福建南平市属学校新任教师招聘21人笔试参考题库及答案解析
- 2026四川达州市通川区人民医院招聘4人考试备考题库及答案解析
- 2026甘肃酒泉市人才引进(第一批)1271人笔试备考题库及答案解析
- 2026陕西西安市曲江第五小学职工招聘考试备考题库及答案解析
- 2026渭南清源初级中学教师招聘考试备考题库及答案解析
- 2026乌海市卫生健康委员会直属公立医院总量管理(控制数)人员招聘47人考试备考题库及答案解析
- 2026年江苏省兴华市四校初三下学期期末大联考英语试题含解析
- 河北省邯郸市临漳县重点名校2025-2026学年中考语文试题原创模拟卷(九)含解析
- 2026年工业废水处理与回用项目可行性研究报告
- 企业绩效管理与绩效考核指南(标准版)
- 2026年广东省事业单位集中公开招聘高校毕业生11066名参考考试试题及答案解析
- 基于AI的医疗设备采购质量智能审核系统
- 纪检监察安全保密知识培训课件
- 电视现场报道课件
- 2026年河南应用技术职业学院单招职业适应性测试题库附答案详解
- “人生拍卖会”+课件-2025-2026学年高二上学期心理健康主题班会
- 专题12.光学(原卷版)-高考物理二轮复习
- 小学教职工代表大会筹备方案
- 智慧医院建设中的成本投入效益分析-1
评论
0/150
提交评论