|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
max7160控制lcd,鲜新大出炉 |
作者:吴明诗 栏目:EDA技术 |
刚作的,大家看看吧,高手给个意见。我是个穷学生,没有钱买好的液晶,翻箱倒柜,找了个坏的,不过能凑和着看。本来我想用29F040存一部小说的(可以存1万6千多个16*16点阵),可是没有钱买编程器。为了给大家,看看效果,我直接把0,1位接地。本来,一般液晶的话,应该每隔八行有两个空行,可是这块液晶,估计y计数器自加的方式和别的不一样吧。大家看完图再说吧 7160的工作顺序是:首先给lcd一个复位信号,关显示,写x地址,写显示数据,如果数据全部写完,开显示。当然在这些过程中,有判断,确定lcd是否忙。 |
2楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/18 13:09:00 发布:
下几张传不上来了 |
3楼: | >>参与讨论 |
作者: yorktang 于 2005/6/18 13:37:00 发布:
不错呀,佩服! 不错呀,好象放在床上照下来的,呵呵。 不过为什么要用它来控制LCD呢,51的MCU不是很便宜吗?如果是学习当然就另当别论哦 不知你是哪的,我是成都的,如果方便的话可以用我们单位的帮你写FLASH |
4楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/18 13:48:00 发布:
我是作玩的,51谁都会。我在宿舍里照的,济南的 |
5楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/18 13:49:00 发布:
有没有人要源程序。作为贴图失败的补偿 |
6楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/18 13:59:00 发布:
把源程序贴上吧,给刚学verlog的新手。谁说verlog和原理图差不多 MODULE lcdcontrol(DB,clk,CS1,CS2,DI,RW,rst,oe,addrout,datempu,E,rst1); input clk,rst,oe; inout [7:0]DB; input [7:0]datempu; OUTPUT [18:0]addrout; OUTPUT CS1,CS2,DI,RW,E,rst1; reg CS1,CS2,DI,RW,E,rw,rst1; reg [3:0]counter; reg [8:0]rcounter; reg [7:0]ioreg; reg [18:0]addr; reg date_rel; reg [7:0]out_reg; reg [4:0]state; reg [4:0]nextstate; parameter start0=5'b01101; parameter start=5'b00101; parameter read=5'b00001; parameter read2=5'b00011; parameter judge=5'b00111; parameter command=5'b10111; parameter out=5'b11111; parameter out1=5'b11110; parameter date=5'b11100; parameter date1=5'b11000; parameter date2=5'b10000; parameter date3=5'b10001; parameter date4=5'b10011; parameter wait1=5'b00000; parameter wait2=5'b10101; parameter com2=5'b01111; always@(posedge clk) begin counter<=counter+1; end always@(posedge counter[3]) begin if(rst) begin addr<=0; DI<=0; RW<=0; E<=0; rw<=1; rst1<=0; rcounter<=0; state<=start0; nextstate<=command; end else if(!rst) begin case(state) start0:begin if(rcounter<=9'd500) begin rcounter<=rcounter+1; rst1<=0; state<=state; end else if(rcounter>9'd500) begin rcounter<=0; state<=start; rst1<=1; end end start: begin E<=0; state<=read; end read: begin E<=1; DI<=0; RW<=1; rw<=1; state<=read2; end read2: begin ioreg<=DB; state<=judge; end judge: begin E<=0; if(ioreg[7]==0) begin state<=nextstate; end else if(ioreg[7]==1) begin state<=read; end end command: begin RW<=0; date_rel<=0; out_reg<=8'b00111110; nextstate<=date; state<=out; end com2: begin RW<=0; out_reg<=8'b00111111; date_rel<=0; state<=out; end out: begin E<=1; rw<=0; if(date_rel!=1) begin DI<=0; end else if(date_rel==1) begin DI<=1; end state<=out1; end out1: begin E<=0; state<=read; end date: begin RW<=0; date_rel<=0; out_reg<={5'b10111,addr[2:0]}; state<=date1; end date1: begin nextstate<=date2; state<=out; end date2: begin RW<=0; out_reg<=datempu; date_rel<=1; state<=date3; end date3: begin addr<=addr+1; state<=out; nextstate<=date4; if(addr[9:3]<=7'd63) begin CS1<=1; CS2<=0; end else begin CS1<=0; CS2<=1; end end date4: begin if(addr[9:0]==0) begin state<=com2; nextstate<=wait1; end else begin state<=date; end end wait1: begin if(!oe) begin state<=state; end else if(oe) begin state<=wait2; end end wait2: begin if(!oe) begin & |
7楼: | >>参与讨论 |
作者: yorktang 于 2005/6/18 14:28:00 发布:
吴明诗,能推荐一本verlog方面的书吗? 能推荐一本Verlog方面的书吗?如果有电子书就更好了,看起来方便!我现在准备学一种HDL,但在选择上还没定下来,不知VHDL与Verlog谁更适合,换句话说不清楚它们的特点? |
8楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/18 14:30:00 发布:
如何给你 |
9楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/18 14:33:00 发布:
建议你上www.edacn.net,有不少你用得到的东西 |
10楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/19 9:32:00 发布:
有些问题说明一下 在复位中,加入CS1<=1;CS2<=0; date进程中,addr[2:0]改为addr[9:7] date3进程中,addr[9:3]改为addr[6:0] 当时没注意到这是个备份的,这样该过后就对了。 command是关显示,com2是开显示,date是x地址,date2是显示数据。wait是等待一下降沿,写入新的显示数据。 dateaddr实地址输出,datempu是数据输入。rst1是液晶复位,oe是wait中等待的信号。 |
11楼: | >>参与讨论 |
作者: hqgboy 于 2005/6/19 23:15:00 发布:
没原理图??? |
12楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/20 10:08:00 发布:
不用原理图,相应的线接起来就行了。 |
13楼: | >>参与讨论 |
作者: mustcan 于 2005/6/20 20:49:00 发布:
给楼主顶一下 顺便说一下,你的毛巾被该洗了,^_^ |
14楼: | >>参与讨论 |
作者: xjg1111 于 2005/6/21 8:19:00 发布:
re CPLD容量有限,可以用FPGA玩玩, 加几个键盘,弄个小游戏进去,岂不更爽! |
15楼: | >>参与讨论 |
作者: hqgboy 于 2005/6/21 17:41:00 发布:
玩键盘、数码管、LCD,CPLD足以。。。不要用MAXPLUS,那是玩具。 |
16楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/23 11:29:00 发布:
mustcan 谢谢,有没有空帮我洗? 考研了时间不是很够呀!不知hqgboy大侠说的是什么意思?"不要用MAXPLUS,那是玩具."指的是什么? |
17楼: | >>参与讨论 |
作者: hqgboy 于 2005/6/24 23:15:00 发布:
如果用ALTERA的芯片,就直接学QUARTUS吧。 在MAXPLUS中编译通过的,再QUARTUS可能不行,QUA设置更强。 |
18楼: | >>参与讨论 |
作者: 吴明诗 于 2005/6/26 17:53:00 发布:
哥哥,我还以为你说的是什么呢。 我一直就用quartus,maxplus综合能力太差了 |
19楼: | >>参与讨论 |
作者: hy_zhangwang 于 2005/10/22 14:15:00 发布:
不错! 现在就开始动手实践,今后竞争力会有优势! |
|
|
Copyright © 1998-2006 lahealthsma.com 浙ICP证030469号 |