第八组课程设计报告.docx
- 文档编号:7545842
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:33
- 大小:570.59KB
第八组课程设计报告.docx
《第八组课程设计报告.docx》由会员分享,可在线阅读,更多相关《第八组课程设计报告.docx(33页珍藏版)》请在冰豆网上搜索。
第八组课程设计报告
天津职业技术师范大学
TianjinUniversityofTechnologyandEducation
课程设计
专业班级:
应电0814班
学生姓名:
冯晓微(8)彭旭(36)葛琼(37)
指导教师:
刘新月讲师
潘静讲师
系别:
电子工程学院
1多功能数字钟
1.1主要技术指标
本万年历由51单片机、ds1302时钟芯片、ds18b20温度传感器和12864液晶显示屏组成,可以显示阳历、农历、星期、时间、温度、节日提醒等信息。
完全满足你日常日期信息的要求。
·1.2方案论证及选择
1.2.1显示模块选择方案和论证:
方案一:
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
但这里显示位数多,所要求的数码管多,成本更高。
方案二:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,虽价格昂贵,但接口线多,所以在此设计中采用LCD液晶显示屏。
1.2.2时钟芯片的选择方案和论证:
时钟芯片的选择方案和论证:
方案一:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,结构简单。
所以采用DS1302时钟芯片。
方案二:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
且算法复杂,所以不采用此方案。
经论证本次设计采用采用AT89S52作为主控制系统;DS1302提供时钟;采用LCD液晶作为显示。
1.3系统组成
按照系统设计功能的要求,初步确定设计系统由主控模块,时钟模块,显示模块,键盘接口模块共4个模块组成,电路系统构成框图如图1-1和1-2所示框图
蜂鸣器
指示灯
系统总体结构框图1-1
N
Y
软件系统框图1-2
·1.4单元电路设计
·1.4.1单片机
主控芯片使用5系列AT89c52单片机,51系列单片机的发展已经有比较长的时间,应用比较广泛,各种技术都比较成熟,此系列单片机是8位机,处理速度不是很快,但对于我们做这个万年历已经绰绰有余了。
51支持C语言,应用也比较简单。
1.AT89C52是8字节FLASH闪速存储器,256字竹内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89c52可降至Ohz的静态逻辑操作,并支持两种软件可选的节电上作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器.串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.
2.功能引脚说明:
功能引脚说明Vcc:
电源电压GND:
地P0:
P0口是一组8位漏极开路型双向1/O口,也即地址/数据总线复用口。
作为输出口用时.每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
PI是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL与AT89C51不同之处是,Pl.0和P1.1还可分别作为定时/计数器2的外部计数输入(Pl.0/T2)和输入(P1.1/T2EX),FLASH编程和程序校验期间,Pl接收低8位地址。
PI.O和PI.l的第二功能:
P2是一个带有内部上拉电阻的8位双向I/O口,的输出缓冲级可驱动P2(吸收或输出电流)4个TTL逻辑电路。
对端口P2写“l",通过内部的上拉电阻把端口拉到高电平,此时可作输入口,5作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt)。
在访问外部程序存储器或16位地址的外部数据存储器,P2送出高8位地址数据。
在访问8位地址的外部数据存储器、如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
FLASH编程或校验时,P2亦接收高位地址和一些控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL).P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:
P3.0RXD(串行输入口〕P3.1TXD(串行输出口〕P3.2INTO(外中断0〕P3.3INTO(外中断l)P3.4TO(定时/计数器0)P3.5Tl(定时/计数器l)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节.一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位.可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:
程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地).需注怠的是:
如果加密位LBI被编程,复位时内部会锁存EA端状态。
·1.4.2时钟芯片
时钟芯片使用美国DALLAs公司推出的一种高性能,低功耗,带RAM的实时时钟DSl302.它的工作电压一般为2.5-5.5V,它的主要特点是采用串行数据传输,同时增加了主电路/后背电源双电源引脚,可以为掉电保护电源提供可编程的充电功能。
采用12MHz的晶振,电容6pF就可以起到稳定振荡频率和快速起振的作用了。
DS1302是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具体闰年补偿功能。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字。
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。
DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW。
图1-3
·1.4.3最小系统
最小系统单片机最小系统包括时钟电路、电源和复位电路等,是单片机工作的基本要求。
单片机控制整个系统的工作,一方面读取日历时钟芯片中的日期等数据,检测是否需要设置,并处理相应的按键。
另一方面,控制显示器的工作,将各种数据送到液晶显示器去显示。
图1-4
·1.4.4温度传感器
Ds18B20数字温度计提供9-12位摄氏温度测量而且有一个有高低电平触发的可编程的不因电源消失而改变的报警功能,DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条线连接,它的测温范围为-55~+125℃,并且在-10~+85℃精度为±5℃。
除此之外,DS18B20能直接从单线通信线上汲取能量,除去了对外部电源的需求。
图1-5
DS1820通过门开通期间内低温度系数振荡器经历的时钟周期个数计数来测量温度。
而门开通期由高温度系数振荡器决定。
计数器予置对应于-55℃的基数,如果在门开通期结束前计数器达到零,那么温度寄存器它也被予置到-55℃的数值--将增量。
指示温度高于-55℃。
同时计数器用斜率累加器电路所决定的值进行予置。
为了对遵循抛物线规律的振荡器温度特性进行补偿,这种电路是必需的,时钟再次使计数器计值至它达到零,如果门开通时间仍未结束那么此过程再次重复。
斜率累加器用于补偿振荡器温度特性的非线性,以产生高分辩率的温度测量,通过改变温度每升高一度,计数器必须经历的计数个数来实行补偿,因此,为了获得所需的分辩率,计数器的数值以及在给定温度处每一摄氏度的计数个数(斜率累加器的值)二者都必须知道。
此计算在DS1820内部完成以提供0.5℃的分辩率。
温度读数以16位、符号扩展的二进制补码读数形式提供。
表1说明输出数据对测量温度的关系数据在单线接口上串行发送DS1820可以以0.5℃的增量值,在0.5℃至+125℃的范围内测量温度,对于应用华氏温度的场合必须使用查找表或变换系数
注意在DS1820中,温度是以1/2℃LSB(最低有效位)形式表示时,产生以下9位格式
最高有效(符号)位被复制到存储器内两字节的温度寄存器中较高MSB的所有位,这种符号扩展产生了如表1所示的16位温度读数。
以下的过程可以获得较高的分辩率,首先,读温度,并从读得的值截去0.5℃位(最低有效位)这个值便是TEMP_READ然后可以读留在计数器内的值此值是门开通期停止之后计数剩余
所需的最后一个数值是在该温度处每一摄氏度的计数个数(COUNT_PER_C)。
于是,用户可以使用下式计算实际温度表1表2
注1.温度变换需要2秒钟。
在接收到温度变换命令之后,如果器件未从VDD引脚取得电源那DS1820的I/O引线必须至少保持2秒的高电平以提供变换过程所需的电源这样在温度变换命令发出之后至少在此期间内单线总线上不允许发生任何其他的动作。
2.在接收到复制暂存存储器的命令以后如果器件没有从VDD引脚取得电源,那么DS1820的I/O引脚必须至少维持10ms的高电平,以便提供复制过程中所需的电源,这样在复制暂存存储器命令发出之后至少在这一期间之内单线总线上不允许发生任何其他的动作,此命令写至DS1820的暂存存储器以地址2开始接着写的两个字节将被保存在暂存存储器地址2和3之间中发出一个复位便可在任何处终止写操作。
表1温度/数据关系
表2DS1820命令集
·1.4.5液晶显示
12864液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标GB2312码简体中文字库(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
可与CPU直接接口,提供两种界面来连接微处理机:
8-位并行及串行两种连接方式。
具有多种功能:
光标显示、画面移位、睡眠模式等。
a)逻辑工作电压(VDD):
4.5~5.5V
b)电源地(GND):
0V
c)LCD驱动电压(V0):
0~-10V
d)工作温度(Ta):
0~55℃(常温)/-20~70℃(宽温)
12864硬件特性如下:
●提供8位,4位并行接口及串行接口可选
●并行接口适配M6800时序
●自动电源启动复位功能
●内部自建振荡源
●64×16位字符显示RAM(DDRAM最多16字符×4行,LCD显示范围16×2行)
●2M位中文字型ROM(CGROM),总共提供8192个中文字型(16×16点阵)
●16K位半宽字型ROM(HCGROM),总共提供126个西文字型(16×8点阵)
●64×16位字符产生RAM(CGRAM)
12864-软件特性如下:
●文字与图形混合显示功能
●画面清除功能
●光标归位功能
●显示开/关功能
●光标显示/隐藏功能
●显示字体闪烁功能
●显示移位功能
●反白显示功能
●休眠模式
图1-6
1.4.6农历算法
单片机从Ds1302读出年份月份后,通过查表方法得知所对应的农历日期,如要将公元纪年换算成干支纪年,以公元年的尾数在天干中找出相对应。
然后,将公元纪年除以12,用余数在地支中找出所对应的地支。
这样,公元纪年就换算成了干支纪年。
地支编号如下:
如:
公元1995年
用该年尾数5找出对应的天干为“乙”。
然后,用1995除以12得余数为3。
用余数3找出相对应的地支为“亥”。
那么,公元1995年则为农历乙亥年
·1.5总体电路
·1.6调试过程及测试结果
(1)、硬件电路的调试电子万年历硬件的制作和调试都比较简单,焊接时要仔细的对照原理图,以免把元器件弄错,焊接时要注意,不要出现虚焊。
等完全焊接好后要再检查一遍,确定无误后就开始调试。
接上电源,看下电源的指示灯有没有亮,如果亮了就说明有电源输入,再检测一下单片机电源管脚(40号脚)是否有电源,如果有适当的电压说明电源部分没有问题。
在硬件调试时也可以先在芯片中捎个简单的程序,看下驱动部分和显示部分能不能正常工作。
如果数码管显示不正常,有断码时要检查一下数码管的管教有没有虚焊。
(2)、软件电路的调试确定硬件没有错误后,根据原理,连接图编写程序,编译无误后可以先在仿真器上仿真下,看下程序是否按自己编写的效果显示出来。
一开始程序经自己编写好后,用仿真器试用下,万年历不能按照常现象从数码管上显示出来,则需要查看软件是否有错。
若软件没有问题,则需要观察万年历时钟芯片是否正常。
这样依次检查,直到显示正常。
(1)DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出).在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节.若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节.DS1302与RAM相关的寄存器分为两类:
一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读,写所有的RAM的31个字节.
(2)在仿真头调试时候,我发现在LED显示板上能够正常显示数字,但是秒位不能记数,检查DS1302的连接(没有错,接触也良好),说明了这片DS1302不能记数,然后换掉DS1302后此时不但可以正常显示数字,而且可以正常记数,说明刚才那片是坏的.(3)(2M)晶振的调试,在调试晶振的时候发现,在没有给电路同电的时候,晶振两端输出波形是个不稳定的正弦波,而通电后也是个正弦波,但是中间一个引脚接地时候,波形比较稳定,接示波器时间长了,发现DS1302很发烫(时间很短内温度达到很高),但是不接示波器,时间长点也不会出现发烫现象.我认为是示波器引脚上的电和电路板上的电相通的原因.
1.7元件清单
大板子1块
排座1排
排针1排
lcd128641块
18b201个
DS13021块
AT89s521块
12m晶振1个
30pf电容2个
按键7个
10uf电容1个
10k排阻1个
3k电阻1个
510欧电阻1个
10k电位器1个
32.768k晶振1个
蜂鸣器1个
9012三极管1个
1k电阻5个
多功能数字时钟总结
最开始在设计多功能数字钟的时候,只想到了一些不叫常见的以及一些最基本的,然后开始编程序,之后又开始不断的调试,通过查阅资料,以及参考网络和同学的帮助,也都一点点的成型,之后又在这么简单的基础上开始增加另外一些设置,在答辩前我们的多功能数字钟已经有了很多的功能,如显示阴历、阳历、节假日、生日提醒,闹钟设置,年月日、生肖,星期这些都是按键可调的,还有24小时和12小时的转换,更加方便在生活中使用。
2单片机出租车计费器
2.1课程设计的目的与要求
2.1.1设计的目的
出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。
国内出租车计价器已经经历了4个阶段的发展。
从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器。
随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。
而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
本设计采用AT89S52单片机为主控器,以槽型光电开关和码盘,通过计脉冲数达到测距的目的,实现对出租车的多功能的计价设计,采用液晶显示。
本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。
它比市场上的一些计价器使用更方便,功能更全,还具有有效防止司机作弊和系统稳定性好的优点。
以AT89S52单片机为核心,设计一款多功能出租车计价器,该计价器除了能够实现里程计价与显示外,还具备人机对话、时钟显示、节日提醒、等待计费、黑夜/白天服务转换、温度显示等功能。
这是一款多功能出租车计价器,该计价器能实现按时间和里程综合计算车价,能显示时间、里程、单价、总车价等相关信息显示。
它比市场上的一些计价器使用更方便,功能更全,还具有有效防止司机作弊和系统稳定性好的优点。
2.1.2设计指标
出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。
从起步价开始,当汽车程行驶未满0.6公里时,均按起步价计算。
过0.6公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费便构成了一位乘客的车费。
同时,白天和夜晚价格不同,可以进行切换。
白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。
(默认起步价为8元/0.6公里,里程单价白天为1.7元/公里,夜晚为2.0元/公里,等待计时单价为0.3元/秒)
(注:
以上数据均可调整。
)
2.1.3设计要求
1)基本功能要求:
实现人机对话,每公里单价,总里程价格,等候时间计费等功能;
实现工作/非工作模式、白天/夜晚模式的切换;
2)发挥部分
(1)不同情况具有不同的收费标准
白天、晚上、途中等待;
(2)能进行手动修改单价、具有数据的复位功能、I/O口分配的简易要求;
白天/晚上收费标准的转换开关、数据的清零开关、单价的调整;
(3)数据输出
单价输出、路程输出、总金额输出、等待时间输出;
(4)按键
启动计时开关、数据复位(清零)、白天/晚上转换;
(5)能够显示当前的系统时间
2.2方案论证与选择
方案一:
采用数字电子技术,利用555定时芯片构成多谐振荡器,或采用外围的晶振电路作为时钟脉冲信号,采用计数芯片对脉冲尽心脉冲的计数和分频,最后通过译码电路对数据进行译码,将译码所得的数据送给数码管显示,一下是该方案的流程框图,方案一如图1-1所示:
图2-1
方案二:
采用MCU技术,通过单片机作为主控器,利用1602字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,以下是方案三的系统流程图,本方案主要是必须对于数字电路比较熟悉,成本又不高。
方案图如图1-3所示:
图2-2
方案三;采用单片机控制,利用单片机丰富的IO端口,及其控制的灵活性。
实现基本的里程计价、价格调整和时钟显示等功能。
AT89S52
按键电路
液晶显示
温度传感器
时钟电路
外部脉冲电路
图2-3
方案总结:
通过各个方案的比较,本次采用方案三,不但控制简单,而且成本低廉,设计电路简单,而且还可以方便对系统进行升级。
2.3原理设计
液晶显示
AT89S52
按键电路
2.3.1系统组成框图
时钟电路
温度传感器
外部脉冲电路
图2-4
2.3.2总体电路图
图2—5
2.3.3PCB电路板设计图
图2-6
2.3.4单元电路设计
1)单片机部分
本文以单片机AT89S52为核心设计一款多功能出租车计价器。
AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
1)AT89S52的主要功能特性如表3-1所示:
.
兼容MCS-51指令系统
8k可反复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)