




已阅读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年西藏自治区公务员录用考试人民警察职位体能测评试卷
- 新疆公务员2025年真题
- 2025年环境保护知识竞赛题附答案
- 2025年国家公务员考试公共法律知识考试题库及答案
- 2025年公务员公文写作试题及答案
- 2025年跌倒坠床的应急预案及处理流程题目(附答案)
- 供电所管理业务培训
- 垃圾分类督导服务费协议
- 2025年粉末冶金摩擦材料合作协议书
- 2025年碳纤维针刺预制件项目建议书
- DL∕T 5344-2018 电力光纤通信工程验收规范
- 14生活日用品的联想 (教案)人美版美术四年级上册
- CH+8016-1995全球定位系统(GPS)测量型接收机检定规程
- DL-T5493-2014电力工程基桩检测技术规程
- 人教版2024年小学升学考试数学模拟测试卷(共5套)(含答案解析)
- 医院系统瘫痪应急预案
- 光伏项目技术标准清单
- 117湖南省怀化市雅礼实验学校2023-2024学年七年级下学期开学考试数学试题
- 输气管线破裂漏气应急处置方案
- 老年患者呼吸系统疾病的护理重点
- 脑卒中急救中的辅助检查与影像学应用
评论
0/150
提交评论