-
module testPIN(
input CLK,
input reset,
output [73:0]OUTtoPIN
);
reg [24:0]counter = 0;
reg [73:0]clkout = 0;
always@(posedge CLK or negedge reset)
begin
if(!reset)
begin
counter
-
1,可以焊的,童鞋。我焊过这种东西,我做这么长的焊盘就是准备没有座子时焊的。
2,写个测试程序,一个个IO口用LED测一下,主要是转接板上的,没有问题就不管他了。
-
1,唉,可以焊上去的,我能焊。。。2,要将未用脚配置为”输入状态”
-
用某个时钟做读写信号,读一个数据写一个数据,
-
文档里有啊RAR里的图片是我截的,认为是主要的部分里面的.V文件是以前写的一个12864的扫描部分,时序是差不多的
-
换10ns也不用,320*240的总点数只有800*480的1/5,所以时钟是1/5左右也正常,用6.4M刷新率也可以达到60HZ了
SED1335控制640*200的单色屏RAM还用120ns的呢
[ 本帖最后由 FLT9006 于 2010-10-8 07:27 编辑 ]
-
控制器需要的功能:
1,并行时序,最好是8080,分配8位的地址和8位的数据
2,点写入,速度越快越好,最好是两个数据确定一个点
3,字节写入,地址最好能自加
4,写入地址控制
5,层参数设定
下面是我之前设计的命令表
LCD的X地址是9位(0~319),Y地址是8位(0~239),以左上角为原点(0,0)
[ 本帖最后由 FLT9006 于 2010-10-7 17:34 编辑 ]
-
你发的材料我看了一下,其框架和我设想的差不多.关于速度的问题,我之前设想了一下:LCD屏的最大并行写入速度是6.4M.RAM的最大速度是14M左右(70ns).按我原来的设想,对LCD分三个层,则写入时钟速度是6.4M/3,刷一屏要408*262时钟,实际刷新率20Hz,可以达到要求.所以对于RAM的操作我设计是这样:RAM的时钟是12.8M,其中,一半的时间用于存,即是将经过控制器的数据存到RAM;一半的用于取,即是用RAM的数据对LCD刷新.因此存和取的速率都是6.4Mbyte/s.LCD设计是分三个层的,并且可以能过控制器设定每层的显和隐,以及层与层之间的与\或\异或等关系.因此实际是从RAM中取三个数据(对应LCD上三个层的相同座标点的三个数据),经过运算后得到一个数据,送到LCD中.
附件是我之前写的代码,对RAM读出的数据进行处理后送到LCD上的部分层参数(LAY_prm[7:0])第6/5/4位的0/1分别控制0/1/2层的隐/显,第2位的0/1控制0/1层之间的或/与关系,第1/0位00/01/10/11是0/1层的运算结果与2层的关系(或/与/异或/同或),简式:Y=(0[A]1)[B]2 [A][B]为逻辑关系,A由第2位控制,B由1/0位控制
-
十一快乐~~!!
-
怎么都给翻出来了
-
这个东西我玩过,里面有八个干簧管(方向和速度),一片DS1820(温度),之前有位师兄的毕设就是用这个壳再仿制一个.
-
看起来不错,可是为什么没有元件标识的丝印??这样会比较难用
看样子应该是EP2C5/EP2C8Q208的板子吧,挺漂亮的。
不过偷笑一下,因为感觉整体没我现在用的好,呵呵
-
电信的问题,断网了几天,未来可能还要断几天,我没有错过什么吧:congratulate:
-
三位半的表也就这个价了,之前我们买DT830B做奖品,才8块左右一块话说我在二手市场淘到一个胜利的DT930F+,老版本,带“+”的,也就30元,四位半的表,连皮套都有,保护的很好
-
原帖由 r051463438 于 2010-9-21 09:31 发表 请问如何做到让波形在彩屏上显示而不闪烁呢?我是记录下上一次的显示坐标,然后在下一次要画波形的时候先把上一次的波形清掉,再画这一次的波形,可波形还是闪烁,我想知道论坛里的示波器显示波形不闪烁是怎样处 ...
一个方法是清一列画一列,一般的数字示波器,在低扫速下就可以明显看到这个现像
另一个是LCD分两层,在后台另先画好要显示的波形,消隐当前层再显示已画好的层
当然,都是建立在正确触发的基础上
-
学习了...
三角缓冲器你可以理解有电压很随器或是电流放大器,用在数字电路中就是电平跟随器
-
看一下
-
也看一看
-
我都不用开发板的,都是自己做最小系统
-
void menu(void) //主菜单/主程序循环{ uint8 tmp,key_tmp; //临时变量 while(1) //菜单内死循环 { /*******以下部份是菜单获得输出参数*******/ LCD_clr(); LCD_setadd(0,0);LCD_printSTR(PSTR("Pres 2DACa 3DACb")); //提示选择波形 LCD_setadd(1,0);LCD_printSTR(PSTR("4RLY 5PWMa 6PWMb")); key_tmp = KEY_wait(); if(key_tmp == _K2_) //DAC通道1 { LCD_clr(); LCD_setadd(0,0);LCD_printSTR(PSTR("DACa Range:0~255")); //提示输入值 DAC_PRAM[0] = KEY_int(255,127) ; //获得值(0~255) } else if(key_tmp == _K3_) //DAC通道2 { LCD_clr(); LCD_setadd(0,0);LCD_printSTR(PSTR("DACb Range:0~255")); //提示输入值 DAC_PRAM[1] = KEY_int(255,127) ; //获得值(0~255) } else if(key_tmp == _K4_) //继电器 { //RELAY LCD_clr(); LCD_setadd(0,0);LCD_printSTR(PSTR("RELAY:*****")); //提示输入值 LCD_setadd(1,0);LCD_printSTR(PSTR("input:(" />" />" />" /> 0/1)")); //提示输入值 for(tmp=0;tmp<5;tmp++) { RLY_PRAM[tmp] = 0; //默认为0 do { key_tmp = KEY_wait(); }while((key_tmp!=_K0_)&&(key_tmp!=_K1_) \ &&(key_tmp!=_Kent_)&&(key_tmp!=_Kbck_)); if(key_tmp==_K1_) //1 { RLY_PRAM[tmp] = 1; LCD_setadd(0,6+tmp);LCD_printSTR(PSTR("1")); } else if(key_tmp==_K0_)//0 { LCD_setadd(0,6+tmp);LCD_printSTR(PSTR("0")); } else break; } } else if(key_tmp == _K5_) //PWM通道1 { LCD_clr(); LCD_setadd(0,0);LCD_printSTR(PSTR("PWMa Range:0~255")); //提示输入值 PWM_PRAM[0] = KEY_int(255,127) ; //获得值(0~255) } else if(key_tmp == _K6_) //PWM通道2 { LCD_clr(); LCD_setadd(0,0);LCD_printSTR(PSTR("PWMB Range:0~255")); //提示输入值 PWM_PRAM[1] = KEY_int(255,127) ; //获得值(0~255) } /*******以下为工作状态的屏幕信息********/ LCD_clr(); LCD_setadd(0,0); LCD_printSTR(PSTR("DACa")); LCD_printI(DAC_PRAM[0]); LCD_printSTR(PSTR(" DACb")); LCD_printI(DAC_PRAM[1]); LCD_setadd(1,0);LCD_printSTR(PSTR("R")); //Sign RLY for(tmp=0;tmp<5;tmp++) { if(RLY_PRAM[tmp]) LCD_printSTR(PSTR("1")); else LCD_printSTR(PSTR("0")); } LCD_printSTR(PSTR("Pa")); LCD_printI(PWM_PRAM[0]); LCD_printSTR(PSTR("Pb")); LCD_printI(PWM_PRAM[1]); /*******开始工作********/ RLY_set(); OCR1A = PWM_PRAM[0]; OCR1B = PWM_PRAM[1]; TLV5638_out(DAC_PRAM[0],DAC_PRAM[1]); key_tmp = KEY_wait(); //等待任意键继续 }}/************主函数************/int main(void){ uint8 tmp; spiInit(2,1); //极性1,相位0,时钟8分频 DDRB |= 0x5f; //继电器和片选为输出 PORTB = 0x10; //片选关,继电器关 DDRD |= 0X30; //PD4,PD5(PWMa/b) output OCR1A = PWM_PRAM[0]; OCR1B = PWM_PRAM[1]; TCCR1A = 0XA1; //8位快速PWM(CLK/256), TCCR1B = 0X09; //不分频 ,设占比(0X0A为空比) TLV5638_refset(1); //片内1.024V基准 TLV5638_out(DAC_PRAM[0],DAC_PRAM[1]); //初值为满幅50% RLY_set(); //初值为全关 LCD_init(); //LCD初始化 //enter to menu menu(); return 0;}
/*********************文件结束**************************/
这是顶层文件,完整工程我就先不发了,到最后完成整理时再发)