ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:250.83KB ,
资源ID:10183694      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10183694.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(模拟电脑加油机控制.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

模拟电脑加油机控制.docx

1、模拟电脑加油机控制沈阳航空航天大学课 程 设 计 报 告课程设计名称:单片机系统综合课程设计课程设计题目:模拟电脑加油机控制 院(系):计算机学院专 业: 科学与技术班 级: 24010101 学 号: 201204010124姓 名: 孙皓指导教师: 孙恩岩说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。学术诚信声明 本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人

2、己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。 本人签名: 日期: 年 月 日沈阳航空航天大学课程设计任务书课程设计名称单片机系统综合课程设计专业计算机科学与技术学生姓名孙皓班级24010101学号2012010101024题目名称模拟电脑加油机控制起止日期2015年6月29日起至2015年7月10日止课设内容和要求:学习电脑加油机的结构和工作原理,利用定时器产生的脉冲作为脉冲源代表单位加油

3、量,利用数码管显示加油量和钱数,通过小键盘可以选着定量加油,定钱加油或随机加油等方式,再用两个键实现启动加油机工作和停止加油机工作二、课程设计要求1独立完成课程设计任务;2通过老师当场验收;3交出完整的课程设计报告。参考资料:1 张毅刚,刘杰. MCS-51单片机原理及应用M. 哈尔滨:哈尔滨工业大学出版社,20082 高 锋. 单片微型计算机原理与接口技术M. 北京:科学出版社,20073 胡汉才. 单片机原理及其接口技术M. 北京:清华大学出版社,2004教研室审核意见: 教研室主任签字:指导教师(签名)年月日学 生(签名)年月日课程设计总结:做了两周的单片机课程设计,我有了很多的体会和感

4、想。我的课程设计主要内容:电脑模拟加油机控制系统;通过键盘的实现一些有关的功能,拿到程序时感觉程序的难易程度还是可以的,但是真的琢磨的时候才发现其中的功能很不好实现,有好几天我都一直在实验室内研究其中一个功能,但是很不好实现。通过对资料的查询和对老师和同学的请教,逐步对功能有了一定的理解,然后对其认真的做一些研究;最终实现功能的时候还是很不容易,但是做出来之后真的很有成就感。这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的

5、理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ群里讨论或者是同学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。 第1章 总体设计方案1.1 设计内容学习电脑

6、加油机的结构和工作原理,利用定时器产生的脉冲作为脉冲源代表单位加油量,利用数码管显示加油量和钱数,通过小键盘可以选着定量加油,定钱加油或随机加油等方式,再用两个键实现启动加油机工作和停止加油机工作。1.2 设计原理 根据课程设计任务书的要求,完成电脑模拟加油机的设计。首先通过键盘的输入确定是以什么方式加油,共有三种加油方式:定量加油、定钱加油和随机加油的方式。定量加油和定钱加油首先输入想要加油的量或者输入想要加油的钱数。相应的输入会在数码管显示出来,然后会有一个功能键是启动加油机工作,从零开始计数,一直模拟到刚刚输入的钱数或者是加油的量,则停止计数,表示加油已经完成。随机加油方式是按下启动功能

7、键启动加油机工作,然后再按下一停止键停止加油机工作,表示加油过程完成,所有的油量和价钱在数码管上都有相应的显示。共设置了四个功能键,来控制加油方式、启动和停止加油机。硬件主要由8051单片机、数码管、小键盘和若干导线组成。1.3 设计思路 模拟电脑加油机控制主要由小键盘输入模块、数码管显示模块和中断模块组成。其中键盘输入模块和数码管显示模块是本次设计的核心部分,通过键盘的输入来控制模式的选择和加油机的启动和停止。 定量加油时首先通过键盘输入加油的定量值,通过数码管显示程序将油量和需要的钱数显示在数码管上,然后启动加油键,这时程序执行中断查询,每当定时器产生中断,油量和钱数进行相应的增加,直到加

8、到输入的油量,然后数码管显示最初的输入的油量和相应的价钱保持不变,定钱加油方式亦是如此。 随机加油方式时通过键盘直接启动加油机工作,程序去查询中断,定时器每产生中断,油量进行加一并且价钱进行相应的显示,然后进行键盘扫面程序,查看是否有停止键的按下。若停止键被按下,则关闭定时器的中断,数码管显示当前的油量和价钱;若停止键没有被按下,则继续执行中断查询,油量进行加一操作。直至有停止键被按下,随机加油的方式结束。各个方式在进行加油的时候不能被其他方式所干扰,直至此次加油结束,才能再输入下一次的加油方式,进行一下的加油过程。1.4 实验环境硬件环境:伟福Lab8000实验箱,PC机。软件环境:Keil

9、 uVision3。 2 详细设计方案2.1 硬件设计 本次课程设计采用8051单片机,其8051单片机内部的总体电路图如图2.1所示图2.1 电脑加油机控制系统总体工作框图电脑加油机控制系统主要包括单片机控制系统、键盘输入模块、动态显示模块三部分。电脑加油机控制工作模式框图如图2.2所示。 图2.2 电脑加油机控制系统总体工作框图2.1.1 键盘设计 本系统采用矩阵式键盘模块,键盘的工作方式利用编程扫描方式。编程扫描方式工作过程如下:在键盘扫描子程序中,首先判断整个键盘上有无键按下;然后用软件延时10ms来消除按键抖动的影响。如确实有键按下,进行下一步;求按下的键号;等待按键释放后,再进行按

10、键功能的处理操作。键盘的工作层次如图2.3所示。 图2.3 键盘的工作层次2.1.2 数码管设计动态显示电路的功能主要是通过单片机的控制将所加油的容积值以及总金额显示出来。显示电路框图如图2.4所示。本课题中的动态显示电路采用LED数码管。常用的LED数码管有7段和“米”字段之分。本次采用7段数码管。LED数码管有共阳极和共阴极两种。共阴极LED数码管的发光二极管的阴极连接在一起,通常此共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED数码管的发光二极管的阳极连接在一起时,通常此共阳极接高电平,当某个发光二极管接低电平时,发光二极管被点亮,相应的段

11、被显示。使用LED显示时,为了显示数字或符号,要为LED提供代码,因为这些代码是通过各段的亮与灭来显示不同字形的,因此称之为段码。 图2.4 显示电路框图 2. 2 主程序设计主程序设计是整个系统软件设计的核心,它明确的阐明了系统软件设计的步骤以及加油机系统的工作流程等等。在程序设计的开始,首先进行初始化,接下来将进行键盘扫描,判断是否有键按下。如果没有键按下,系统将继续进行键盘扫描,直到扫描到有键按下为止。接下来根据按键判断系统按照哪种方式加油以及读出所要加油的容积值或金额值等等。然后便转向单片机的处理程序。主程序流程图如图2.5所示。 图2.5 主程序流程图2.2.1 键盘输入模块 一共设

12、置6个功能键,分别对应定量加油、定钱加油、随机加油、清零加油金额和油量、启动加油机工作及停止加油机工作。每次加油结束时,清零加油机准备进行下一次的机油工作。键盘输入模块流程图如图2.7所示。键盘的电路图如图2.6所示。 2.2.2 数码管显示模块 将8051的片选端CS0连接到数码管的LED/CS/端,利用七段共阴数码管对定时器产生的信息进行显示。用前两个数码管显示油量,接下来的两个显示总金额,最后的两个数码管不参与显示。数码管显示模块流程图如图2.8所示。 图2.6 键盘电路图 图2.7 键盘扫描模块流程图 图2.8 数码管显示模块流程图 3 调试及结果分析3.1 调试过程 在随机加油方式中

13、开始加油后对停止加油这一功能实现不了,所以在本次的课程设计的调试过程中,对这一部分进行了大量的学习和调试,以便对这部分共能加以实现。 随机加油功能出现的问题就是可以启动加油,但是在加油的过程不能随时的停止加油。这个问题我调试三到四天的时间,最后知道了问题出现在中断方式的位置,我用的中断是查询的方式,而不是设置中断的入口地址,导致程序一直在工作在查询的位置,不能去做别的功能。找到了问题的所在,这样使解决问题变的容易了很多。 对于调试过程中其他的语法问题和其他模块的逻辑问题,都是通过软件的提示,来分析此次的问题,进行修调试和修改。3.2 结果分析首先,按下清零键,四个数码管都变为零。假设按下按量加

14、油键,然后输入想要加油的量,会在前两个数码管显示出来,假设输入10,则会另两个的数码管自动显示出来相应的金额,这时在按下启动加油键,油量会从0一直累加到10,金额也做相应的累加,油量到10时此次模拟加油过程结束,按下清零键,四个数码管又变为零。等待下一次的加油。参考文献1 张毅刚,刘杰. MCS-51单片机原理及应用M. 哈尔滨:哈尔滨工业大学出版社,20082 高 锋. 单片微型计算机原理与接口技术M. 北京:科学出版社,20073 胡汉才. 单片机原理及其接口技术M. 北京:清华大学出版社,20044 谭浩强.C语言程序设计M.北京:清华大学出版社,20055龚尚福.微机原理与接口技术 M

15、. 西安:西安电子科技大学出版社,20036王中民.微型计算机原理 M. 西安:西安电子科技大学出版社,2003附 录(源程序清单)ORG 0000HJMP STARTORG 0100HSTART: MX EQU 30H FI EQU 31H DZ EQU 33H XZ EQU 42H MOV 80H,#00H; MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB EA SETB TR0MAIN:LCALL DISP1LCALL START1JMP MAINLP:LCALL DISP1 JBC TF0,CHECK LJMP LPCHECK: DJNZ 7

16、0H,LPITOP1: MOV 70H,#10 MOV TL0,#0B0H MOV TH0,#3CH MOV A,72H MOV 30H,72H MOV B,#6 MUL AB MOV 31H,A LCALL DISP1LOOP1: INC 72H MOV A,72H DJNZ 71H,LP LJMP MAINSTART1: MOV R6,#02H KEYI: ACALL KS1 JNZ LK1NI: ACALL DISP1 ;调用显示 AJMP KEYI ;调用键盘 LK1: ACALL DISP1 ACALL KS1 JNZ LK2 ACALL DISP1 AJMP KEYILK2:MOV

17、 R2,#0FBHMOV R4,#00HLK4:MOV 34H,R2MOV DPTR ,#8002HMOV A, R2MOVX DPTR,AMOV DPTR,#8001HMOVX A,DPTRJB Acc.0,LONEMOV A,#00HLJMP LKPLONE: JB Acc.1,LTWO MOV A,#04HLJMP LKPLTWO:JB ACC.2,LTHRMOV A,#08HLJMP LKPLTHR: JB Acc.3,NEXT MOV A,#0CHLKP: ADD A,R4 MOV DZ,ALK3:ACALL DISP1ACALL KS1JNZ LK3NEXT:INC R4MOV R

18、2,34HMOV A,R2JNB Acc.5,LK6RL AMOV R2,AMOV A,34HLJMP LK4LK6:MOV A,DZMOV DPTR ,#TAB0MOVC A,A+DPTR LK7: CJNE A,#0BH,LK5 ;按钱加油 MOV 80H,#01H LJMP KEYILK5: CJNE A,#0AH,LK10 ;按量加油 MOV 80H,#00H LJMP KEYILK10: CJNE A,#0CH,LK11 ;随机方式 MOV A,TL0 MOV B,#10 DIV AB MOV 30H,B MOV A,#6 MUL AB MOV 31H,A LJMP KEYILK11

19、: CJNE A,#0DH,LK12 SETB EA MOV 71H,30H MOV 72H,#1 MOV 70H,#10 LJMP LPLK12: CJNE A,#0EH,LK8 CLR EA LJMP MAIN LK8: CJNE A,#0FH,LK9 MOV 30H,#00H MOV 31H,#00H AJMP MAINLK9: MOV R5,80H CJNE R5,#00H,PPO DJNZ R6,KK1 MOV R7,MX ADD A, R7 MOV MX,A MOV R5,80H MOV B,#6 MUL AB MOV 31H,A LJMP START1PPO: MOV R5,80

20、H CJNE R5,#01H,PPP DJNZ R6,KK2 MOV R7,31H ADD A, R7 MOV 31H,A MOV R5,80H MOV B,#6 DIV AB MOV 30H,A LJMP START1 PPP: LJMP START1 KK1: MOV B,#10 MUL AB MOV MX,A LJMP KEYIKK2: MOV B,#10 MUL AB MOV 31H,A LJMP KEYIKS1:MOV DPTR ,#8001HMOV A,#00HMOVX DPTR ,AINC DPTRINC DPTRMOVX A,DPTRCPL AANL A,#0FHRETTAB:

21、 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHTAB0: DB 0DH,0EH,0FH,00H,0CH,3,2,1,0BH,6,5,4,0AH,9,8,7 DISP1: MOV DPTR,#TAB MOV R0,#50H MOV R1,#30H MOV R3,#03H LOOP1888: MOV A,R1 MOV B,#0AH; DIV AB MOVC A,A+DPTR MOV R0,A INC R0 MOV A,B MOVC A,A+DPTR MOV R0,A INC R0 INC R1 DJNZ R3,LOOP1888SET1: MOV R3,#06

22、H MOV R0,#50H MOV R2,#20H MOV DPTR,#8002H MOV A,R2 MOVX DPTR,A RR A MOV R2,ADISPLAY: MOV DPTR,#8004H MOV A,R0 MOV R1,#32H CJNE R1,#01H,LL ORL A,#80HLL: MOVX DPTR,A INC R0 ACALL YS0 MOV DPTR,#8002H MOV A,R2 MOVX DPTR,A RR A MOV R2,A DJNZ R3,DISPLAY RETYS0: MOV R1,#64H YS1: NOP NOP NOP DJNZ R1,YS1 RET

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2