




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连民族学院 2007 级通信工程专业单片机系统课程设计报告 机电信息工程学院机电信息工程学院 单片机系统课程设计报告单片机系统课程设计报告 大连民族学院 2007 级通信工程专业单片机系统课程设计报告 目目 录录 一、一、设计设计任任务务和性能指和性能指标标.3 1.1 设计任务.3 1.2 性能指标.3 二、二、设计设计方案方案.4 2.1 任务分析.4 2.2 系统设计.5 三三 系系统统硬件硬件设计设计.7 3.1 电源电路.7 3.2 单片机的最小系统.8 3.3 DS1302 时钟电路.9 3.4 显示电路的设计 .10 3.5 按键控制的设计 .11 3.7 复位电路.13 四、系四、系统软统软件件设计设计 .14 4.1 主程序设计.14 4.2 子程序设计.15 4.2.1 DS1302 子程序.15 4.2.1 DS1302 子程序流程图.15 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 2 4.2.2 显示子程序 .17 4.2.2 显示子程序流程图.19 4.3 修改时间子程序.20 五、五、调试调试及性能分析及性能分析.21 5.1 调试步骤.21 5.1.1 硬件调试.21 5.1.2 软件调试:.21 5.2 性能分析.21 六、心得体会六、心得体会.23 七、参考文献七、参考文献.24 八、附八、附录录.25 附录 1、程序清单.25 附录 2 系统硬件电路图 .35 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 3 一、设计任务和性能指标一、设计任务和性能指标 1.11.1 设计任务设计任务 出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要 标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的 计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。 出租车计价器的主要功能是计价显示、时钟显示、根据白天、黑夜、途中 等待来调节营运参数、计量数据查询等。要求用 Protel 画出系统的电路原理图 (要求以最少组件,实现系统设计所要求的功能),印刷电路板(要求布局合 理,线路清晰),绘出程序流程图,并给出程序清单(要求思路清晰,尽量简 洁,主程序和子程序分开,使程序有较强的可读性)。 1.21.2 性能指标性能指标 1.不同情况具有不同收费标准:白天、晚上、途中等待(10min 开始收 费) ; 2.数据输出:单价输出、路程输出、总金额输出; 3.按键:启动计时开关、数据显示切换、白天/晚上切换、复位; 4.能手动进行修改单价,但单价设定需密码进入。 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 4 二、设计方案二、设计方案 2.12.1 任务分析任务分析 出租车计价器基本功能部分是根据里程数来完成总金额的输出。实现方法 有两种。 方案一:采用数字电路控制。其原理方框图如图 2.1 所示。采用传感器件, 输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到 这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节 计费标准,电路不够实用。 移移位位寄寄存存器器 电电路路 里里程程传传感感器器 金金额额显显 示示 单单价价显显 示示 电电源源电电路路及及 保保护护电电路路 图 2.1 数字电路实现框图 方案二:采用单片机控制。利用单片机丰富的 IO 端口,及其控制的灵活性, 实现基本的里程计价功能和价格调节、时钟显示功能。本方案有较大的活动空 间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方 便的对系统进行升级,所以我们采用后一种方案。 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 5 2.22.2 系统设计系统设计 键盘电路 掉电保护 单片机 显示电路 里程输入 图 2.1 电路系统构成框图 主控芯片使用 51 系列 AT89C52 单片机,采用高性能的静态 80C51 设计, 由先进工艺制造,并带有非易失性 Flash 程序存储器。它是一种高性能、低功 耗的 8 位 COMS 微处理芯片,市场应用最多。 时钟芯片使用美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的 实时时钟芯片 DS1302。采用 DS1302 作为主要计时芯片、可以做到计时准确。 更重要的是,DS1302 可以在很小的电流的后备电源(2.55.5V 电源,在 2.5V 时耗电小于 300nA)下继续计时,并可编程选择多种充电电流对后备电源进行慢 速充电,可以保证后备电源基本不耗电。采用串行数据传输,与单片机硬件连 接简单,如果使用时钟芯片 DS12887,将采用并行数据传输,占用更多的硬件 资源。因此为节省单片机端口,时钟芯片采用 DS1302。 它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器 件以霍尔效应为其工作基础。霍尔器件具有许多优点,它们的结构牢固,体积 小,重量轻,寿命长,安装方便,功耗小,频率高(可达 1MHZ),耐振动, 不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。活儿现行器件的精度高、线性 度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、无知 重复精度高(可达 Im 级)。采用了各种步长和保护措施的霍尔器件的工作温 度范围宽,可达-55 摄氏度150 摄氏度。 数据显示模块采用的是 LED 数码管显示,LCD 虽然也能实现显示功能, 但在距屏幕 1 米之外就无法看清数据,不能满足要求,而且在白天其对比度也 不能满足要求,因此建议采用 LED 数码管显示。数码管总共用了 12 个,其中 第一行显示小时和分钟,第二行第一个显示单价,后面 3 个显示里程数,最后 一行显示总价。 按键控制模块使用了 3 个脉冲开关,其中一个开关负责换位,另一个负责 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 6 改数,第三个按键负责切换至等待时间。 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 7 三三 系统硬件设计系统硬件设计 3.13.1 电源电路电源电路 因为出租车上的电压时 12V,而芯片所需供电电压是 5V,所以选择 LM7805 的经典电路电源电路完成 12V 转 5V 的目的。电源电路图如下图 3.1 所 示: 图 3.1 电源电路图 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 8 3.23.2 单片机的最小系统单片机的最小系统 单片机最小系统采用的是 STC89C54 芯片,STC89C54 是一种低功耗、高 新能 CMOS 8 为微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公 司高密度非易失性存储器技术制造,与工业 80C51 铲平指令和引脚完全兼容。 偏上 FLASH 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上, 拥有平桥的 8 为 CPU 何在系统可编程 Flash,使得 STC89C54 为众多嵌入式控 制应用系统提供高灵活、超有效的解决方案。 STC89C54 具有以下标准功能:8K 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 为定时器/计数器,一个 6 向量 2 级终端结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0HZ 静态逻辑操作,支持 2 中软件可选择节点模式。空闲模式下,CPU 停止工 作,允许 RAM、定时器/计数器、串口、终端继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬 件复位为止。单片机最小系统电路图如下图 3.2 所示: 图 3.2 单片机最小系统电路图 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 9 3.33.3 DS1302DS1302 时钟电路时钟电路 若采用单片机计时,一方面需要采用计数器,占用阴间资源,另一方面需 要设置终端、查询等,同样耗费单片机的资源,并且使用单片机的时钟误差比 较大,当长时间使用后会,会出现很大错误,而在系统中采用 DS1302 则能很 好的解决这个问题。DS1302 时钟电路图如图 3.3 所示: 图 3.3 DS1302 时钟电路图 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 10 3.43.4 显示电路的设计显示电路的设计 在显示模块需要对时间、单价、总价、路程、等待时间进行显示, 采用的是数码管,数码管总共用了 12 个,其中第一行显示小时和分钟, 第二行第一个显示单价,后面 3 个显示里程数,最后一行显示总价。 显示电路图(一个数码管)如下图 3.4 所示: 图 3.4 显示电路图 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 11 3.53.5 按键控制的设计按键控制的设计 按键的设置是为了能够手动更改时间和单价,还有就是手动切换到等待时间的 地方,按键采用的是脉冲按键。 按键设置电路图如图 3.5 所示: 图 3.5 按键控制电路图 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 12 3.6 掉电保护 掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。掉 电保护的芯片较多,如 AT24C02 是 ATMEL 公司的 2KB 字节的电可擦除存储 芯片,采用两线串行的总线和单片机通讯,电压最低可以到 2.5V,额定电流为 1mA,静态电流 10Ua(5.5V),芯片内的资料可以在断电的情况下保存 40 年以上, 而且采用 8 脚的 DIP 封装,使用方便。掉电保护电路图如下图 3.6 所示: 图 3.6 掉电保护电路图 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 13 3.73.7 复位电路复位电路 复位功能采用的是 MAX813L 芯片。MAX813L 是具有监控电路的微处理 芯片,它具有 4 个功能:1 具有独立的看门狗计时器,如果看门狗输入在 1.6 秒 内无变化,就会产生看门狗输出;2 掉电或电源电压低于 1.25V 时,产生掉电 输出;3 上电时能自动产生 200ms 宽的复位脉冲;4 具有人工复位功能,当人 工复位端输入低电平时,产生复位信号输出。 复位电路如图 3.7 所示: 图 3.7 复位电路图 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 14 四、系统软件设计四、系统软件设计 4.14.1 主程序设计主程序设计 程序的难度主要就是在数码管的显示和外部脉冲的采集部分,分别采用 74LS273 芯片对数码管进行段选,使数码管显示对应的数,另外使用 74LS154 对数码管进行位选,选择哪个数码管亮,采用的是动态显示。还有外部脉冲的 收集,需要对里程数进行显示,所以必须要先进行脉冲的采集。 程序流程图如图 4.1 所示: 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 15 图 4.1 程序流程图 4.24.2 子程序设计子程序设计 4.2.14.2.1 DS1302DS1302 子程序子程序 4.2.14.2.1 DS1302DS1302 子程序流程图子程序流程图 显示单价、总价、路程、时间等数据,循环扫描进行显示。(如果在一分 钟内没有脉冲,开启终端,显示秒分子程序。 DS1302 子程序流程图如 4.2.1 所示: 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 16 开始 写入实参数 addr CE=1 SCLK=0 I=0 取 ADDR 低位 Addr 右移一位 Sclk 上升沿 是否是上升 沿 Y 等待上升沿 N i+; i8 ? 结束 Y N 图 4.2.1 DS1302 子程序流程图 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 17 4.2.24.2.2 显示子程序显示子程序 void sett() /显示等待时间及单价、总价、路程子程序 TAB0=Read1302(0 x83)/10; TAB1=Read1302(0 x83)%10; TAB7=Read1302(0 x81)/10; TAB6=Read1302(0 x81)%10;TAB8=3; TAB2=Coo/100;TAB3=Coo/10%10; TAB4=Coo%10; if(TAB40;Delay-) for(I=0;I0; i- ) /循环 8 次移位 temp = addr; DIO = (bit)(temp /每次传输低字节 addr = 1; SCLK = 0; /右移一位 SCLK = 1; /发送数据 for ( i=8; i0; i- ) temp = dat; DIO = (bit)(temp dat = 1; SCLK = 0; SCLK = 1; CE = 0; unsigned char Read1302 ( unsigned char addr ) /数据读取子程序 unsigned char i,temp,dat1,dat2; CE=0; SCLK=0; CE = 1; 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 28 /发送地址 for ( i=8; i0; i- ) /循环 8 次移位 temp = addr; DIO = (bit)(temp /每次传输低字节 addr = 1; SCLK = 0; SCLK = 1; /右移一位 /读取数据 for ( i=8; i0; i- ) ACC7=DIO; ACC=1; SCLK = 1; SCLK = 0; CE=0; dat1=ACC; dat2=dat1/16; /数据进制转换 dat1=dat1%16; /十六进制转十进制 dat1=dat1+dat2*10; return (ACC); void Initial() /初始化 DS1302 Write1302 (0 x8E,0 x00); /禁止写保护 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 29 Write1302 (0 x80,0 x00); /秒位初始化 Write1302 (0 x82,0 x20); /分钟初始化 Write1302 (0 x84,0 x10); Write1302 (0 x86,0 x23); Write1302 (0 x88,0 x05); Write1302 (0 x8c,0 x10); /小时初始化 Write1302 (0 x8E,0 x80); /允许写保护 void set() /修改时间 Write1302 (0 x8E,0 x00); /禁止写保护 Write1302 (0 x82,TAB7*16+TAB6); /分钟初始化 Write1302 (0 x84,TAB0*16+TAB1); Write1302 (0 x8E,0 x80); void ss()/显示子程序 int i;uchar *p;p=TAB; for(i=0;i1;i+) det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1; P14=0;P15=0;P16=0;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp; P20=0;P20=1;P14=1;P15=0;P16=0;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=0;P15=1;P16=0;P17=0;p+; 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 30 det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=1;P16=0;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp; P20=0;P20=1;P14=0;P15=0;P16=1;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=0;P16=1;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=0;P15=1;P16=1;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=1;P16=1;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=0;P15=0;P16=0;P17=1;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=0;P16=0;P17=1;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=0;P15=1;P16=0;P17=1;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=1;P16=0;P17=1;p+; det=*p; tmp=DispTabdet; 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 31 P0=tmp;P20=0;P20=1;P14=0;P15=0;P16=1;P17=1;p+; void sett() /显示等待时间及单价、总价、路程子程序 TAB0=Read1302(0 x83)/10; TAB1=Read1302(0 x83)%10; TAB7=Read1302(0 x81)/10; TAB6=Read1302(0 x81)%10;TAB8=3; TAB2=Coo/100;TAB3=Coo/10%10; TAB4=Coo%10; if(TAB4=3 else TAB11=(8+(Coo-3)*TAB8)%10; TAB5=TAB2*TAB8/10; TAB9=Coo/100*TAB8+Coo%100*TAB8/100; TAB10=(Coo/10*TAB8+Coo%10*TAB8/10)%10; void mmm() /显示时间子程序 TAB0=Read1302(0 x85)/10; TAB1=Read1302(0 x85)%10; TAB7=Read1302(0 x83)/10; TAB6=Read1302(0 x83)%10;TAB8=3; void qie(int j) /修改时间、单价子程序 uchar i;switch(j) case 4:ss(); if(P22=0) for(i=0;i!=1;) i=P22;ss(); TAB8+; if(TAB8=10) 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 32 TAB8=0;break; case 3:ss(); if(P22=0) for(i=0;i!=1;) i=P22;ss(); TAB6+; if(TAB6=10) TAB6=0;break; case 2:ss(); if(P22=0) for(i=0;i!=1;) i=P22;ss(); TAB7+; if(TAB7=6) TAB7=0;break; case 1:ss(); if(P22=0) for(i=0;i!=1;) i=P22;ss(); TAB1+; if(TAB0=2break; case 0:ss(); if(P22=0) for(i=0;i!=1;) i=P22;ss(); TAB0+; if(TAB0=3) TAB0=0;break; default:break; 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 33 Void die() /修改单价位、时间位子程序 int x;for(m=0;m5;) ss();qie(m); if(P21=0) for(x=0;x1;) ss();x=P21;m+;set(); void mm() /非计价时的显示时间 TAB0=Read1302(0 x85)/10; TAB1=Read1302(0 x85)%10; TAB7=Read1302(0 x83)/10; TAB6=Read1302(0 x83)%10;TAB8=3; TAB2=Coo/100;TAB3=Coo/10%10; TAB4=Coo%10; if(TAB4=3 else TAB11=(8+(Coo-3)*TAB8)%10; TAB5=TAB2*TAB8/10; TAB9=Coo/100*TAB8+Coo%100*TAB8/100; TAB10=(Coo/10*TAB8+Coo%10*TAB8/10)%10; void count() /计价子程序 int x;EA=1; if(f=Coo) sett();ss(); elsemm(); if(P35=0) for(x=0;x1;) ss();x=P35;Coo+; 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 34 void main() int i,j;TMOD=0 x01; TH0=0 x15;TL0=0 xa0;TR0=1;ET0=1;Initial();P27=0; for(;) if(P23=0) for(i=0;i1;) ss();i=P23; for(j=0;j1;) count();ss(); if(P23=0) for(i=0;i1;) ss();i=P23;EA=0;j+; TAB2=TAB3=TAB11=TAB5=TAB9=TAB10=TAB4=0; else mmm();ss(); if(P21=0) for(i=0;i1;) ss();i=P21; die(); 大连民族学院 2007 级电子信息工程专业单片机系统课程设计报告 35 附录附录 2 2 系统硬件电路图系统硬件电路图 IN 1 3 OUT 2 GND U6 LM78L05ACH 220 R3 GND GND +5 OUT A0 1 A1 2 A2 3 GND 4 SDA 5 SCL 6 WP 7 VCC 8 U7 AT24C02 GND +5 +5 MR 1 VCC 2 GND 3 PFI 4 PFO 5 WDI 6 RST 7 WDO 8 U9 MAX813 GND C7 10uF 1K +5 GND 4K7 R7 5K1 R6 P25 P26 P25 P26 X1 2 X2 3 VCC2 1 GND 4 RST 5 I/O 6 SCLK 7 VCC1 8 U10 DS1302 Y2 32.768khz GND +5 0.1nf C8 1 2 3 4 5 6 7 8 9 10 DS1 CON10 a b c d e f g dp V1 1 2 3 4 5 6 7 8 9 10 DS2 CON10 a b c d e f g dp V2 1 2 3 4 5 6 7 8 9 10 DS6 CON10 a b c d e f g dp V3 1 2 3 4 5 6 7 8 9 10 DS7 CON10 a b c d e f g dp V4 1 2 3 4 5 6 7 8 9 10 DS8 CON10 a b c d e f g dp V5 1 2 3 4 5 6 7 8 9 10 DS9 CON10 a b c d e f g dp V6 1 2 3 4 5 6 7 8 9 10 DS4 CON10 a b c d e f g dp V7 1 2 3 4 5 6 7 8 9 10 DS3 CON10 a b c d e f g dp V8 E 2 C 3 B 1 Q1 C8550 E 2 C 3 B 1 Q2 C8550 E 2 C 3 B 1 Q3 C8550 E 2 C 3 B 1 Q6 C8550 E 2 C 3 B 1 Q7 C8550 E 2 C 3 B 1 Q10 C8550 Q12 C8550 4K7 R4 4K7 R5 4K7 R8 4K7 R11 4K7 R14 4K7 R15 R17 V6 V5 V4 V3 V2 V1 F1 D1 E1 C1 B1 A1 E 2 C 3 B 1 Q4 C8550 4K7 R9 V12 L1 E 2 C 3 B 1 Q11 C8550 V8 H1 E 2 C 3 B 1 Q8 C8550 4K7 R12 V10 J1 E 2 C 3 B 1 Q9 C8550 4K7 R16 V9 I1 E 2 C 3 B 1 Q5 C8550 4K7 R10 V11 K1 1 2 3 4 5 6 7 8 9 10 DS11 CON10 a b c d e f g dp V11 1 2 3 4 5 6 7 8 9 10 DS12 CON10 a b c d e f g dp V12 1 2 3 4 5 6 7 8 9 10 DS5 CON10 a b c d e f g dp V9 1 2 3 4 5 6 7 8 9 10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶艺中级知识考试题库及答案
- 相遇问题试讲题目及答案
- 2025年九年级数学秋季开学摸底考(江苏专用)含答案
- 2025年G1工业锅炉司炉证考试题库及答案
- 2025年5月计算机文化基础模拟考试题与答案
- 2025物业服务合同管理规范范本
- 2025年4月肿瘤专科练习题库(含参考答案)
- 2025年4月基础医学概论模拟习题(含参考答案)
- 2025-2026学年七年级语文上册第五单元检测培优卷( 含答案)
- 2025年沪教版八年级英语上册预习Unit1【含答案解析】
- 施工项目部会议管理制度
- 欢迎一年级新生入学课件
- 译林版七年级上册英语阅读理解专项练习题100篇含答案
- 职业技术学院《汽车维修接待》课程思政标准
- 夫妻婚内财产协议书(2024版)
- 定制家具工厂外包合同模板
- 污水处理厂风险清单
- (正式版)JTT 1495-2024 公路水运危险性较大工程安全专项施工方案审查规程
- 19R505-19G540室外管道钢结构架空综合管廊敷设
- 机械制造基础说课市公开课一等奖省赛课微课金奖课件
- 智慧建筑评价标准
评论
0/150
提交评论