|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
$ J& T% Z" I0 [3 r8 f( B
摘要
; @5 W. L% ]8 B+ s6 J! J通过用BASCOM语言实现AVR单片机驱动SED1335进行液晶显示的例子,深入介绍了具有功能强,易于移植等特* c: m, D9 o* j7 |
点的单片机开发专用高级语言BASCOM,包括其软硬件设计过程,突出了BASCOM语言开发单片机的优越性。
0 j( l3 J/ |0 X4 J: z9 }; q: l关键词:BASCOM,AVR单片机,液晶显示,SED1335.- h, N) s( B: ^2 c V& q5 V6 T
( d1 `/ J9 M2 S/ M& H1 k5 m
由美国MCS公司推出的基于AVR系统的软件编程开发5 B D" S4 Y% M* ?* W
仿真平台一-BASCOM- -AVR,具有高级程序设计语言的优点,
Q* D4 Z- f) q2 x接近于人们自然的逻辑思维方式,语句简单易掌握,具有多种结
' H2 M A& [; k: R/ E5 j# g构控制语句,同时具有很强的纠错功能,拥有功能强大的调试器
! R* W- l9 h7 D# Q }5 d3 V和编译器。1 V/ ], m7 ~( o+ S6 W% D- P
比较用C语言和BASCOM语言来实现的AVRmega128
$ p) }# S7 I6 ]单片机串口通讯发出和接收数据,C语言需要首先自行编写三
# p4 L5 U! R# {, h! ?8 f$ x个子程序(uart0_ init( );putchar0( );getchar0( )) ,然后通过程
3 L( e* g) F, J1 n. p/ @序调用,完成相应收发指令。而BASCOM语言专为单片机扩充
3 h, |3 @; a; D9 p- b了各种接口和外部设备的专用语句(比如此处的“print" 和. \1 s: y6 W6 |, X! H. U
“Inkey( )"),大大缩短了编程代码的长度,也减少了在底层出错
* W& a" }9 F+ \ C# D0 `的可能,使得编程效率得到很大的提高。同时对于单片机而言,1 M) U Z4 J2 a* H4 \
由于存储容量的限制,代码的减少也意味着能用更廉价的mcu
5 P: H$ {) x1 h0 T0 o5 H进行更高级的产品开发。以下就通过一完整的应用实例,来具体
9 M* q! X+ ?! k( i说明BASCOM语言在程序设计中的显蓍优势。本例采用Atmel
3 v. m i/ b0 }9 b* K- I公司开发的AVR系列单片机Atmega128作为控制核心,在
4 N$ o1 p# f P# Q5 V) OBASCOM-AVR软件编程开发仿真平台下对基于SED1335液/ C) X4 L% x# Y) j+ h3 N( h
晶显示控制器的液晶显示模块进行控制,完成了底层驱动程序
( f8 b- ?) L; e: p& ~的BASCOM语言开发并实现了液晶界面元素显示。
9 Z$ \+ Y' s% M* F. |: D
5 |3 d+ E7 R0 H. y% [% j# ]1硬件介绍
$ f$ N3 D# A) v- y/ ?1 @AVR ATmega128 为基于AVR RISC 结构的8位低功耗& V$ Z3 T# d/ i
CMOS微处理器。拥有128K字节的系统内可编程Flash、4K字6 A* ?8 p j4 M6 t5 I0 I) j
节的EEPROM,能够很好地满足编程容量的需求。由于其先进) Z* L( d- f, Z2 z( x( d) V
的指令集以及单周期指令执行时间,ATmega128的数据吞吐
( g6 W( k4 l8 @* d% o4 Z. r4 z率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之
# B- v# s4 @& ~. R7 j6 `间的矛盾。% J" O. a8 R/ l3 y6 n- L
SED1335是日本SEIKO EPSON公司出品的液晶显示控9 ]7 Y# P- I9 j8 n ~3 G/ N: Q! [
制器,与同类产品相比功能强大:有较强功能的I/O缓冲器,同
- H, V! |% D3 ?+ D* l时指令功能丰富,并且能够图形和文本方式混合显示。
X/ b: A. V) Z0 R% H7 M( q! V/ g* N0 h4 G
0 @4 }5 g* U Z( t( y7 J2 E* M. @, D# J* v
|
|