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

2008-3-26 20:48 2505 8 12 分类: MCU/ 嵌入式

$include (c<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />8051f330.inc)


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

 


 


ERD              BIT  P1.0                             ;//E/#RD=0,READ STATE


RW         BIT  P1.1                                    ;//R/#W=0,WRITE DATA     


DC         BIT  P1.2                                           ;//D/#C,DATAORCOMMANDSELECT,=1,DATA,=0,COMMAND


 


RES        BIT  P1.3        `                                  ;//#RESET,=0,RESET


CS          BIT  P1.4                                           ;//#CS,CHIP SELECT INPUT,=0,CHIP SELECT


写数据:


WrData:


              MOV             P0,A


              SETB      DC


              CLR        RW


              CLR        CS


              SETB      ERD


              NOP


              NOP


              CLR        ERD


              SETB      CS


              RET


写命令:


WrCmd:


              MOV             P0,A


              CLR        DC                                            ;//CONTROL


              CLR        RW                                            ;//WRITE


              CLR        CS


              SETB      ERD             


              NOP


              NOP


              CLR        ERD


              SETB      CS


              RET


;//=========================================================


DELAY:    MOV   TIME0,#10   


DELAY2: 


                            MOV             PCA0MD,#00H             ;//WDT


         DJNZ  TIME0,DELAY2 


         DJNZ  TIME1,DELAY


         RET


        


;//====================================================================


 


 


DELAY500:


         MOV   TIME1,#250


         LCALL DELAY


         MOV   TIME1,#250


         LCALL DELAY


         RET


;//====================================================================


DELAY1S:


        MOV   TIME1,#100   


         LCALL DELAY


         MOV   TIME1,#100


         LCALL DELAY


         MOV   TIME1,#100


         LCALL DELAY


         MOV   TIME1,#100


         LCALL DELAY


         RET


;//====================================================================


PortInit:


              MOV             XBR1,#40H                                ;//CROSS SW ENABLE


              MOV             P0MDOUT,#0ffH                        ;//


              MOV             P1MDOUT,#0ffH                        ;//


              ret

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户123472 2008-4-3 19:16

请问一个,PLC和C语言编程,有什么区别

用户741296 2008-4-3 11:16

汇编啊! 要是C就更好了!

用户456215 2008-4-1 20:49

呵呵,330d 早玩过了 佩服楼主呀,还在整汇编,呵呵,佩服,牛人呀

用户133256 2008-3-27 21:30

请问楼主,我打算用LCD循环显示数字8,应该怎么编程,具体的电路是89C52接8255,从A口接74LS245缓冲接LCD,键盘接B口,按下一个键后(自定义)LCD循环显示(从低到高)8,另一个键做一个时钟,不知楼主肯牺牲几分钟编一个程序,大概就行,跪求啊》不然我就会被抛弃啦。有电路图更好
相关推荐阅读
用户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直播间
更多
我要评论
4
8
关闭 站长推荐上一条 /3 下一条