TA的每日心情 | 怒 2019-11-20 15:01 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、设计目的和要求" I. u3 x) r& `: a) Y, T
单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞
9 w. v2 ]5 f) j. @7 R机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和+ e( O }1 ^4 X) a# ]4 @% f4 I* R6 W
数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等, 这些都离不开单片机。
, a9 k6 n7 w) Q* D3 s单片机是集 CPU ,RAM ,ROM定 , 时,计数和多种接口于一体的微控制器。 它体积小,成本低,
, i/ a: r& O+ d' L* U9 O5 |8 Y4 f功能强,广泛应用于智能产业和工业自动化上。而51 系列单片机是各单片机中最为典型
$ |7 v. E* t! e和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发1 `) P& _# T; y
软、硬的能力。通过对一个基于单片机的能实现电子日历功能电子时钟的设计,从而达
( v) z7 d* L1 T# Z) m到学习、了解单片机相关指令在各方面的应用。系统由主控制器AT89C51、时钟电路DS1302、- A7 I( b* p) O: { b( r+ ]
显示电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显9 a$ `; b* P! s6 O1 e
示。
4 }& i. g d. p( [( W; x" ^系统设计要求:电子日历能显示,能调整。基于51 系列的单片机进行的电子万年历设8 I6 T" _- p5 U
计可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机; h: u, a. n* X6 o
的理论基础和外围扩展知识进行了比较全面准备。具体实现功能:显示年月日时分秒及星
2 P+ ^) O: d; Y6 s9 Z% v期信息,具有可调整日期和时间功能,与即时时间同步。2 R2 p N6 n S! @8 k4 \
主要使用到的工具和器件:" P8 x; J+ F, R2 P ~* ], B
Keilc51
. G' O9 o9 |4 }8 NProtues
3 I7 w8 z( a+ X9 [" T5 K: x5 ?DS1302
' H7 @, E& [0 |( C* TAT89S52
! p6 ?9 E* _8 [% d$ ILCD12864
9 E% M% T b5 x) a% t% V8 y0 l基于单片机的电子日历设计
. x4 h- l' k/ F; f4 X2; M; S' c. c8 z* p: e C8 d
二、方案设计3 w. f3 M9 q. P, U2 A8 M/ ]& n
每一系统都有几个核心的模块。它对整个系统的性能有非常大的影响。比如
4 r+ A7 S; v! k; [- n系统的主控。
( b1 _% d3 G" x2.1 主控芯片选择方案论证) Z% C9 `( g6 ~! M6 ?! p. v4 k
方案一:选择51 系列的单片机; AT89S52 是一种低功耗、高性能CMOS8位微控制器,
* ?6 {9 Z- v+ _, v( S具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,
0 k3 h" k* [9 C1 m3 ^2 e% g' B与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适$ |: i/ n3 N1 i3 e. R; e) `
于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52$ ?) w& k- X5 \( ? Y8 |5 }
为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:
; W- n* ~4 j) [7 l8k 字节Flash,256 字节RAM, 32 位I/O 口线,看门狗定时器, 2 个数据指针,三个16 位
`1 S2 T1 p2 m/ b, k" W! C定时器/ 计数器,一个6 向量2 级中断结构,全双工串行口, 片内晶振及时钟电路。另外,& k: k! s8 x8 n& |0 [
AT89S52 可降至0Hz 静态逻辑操作, 支持2 种软件可选择节电模式。空闲模式下, CPU 停9 e9 c2 l1 }4 P# i
止工作,允许RAM、定时器/ 计数器、串口、中断继续工作。掉电保护方式下, RAM内容* i3 p* }$ r+ x+ r1 V) J
被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。" M) h c% }' @- I
方案二:选择msp430 系列单片机; MSP430 系列单片机是一个16 位的单片机,采用( x- w$ ^; `0 j( `; b; p# b
了精简指令集( RISC)结构,具有丰富的寻址方式( 7 种源操作数寻址、4 种目的操作数
2 ^ K6 }& o. S寻址)、简洁的27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器- j" A7 I9 K9 I
都可参加多种运算; 还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。
' N3 [9 @8 B0 v1 lMSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗( WDT)、模6 b# s X: j. D6 m8 M( B
拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、
, O$ A, L1 a& L& b F+ dSPI、I2C、硬件乘法器、液晶驱动器、10 位/12 位ADC、16 位Σ-Δ ADC、DMA、I/O 端口、- G: \" h* m- d8 v4 | @. K
基本定时器( Basic Timer)、实时时钟( RTC)和USB控制器等若干外围模块的不同组合。
2 A" x L2 ?+ q# s& V其中,看门狗可以使程序失控时迅速复位; 模拟比较器进行模拟电压的比较, 配合定时器,
) Z( f/ w) @& E9 [9 c- }可设计出A/D 转换器; 16 位定时器( Timer_A 和Timer_B)具有捕获/ 比较功能,大量的/ f/ H: i% X* d% ^% \8 H7 _
捕获/比较寄存器,可用于事件计数、时序发生、PWM 等;有的器件更具有可实现异步、
* g A6 S/ K M同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的I/O 端口, P0、
( p( C: E6 y2 b* xP1、P2 端口能够接收外部上升沿或下降沿的中断输入; 10/12 位硬件A/D 转换器有较高
3 w) j+ m) Y: p! I1 ^的转换速率,最高可达200kbps ,能够满足大多数数据采集应用; 能直接驱动液晶多达160
h% w% ~ L( r, U8 `% r: g段;实现两路的12 位D/A 转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了
: g' y! V8 }8 f, t基于单片机的电子日历设计3 V8 Z3 l6 r3 R7 S1 W' V; t: |
3
3 ] X( ?! }$ A6 k! f I1 _# o增加数据传输速度, 而采用的DMA 模块。MSP430 系列单片机的这些片内外设为系统的单
& \! Y# \. V# P8 k片解决方案提供了极大的方便。
; `) F8 m. k6 b" o, o% t9 `9 B" h x方案对比:
2 g) s! y- T2 a- M0 `6 S9 l运算周期:时钟显示最小单位为秒, 51 和msp430 的运算周期都在1 秒之内,这
# c8 U% m- K0 T7 f' a# f一点都满足要求。" E6 e% n6 Y: k* m" x. L% b c1 ?
IO 口是否满足系统设计要求: 51 有32 个IO 口, msp430 的IO 口则更多。这一点0 Q% Q7 ?" h0 s+ F2 r: P( c9 t
都满足要求。
3 @5 S9 |1 P/ ~& ^, S是否需要外加时钟芯片: 采用定时器, 误差较大。Msp430 内部就有时钟RTC单元,
6 }( F2 n6 @, ^. p/ V7 h5 P% @# V51 单片机需要外加。5 {: d& d1 T) {" ?) ~8 e9 S: N
选择51 单片机作为系统的主控;
2 u2 M; V7 S. }; f6 {$ o2.2 显示模块方案选择
$ [6 C- X6 z7 J1 T: ?方案一:用数码管显示:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字
! k f/ z' R$ T5 y2 }# j5 l合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,并且人站在远处夜能观
* [5 Y. \! ?+ @- k看到时间。
) A" x& Z. Y4 M7 ]) \) D* W方案二:用LCD显示:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文, w+ s% ?( ^* |. O+ ?1 l4 Q& A
字,图形,显示多样,清晰可见,并且使用串行接口占用IO 数比使用数码管少,但是人站在远
1 L, x6 s, n9 g! V, ?: c处观看很难看清时间,且成本较高。9 E2 K# f' U, S+ H; ^
方案对比:由于这次是实验式课程设计,采用LCD显示,接线简单且编程简单。# y9 X5 O7 o) E0 }) [
2.3 时钟模块选择6 i% R+ E e+ n1 c. l6 S3 S
方案一:用专用时钟模块DS1302:DS1302 是美国DALLAS公司推出的一种高性能、低! K8 k3 C5 e2 o0 f+ P! S# w6 f
功耗、带RAM 的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有3 A0 S& Q! z$ c* p
闰年补偿功能,工作电压为2.0V~5.5V。采用三线接口与CPU进行同步通信,并可采用突" l, `7 T7 h* h+ r3 v
发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8 的用于临时
3 t+ J' Q4 I3 K9 q3 D2 _性存放数据的RAM 寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主
; j% P8 S7 {: j3 b% }电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。6 @. m+ _6 L8 Z, o k4 m
使用DS1302,接线简单,编程简单,并且断电时,可使用电池保持DS1302继续工作,
, m( r. I2 x0 G0 N Z/ a确保时间正确。; M5 U9 g# a+ O
方案二:用主控芯片的定时器:用定时器最为时钟源,误差大,编程复杂。. _0 m* O3 L2 D- c$ L5 d2 H
综上所述:采用51 单片机, LCD显示和时钟模块DS1302。
& l. Y7 C# M5 D+ b, Y& Y. N: Q. ~
4 C$ B, O W# S2 t& \ |
|