已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计资 料 袋 电气与信息工程学院 学院(系、部) 2011 2012 学年第 1 学期 课程名称 单片机应用系统 指导教师 职称 学生姓名 专业班级 学号 题 目 对外部脉冲计数及出租车计费系统的设计 成 绩 起止日期 2011 年 12 月 19 日 2011 年 12 月 30 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书1 1张2课程设计说明书1 1张3课程设计报告113张456 课程设计任务书2010 2011 学年第 1 学期 电气与信息工程学院 学院(系、部) 专业 班级课程名称: 单片机应用系统 设计题目: 对外部脉冲计数及出租车计费系统的设计 完成期限:自 2011 年 12 月 19 日至 2011 年 12 月 30 日共 2 周内容及任务11 外部脉冲自动计数,自动显示。111设计一个255计数器:0255计数,计满后自动清0,重新计数(在数码管中显示)。112设计一个50000计数器:050000计数,计满后自动清0,重新计数(在数码管中显示)。12 设计一个出租车计费系统: 起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元)注:要求首先采用proteus完成单片机最小系统的硬件电路设计及仿真;程序仿真测试通过后,再下载到单片机实训板上执行。进度安排起止日期工作内容201112.19讲述设计内容及基本原理201112.20-2011.12.28进行系统的设计201112.29-2011.12.30进行系统的调试主要参考资料1 刘苗生、潘宗预. 单片机测控系统设计. 中国物质出版社,2006年指导教师(签字): 年 月 日系(教研室)主任(签字): 年 月 日 (单片机应用系统)设计说明书题目: 外部脉冲计数及出租车计费系统的设计起止日期: 2011 年 12 月 19 日 至 2011 年 12 月 30 日学生姓名班级学号成绩指导教师(签字)电气与信息工程学院(部)年 月 日一、设计任务:11 外部脉冲自动计数,自动显示。111设计一个255计数器:0255计数,计满后自动清0,重新计数(在数码管中显示)。112设计一个50000计数器:050000计数,计满后自动清0,重新计数(在数码管中显示)。12 设计一个出租车计费系统: 起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元)注:要求首先采用proteus完成单片机最小系统的硬件电路设计及仿真;程序仿真测试通过后,再下载到单片机实训板上执行。二、设计思路:1、255计数本设计采用计数器t0的工作方式2进行计数,由频率为1hz的时钟提供外部脉冲,每接收一个脉冲,便计一个数,直到加到了255后,再给一个脉冲就会回到0。要实现显示,首先,用th0除以64h(100d),所得到的商为百位上的数,它会在右起第三个数码管显示;将余数除以0ah(10d),所得到的商为十位上的数,它在右起的第二位显示;这时候剩下的余数便是个位上的数,在右起第一位显示。本设计采用动态扫描:当需显示百位上的数时,使百位对应的段选入口为高电平,且有短时间延时,然后扫描十位,这是使其段选入口为高电平,再进行延时,然后用同样的方法扫描个位。由于延时的时间极短,肉眼分辨不出,所以感觉起来像同时亮,而实际是分开显示的。2、50000计数本设计采用计数器t0的工作方式1进行计数,外部脉冲仍为1hz的时钟。这个设计,我是这样构思的:首先将个位、十位、百位、千位、万位分别存放在5个寄存器里面,每加一个脉冲,首先判断最低位是否为十,不为十自加一,为十的话,本位清零,下一位加一;然后再判断下一位是否为十,不为十自加一,为十的话,本位清零,然后再往后一位加一,直到加到49999时,再给一个脉冲变5位都复位清零,实行新的循环。扫描方法同255计数,仍为动态,只是位数增加到5位。3、出租车计费器设计思路为:每加一个外部脉冲,就等于行走了100米,两公里内5元,所以里程数从0.0加至2.0时,价格为5.0元不变,当过了两公里时,每多行走500米(0.5公里),金额增加0.8元三,proteus仿真图1、255计数2、50000计数3、出租车计费器四、程序1、255计数 org 0000h sjmp start org 000bh ajmp t0start: mov tmod,#06h ;设置计数器t0工作方式2 mov p1,#0 ;p1口清零 mov th0,#00h mov tl0,#00h ;初始化 mov p3,#0 ;p3口清零 mov dptr,#tab ;赋予查表首地址 setb ea ;总中断控制设为“1” setb et0 ;t0中断允许控制设为“1” setb tr0 ;打开t0开关aaa: mov a,tl0 ;a赋初值 mov b,#64h ;除数为100 div ab ;相除 mov r0,b ;存余数 movc a,a+dptr ;查表 mov p2,a ;显示百位的数字 setb p1.2 ;选位 acall delay ;延时 clr p1.2 mov a,r0 ;将之先的余数赋a mov b,#0ah ;除数为10 div ab ;相除 mov r1,b ;存余数 movc a,a+dptr ;查表 mov p2,a ;显示十位的数字 setb p1.1 ;选位 acall delay ;延时 clr p1.1 mov a,r1 ;个位数赋a movc a,a+dptr ;查表 mov p2,a ;显示个位的数字 setb p1.0 ;位选 acall delay ;延时 clr p1.0t0: ajmp aaadelay: mov r7,#10 ;子延时程序de1:mov r6,#50de2:djnz r6,de2 djnz r7,de1 rettab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh2、50000计数 org 0000h sjmp start org 000bh ajmp t0start: mov tmod,#05h ; 用计数器t0工作方式1进行工作 mov p1,#0 ; 将p1口置0 mov th0,#0ffh ; mov tl0,#0ffh ; 计数器初始化,有一个脉冲即中断 mov p3,#0 ; 将p3口置0 clr c ; c置0 mov dptr,#tab ; 指针指向tab setb ea ; 总中断控制设为“1” setb et0 ; t0中断允许控制设为“1” mov r0,#0 ; 个位值清零 mov r1,#0 ; 十位值清零 mov r2,#0 ; 百位值清零 mov r3,#0 ; 千位值清零 mov r4,#0 ; 万位值清零 setb tr0 ; 打开t0开关 acall t1 ; 显示加等待中断t0: mov th0,#0ffh ; mov tl0,#0ffh ; 中断将计数器初始化 inc r0 ; r0自加1 mov a,r0 ; 将r0的值赋入a中 cjne a,#10,aaa ; 比较a是否等于十,如果为十则进位,未满十就继续计数 mov r0,#0 ; r0置0 inc r1 ; 进位到十位aaa: movc a,a+dptr ; 查表 mov p2,a ; setb p1.0 ; 显示个位 acall delay ; 延时 clr p1.0 ; mov a,r1 ; r1的值赋入a中 cjne a,#10,bbb ; 比较,是否进位 mov r1,#0 ; 进位 r1置0 inc r2 ; 进位到百位bbb: movc a,a+dptr ; 查表 mov p2,a ; setb p1.1 ; 显示十位 acall delay ; 延时 clr p1.1 ; mov a,r2 ; r2赋入百位 cjne a,#10,ccc ; 比较,是否进位 mov r2,#0 ; 进位,r2置0 inc r4 ; 进位到千位ccc: movc a,a+dptr ; 查表 mov p2,a setb p1.2 ; 显示百位 acall delay ; 延时 clr p1.2 mov a,r3 ; r3赋入a中 cjne a,#10,ddd ; 比较,是否进位 mov r3,#0 ; 进位置0 inc r4 ; 进位到万位ddd: movc a,a+dptr ; 查表 mov p2,a setb p1.3 ; 显示千位 acall delay ; 延时 clr p1.3 mov a,r4 ; r4赋入a中 cjne a,#5,eee ; 比较万位是否到5 mov r4,#0 ; 万位到5时置0 mov r3,#0eee: movc a,a+dptr ; 查表 mov p2,a ; setb p1.4 ; 显示万位 acall delay ; 延时 clr p1.4 retit1:mov a,r0 ; 等待中断时调用 movc a,a+dptr mov p2,a setb p1.0 acall delay clr p1.0 mov a,r1 movc a,a+dptr mov p2,a setb p1.1 acall delay clr p1.1 mov a,r2 movc a,a+dptr mov p2,a setb p1.2 acall delay clr p1.2 mov a,r3 movc a,a+dptr mov p2,a setb p1.3 acall delay clr p1.3 mov a,r4 movc a,a+dptr mov p2,a setb p1.4 acall delay clr p1.4 ajmp t1delay:mov r7,#10de1:mov r6,#50de2:djnz r6,de2 djnz r7,de1 rettab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh3、出租车计费系统 org 0000h ljmp start org 000bh ljmp t0 jiao equ 20h yuan equ 21h shiy equ 22h baiy equ 23h baimi equ 24h li equ 25h shili equ 26h org 2000h start:mov tmod,#06h ;设置计数器t0工作方式2 mov th0,#0ffh ; mov tl0,#0ffh ;初始化 setb ea ;总中断控制设为“1” setb et0 ;t0中断允许控制设为“1” setb tr0 ;打开tr0开关 clr jiao mov yuan,#5 ;从5元开始计费 clr shiy clr baiy clr baimi clr li clr shili mov r0,#21 ;超过了两公里换另一种计费方式 mov dptr,#tab a0: acall xs ajmp a0 t0: inc baimi djnz r0,h0 mov r0,#5 ;每500米更新一次金额 b1: mov a,jiao add a,#8 ;每次走500米,金额加0.8元 mov jiao,a cjne a,#10,z0 ;比较是否满十,满十仅进位 mov jiao,#0 inc yuan sjmp z1 z0: jc z1 subb a,#10 mov jiao,a inc yuan z1: mov a,yuan cjne a,#10,z2 ;比较是否满十,满十仅进位 mov yuan,#0 inc shiy z2: mov a,shiy cjne a,#10,h0 ;比较是否满十,满十仅进位 mov shiy,#0 inc baiy h0: mov a,baimi cjne a,#10,y0 ;比较是否满十,满十仅进位 mov baimi,#0 inc li y0: mov a,li cjne a,#10,z3 ;比较是否满十,满十仅进位 mov li,#0 inc shili z3: acall xs zzz: reti xs: mov a,jiao movc a,a+dptr mov p2,a ;显示“角” setb p1.0 ; 位选 acall w1 clr p1.0 mov a,yuan mov dptr,#tab1 movc a,a+dptr mov p2,a ;显示“元” setb p1.1 ;位选 acall w1 clr p1.1 mov dptr,#tab mov a,shiy movc a,a+dptr mov p2,a ;显示“十元” setb p1.2 ;位选 acall w1 clr p1.2 mov a,baiy movc a,a+dptr mov p2,a ;显示“百元” setb p1.3 ;位选 acall w1 clr p1.3 mov a,baimi movc a,a+dptr mov p2,a ;显示“百米”(0.1公里) setb p1.4 ;位选 acall w1 clr p1.4 mov dptr,#tab1 mov a,li movc a,a+dptr mov p2,a ;显示“公里数” setb p1.5 ;位选 acall w1 clr p1.5 mov dptr,#tab mov a,shili movc a,a+dptr mov p2,a ;显示“十公里数” setb p1.6 ;位选 acall w1 clr p1.6 ret w1: mov r7,#10 djnz r7,$ ret tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ; 共阳极数值码 tab1:db 40h,79h,24h,30h,19h,12h,02h,78h,00h,10h 课程设计体会 本学期的17、18周,我们进行了单片机课程设计。本学期我们已开设单片机原理及设计这门课程,一开始,学的完全是理论,感觉着也是背,那也是背,很乏味,但是一些老师和学长学姐跟我讲,单片机是一门很有用的课程,是以后嵌入式跟控制方向的基础,对毕业找工作非常有用,所以我还是静下心来听课。到学期中期,我们开始单片机实验课,从那一刻起,我便开始迷上了单片机,每当布置任务,我就会迫不及待地回寝室开始动手,我享受坐在电脑前面设计程序。我原本以为课程设计会跟实验差不多的难度,可当我开始做时,发现课程设计并不是那么简
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年青岛版(新教材)一年级上册第二单元提高试卷附参考答案
- 2025年招投标专员年度工作总结与项目申报报告
- 2025年元宇宙虚拟发布会项目年终总结(品牌+传播)
- 作者贡献声明表、利益冲突声明表
- 员工辞退面谈话术
- 2026中国邮政储蓄银行四川省分行校园招聘备考题库含答案详解(预热题)
- 山东省济钢高中高二上学期期中考试生物试题
- 2025广西农村合作金融机构秋季新员工招聘390人备考题库及参考答案详解一套
- 2025贵州安顺镇宁县总工会招聘工会社会工作者2人备考题库含答案详解(轻巧夺冠)
- 2026长乐农商银行校园招聘6人备考题库附答案详解(培优b卷)
- 2025年6月大学英语四级考试完整真题(含答案解析)
- 永葆军人本色课件
- 船员上船前安全培训课件
- 主提升司机考试题库(含答案)
- 存货监管协议书范本
- 氮化硅涂层制备工艺-洞察及研究
- 护理事业十五五发展规划(2026-2030)
- 2022年广东省航道事务中心所属事业单位招聘考试真题及答案
- 公司返修返工单模板
- 罪犯心理矫治课件
- 《智能制造基础与应用》教学课件—第四章-智能控制基础
评论
0/150
提交评论