单片机课程设计封面及封底_第1页
单片机课程设计封面及封底_第2页
单片机课程设计封面及封底_第3页
单片机课程设计封面及封底_第4页
单片机课程设计封面及封底_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、桂林航专电子工程系单片机技术课程设计与制作说明书设计题目:专业年级:学 号: 姓 名: 同组姓名:指导教师:2009 年6 月 日单片机技术课程设计与制作成绩评定表设计题目:学号: 姓名: 项目评语内容评定等级设计表现(20%)基本要求评价:掌握基础理论,设计过程中的学习态度,文献查阅能力,设计思路可行性能力评价设计任务量、设计过程中参与情况ABCDE设计说明书(30%)调试过程中运用理论分析与解决问题的能力;报告格式规范性、全面性、逻辑性、表达能力综合评价ABCDE实物评价(30%)电路实现情况,电路板外观、焊点、设计合理性等ABCDE答辩(20%)答辩时,回答老师提出的软硬件问题情况ABC

2、DE综合成绩教师签名年 月 日单片机技术课程设计与制作任务书专业: 学号:号 姓名:一、 设计题目:模拟出租车计价器摘要:智能仪器仪表技术是一门集电子技术、单片机技术,自动化仪表、自动控制技术、计算机应用等一体的跨学科的专业技术。自20世纪90年代初以来,这项技术已逐步引入到国内工科专业中的电子信息、通讯、自动化、计算机应用等信息类专业中。随着微电子技术和计算机技术的飞速发展,测控仪器仪表的智能化、总线化、网络化发展已在各个相关行业呈现出广阔的发展前景,同时也日益成为工程界和科技界人士所关注的重要问题之一。因此,了解和熟悉智能仪器仪表的特点功能,发展趋向及其应用前景是十分重要和必要的。出租车计

3、价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实

4、现。避免了机械开关带来的不稳定因素。本设计主要了解应用单片机的定时器/计数器,以及中断。这是一个比较小的系统,故采用c语言来编辑。本系统假设,单价一定1元/Km,起步价7.0元,超过2公里开始计费,每公里加1元。二、1.2 本设计任务1.2.1设计任务设计一款基于STC89C52单片机的模拟出租车计价器。单价一定1元/Km,起步价7.0元,超过2公里开始计费,每公里加1元。设计要求:不同情况具有不同的收费标准。l 白天l 晚上(1) 能进行手动模拟加路程。(2) 具有数据的复位功能。(3) IO 口分配的简易要求。l 白天/晚上收费标准的转换开关l 数据的清零开关l 路程的调整(最好使用和按键

5、)(4) 数据输出。l 路程输出 4位l 总金额输出 3 位(5) 按键。l 路程模拟l 数据复位(清零)l 白天/晚上转换1.3 系统主要功能本课程设计所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出。输出采用8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、来调节单价。计价器硬件设计本系统的硬件设计主要包括单片机STC89C52、数据显示部件、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。2.1 系统的硬件构成及功能计价器的单片机控制方案图如图1所示。

6、它由以下几个部件组成:单片机STC89C52、总金额及单价显示部件、键盘控制部件、里程计算单元、串中显示驱动电路等。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。单片机键盘控制单元Led灯显示里程计价单元串口显示驱动电路显示单元图2-1 总体设计方框图2.2 STC89C52RC单片机介绍STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下

7、:增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz用户应用程序空间为8K字节片上集成512字节RAM通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3

8、.1)直接下载用户程序,数秒即可完成一片具有EEPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒通用异步串行口(UART),还可用定时器软件实现多个UART工作温度范围:-40+85(工业级)/075(商业级)PDIP封装STC89C52RC单片机的工作模式掉电模式:典型功耗<0.1A,可由外部中断唤醒,中断返回后,继续执行原程序空闲模式:典型功耗2mA正常工作模式:典型功耗4Ma7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备STC8

