原创 用C8051F330控制LCD显示(三)

2008-3-27 19:40 2784 9 10 分类: MCU/ 嵌入式

              ORG              0000H


              AJMP            MAIN


;//====================================================================        ORG              0040H


MAIN:


             


              MOV   SP,#60H


              CALL      PortInit


Display_Init:


        CLR        RES


        LCALL   Delay500


        SETB     RES


             


        MOV   A,#0AEH             ;//display off 


           LCALL   WrCmd


             


        MOV      A,#<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0A2H


        LCALL    WrCmd               ;//icon disenable


        


        MOV      A,#048H


        LCALL   WrCmd             ;//


         


        MOV      A,#40H     


        LCALL   WrCmd             ;//set mux radtio as 128


         


        MOV      A,#2FH


        LCALL   WrCmd     ;//use all internale power manager


        


        MOV      A,#65H      


        LCALL   WrCmd             ;//set DC-DC times as 5


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


        MOV      A,#0C8H         ;//shl=1


        LCALL   WrCmd


 


        MOV      A,#0A0H         ;//adc=0


        LCALL   WrCmd


 


        MOV   A,#44H


        LCALL   WrCmd                 ;//


 


        MOV   A,#08H


        LCALL   WrCmd             ;//set initial com0


 


        MOV      A,#25H            ;//set 1+ra/rb=10.8


        LCALL   WrCmd


 


        MOV      A,#81H                 ;//


        LCALL    WrCmd


 


        MOV      A,#09H


        LCALL   WrCmd               ;//set v0=13.56V


 


        MOV   A,#055h             ;//bias=1/9


             LCALL   WrCmd            


                


        MOV      A,#0ABH


        LCALL    WrCmd              ;//osillate start


 


        MOV      A,#92H


        LCALL   WrCmd             ;// set frc="1"  4-frame(por),pwm=11 15-levels


 


        MOV      a,#88h


        LCALL   WrCmd


 


        MOV      a,#0


        lcall        WrCmd


 


        MOV      a,#89h


        lcall        WrCmd


 


        MOV      a,#0


        lcall        WrCmd


                               ;//white


        MOV      a,#8ah


        lcall        WrCmd


        MOV      a,#0f0h


        lcall        WrCmd


        MOV      a,#8bh


        lcall         WrCmd


        MOV      a,#00h


        lcall        WrCmd


                               ;//light gray


        MOV      a,#8ch


        lcall        WrCmd


        MOV      a,#0ffh


        lcall        WrCmd


        MOV      a,#8dh


        lcall        WrCmd


        MOV      a,#00h


        lcall        WrCmd


                               ;//dark gray


        MOV      a,#8eh


        lcall        WrCmd


        MOV      a,#0ffh


        lcall        WrCmd


        MOV      a,#8fh


        lcall        WrCmd


        MOV      a,#0ffh


        lcall        WrCmd


                                 ;//black


        MOV      a,#0f1h


        lcall        WrCmd


        MOV      a,#0ah


        lcall        WrCmd            ;//set t="-0".125%


 


         


        MOV      a,#0A6H


        LCALL   WrCmd           ;//normal display


 


        MOV      A,#0AFH


             LCALL   WrCmd              ;//display on


 


              


BDISALL:       


        MOV      data1,#0FFh


        MOV      data2,#0FFh


        lcall        bwrite


        lcall        delay1s


 


        MOV      data1,#0h


        MOV      data2,#0h


        lcall        bwrite


        lcall        delay1s


 


        LCALL   GRAY3


        lcall        delay1s


         


        MOV      data1,#55h


        MOV      data2,#55h


        lcall        bwrite


        lcall        delay1s


 


        MOV      data1,#0ffh


        MOV      data2,#0h


        LCALL   bwrite


        LCALL   delay1s


 


        MOV      data1,#55h


        MOV      data2,#0aah


        LCALL   bwrite


        LCALL   delay1s


 


        MOV      data1,#0aah


        MOV      data2,#55h


        LCALL   bwrite


        LCALL   delay1s


 


        LCALL   dispbord


        LCALL   delay1s


 


        LCALL   BCLRRAM


 


        LCALL   DISPHZ8


        LCALL   DELAY1S


 


        LJMP     BDISALL

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

walnutcy_696810119 2009-8-14 18:26

就是你理解的那样。 这里只是说了怎么改这个地址

用户190967 2009-8-14 17:04

你好,请问一下,你这样设置有什么意义吗? 它的中断向量其实还是在0x8000那个地方的啊,比如产生TLI中断,它还是跳到0x8004地址,但是这时你的0x8004地址上什么也没有. 我的理解是应该还是把这张表放在0x8000处,就是vector addr里的设置不能动.而是要把这张表上的每个中断的跳转地址指向你在应用程序区建的另一张表上去.

用户162726 2009-2-23 00:38

www.c8051.com 此域名出售 低价出售 (易名域名 1分钟过户 ) 请联系 QQ 895566580 email: c51com@qq.com
相关推荐阅读
用户51198 2009-09-24 16:59
msp430 C实现数码管驱动
#include<msp430x14x.h>unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90...
用户51198 2009-09-24 16:49
MSP430开发板
CPU:MSP430F149,带:ADC,温度,IR,CAN,485,232,USB,29c020,独立按键,矩阵按键8位数码管,8个LED,LCD1602,12864IIC,DS1302,直流电机,...
用户51198 2009-02-22 19:05
led 电源
前一段做了个LED电源,12V,350MA,输入AC85-265,恒流,是一个哥们让我做的,这几天测试了一下,带负载还可以,但EMC,EMI等就没法测试了,各位有知道怎样测试的吗?,烦请告诉我一声,谢...
用户51198 2009-02-22 18:52
用C实现BCD转HEX
unchar BcdToHex(unsigned int Bcd_Data){ unchar Hex_Data; Hex_Data=(Bcd_Data>>8)*100|(Bcd_Data&...
用户51198 2009-02-22 18:47
用C 实现hex 转换为bcd
void ThreeByHexToBcd(unsigned long int Hexs,unchar j){ unsigned long int Temp; unchar   Disp_Buffer[...
用户51198 2009-01-11 16:50
新作的地感控制器
新作的地感控制器,开始卖了...
EE直播间
更多
我要评论
1
9
关闭 站长推荐上一条 /3 下一条