9、9C52RC引脚图STC89C52RC引脚功能说明VCC(40引脚):电源电压VSS(20引脚):接地P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(

10、吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:在对Flash ROM编程和程序校验时,P1接收低8位地址。表XX P1.0和P1.1引脚复用功能引脚号功能特性P1.0T2(定时器/计数器2外部计数输入),时钟输出P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制)P2端口(P2.0P2.7,2128

11、引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流()。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对Flash ROM编程和程序校验期间,P2也接收高位

12、地址和一些控制信号。P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流()。在对Flash ROM编程或程序校验时,P3还接收一些控制信号。P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:表XX P3口引脚复用功能引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4

13、T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可

14、用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。(29引脚):外部程序存储器选通信号()是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFF

15、H的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。2.3 数据显示单元设计由于设计要求有、路程(4位)、总金额(3 位)显示输出,加上我们另外扩展了时钟显示(包含时分秒的显示),采用LCD 液晶段码显示,在距离屏幕1 米之外就无法看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此我们采用6 位LED数码管的分屏显示,如图6 所示共阴极数码管的应用&#

16、183; 共阴极数码管是一类数字形式的显示屏,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单、在电器,特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。共阴极结构:LED显示器有共阴极和共阳极两种结构,下面只介绍共阴极结构。见图3,在共阴极结构中,各段发光二极管的阴极连在一起,将此公共点接地,某一段发光二极管的阴极为高电平时,该段发光。共阴极字段码:LED显示09某个字符时,则要求在adp送固定的字段码,如要使LED显示“0”,则要求a、b、c

17、、d、f各引脚为高电平,g和dp为低电平,字段码为“3fh” 。dp g f e d c b a0 0 1 1 1 1 1 1 3fh共阴极字符09七段码如下:字符: 0 1 2 3 4 5 6 7 8 9字段码:3fh 06h 5bh 4fh 66h 6dh 7dh 07h 7fh 6fh程序如下:void display() if(!flag) P0=0x77; else P0=0x73; P2=0; delay(2); P0=segtotal/100; P2=1; delay(2); P0=segtotal%100/10; P2=2; point=1; delay(2); P0=segt

18、otal%10; P2=3; delay(2); P0=segdistance/1000; P2=4; delay(2); P0=segdistance%1000/100; point=1; P2=5; delay(2); P0=segdistance%100/10; P2=6; delay(2); P0=segdistance%10; P2=7; delay(2); P0=0;。2.4键盘服务程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。(1)S1按键的功能按下S1时切换白天或者晚上。白天时数码管显示R且

19、led中黄灯亮,晚上时显示P且红灯亮(2)S2按键的功能清零键,相当于另一乘客上车重新计数!(3)S3按键的功能模拟路程键,按下一次,路程加0.06公里并led灯右移一位。如上图,跳帽操作:S1旁边的3针插针,跳帽必须跳到右端。S1对应P30,S2对应P31, S3对应P32.开始初始化键盘扫描程序是否有键按扫描键值显示里程、金额切换键1?白天晚上程序调用清零键2?清零管脚调用里程键3?调用里程函数显示全部清零显示白天或晚上标志while(1) / if(key=0) delay(5); if(key=0) flag=!flag; led=led; while(!key); if(key1=0

20、) return;while(!key1); if(key2=0) delay(30); P1<<=1; P1|=0x01; if(P1=0x7f) delay(30); P1=0xfe; while(!key2);第3节 程序调试与测试结果分析3.1 程序调试1、Keil C51软件简介:平时熟悉的51单片机的编程语言有二种,一种是汇编语言,一种是C语言。由于涉及到大量数据的运算,程序不宜采用汇编语言, C语言大大缩短了开发时间,使程序简洁,且程序可读性非常好。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能

21、上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。在开发大型软件时更能体现高级语言的优势。3.2 测试结果Build target 'Target 1'compiling CCCCC.C.linking.Program Size: data=15.1 xdata=0 code=642Creating hex file from "rete"."rete" - 0 Error(s), 0 Warning(s).结论/展望本款出租车计价器比目前市场

22、现在的增加了不少功能,其中包括按键控制,单价输出、单价调整、路程输出、LED灯闪烁等功能。另外,多功能出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。通过本次课程设计,不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。这在以

23、前的学习过程中是不曾学到的。又使我学到了许多书本上无法学到的知识,也使也深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:STC89C52单片机及其引脚说明、及其引脚功能等,为本次课程设计提供了一定的资料。经过这次的设计,为我们以后毕业设计的制作也奠定了一定的基础。附录#include<reg52.h> #define uchar unsigned char#define uint unsigned intsbit point=P07;

24、sbit key=P30;sbit key1=P31;sbit key2=P32;sbit led=P1;uint cycle,distance; uint total; bit flag; uchar code seg=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; void delay(uint z)uint x,y;for(x=z;x>0;x-) for(y=112;y>0;y-);void display() if(!flag) P0=0x77; else P0=0x73; P2=0; delay(2); P0=segt

25、otal/100; P2=1; delay(2); P0=segtotal%100/10; P2=2; point=1; delay(2); P0=segtotal%10; P2=3; delay(2); P0=segdistance/1000; P2=4; delay(2); P0=segdistance%1000/100; point=1; P2=5; delay(2); P0=segdistance%100/10; P2=6; delay(2); P0=segdistance%10; P2=7; delay(2); P0=0;void main() EA=1; EX0=1; IT0=1;

26、 while(1) / if(key=0) delay(5); if(key=0) flag=!flag; led=led; while(!key); if(key1=0) return;while(!key1); if(key2=0) delay(30); P1<<=1; P1|=0x01; if(P1=0x7f) delay(30); P1=0xfe; while(!key2); / distance=cycle*6; / if(distance<=200) if(flag) total=100; else total=70; else if(!flag) total=7

27、0+(distance-200)/10; else total=100+(distance-200)/10; / display(); / void extern0() interrupt 0 cycle+; if(cycle>=1666) cycle=0;五完成期限: 2009年 6 月日指导教师: 年月日教研室: 年 月 日目 录第1节 摘要····················

28、83;·············································11. 2 本设计任务··

29、3;·················································

30、3;······························1 设计任务··················

31、3;·················································

32、3;············ 1 设计要求····································

33、83;············································ 11. 3 系统主要功能···&#

34、183;····································································

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论