买了一块FPGA套件,数码管、按键、LED灯、拨码开关很容易就学会了。赶快升级,从LCD开始。
随板程序写得一个乱。还是自己写吧。
去年冬天买了一块AVR单片机套件,随板的1602程序写得很好。实物验证,没有问题。接上FPGA套件的1602,也没有问题。
看了看1602的读写时序,比较复杂。算了,用verilog实现经过验证的单片机程序吧。
写完程序,分析综合。出现了2个问题,一个是迭代次数超过250,一个是两个always语句操作同一个变量。不难,很快解决之。感谢老婆大人,第二个问题是在她的帮助下上网搜索,才把故障定位了。
改完的程序很快就走到烧写这一步了。好梦由来容易醒,屏很亮,什么也没有。
时序不对?看来偷懒不得。看了随板LCD资料,和以前的1602长沙太阳人资料,时序参数的要求相差较大。上网搜了微雪电子的1602资料,重新设计时序。
50MHz 8分频,0周期RS、RW赋值,1周期(160ns)拉高E,4周期后拉低E,8周期状态转换。这样实现了检忙读数。
0周期写数&RS、RW赋值,1周期(160ns)拉高E,4周期后拉低E,8周期状态转换。这样实现设置及写地址码和字符码。
烧写,屏很亮,什么也没有。
又上网找了几个例子,根本不检忙。一个可能的解释就是,充分延时就不用检忙。这样的话,连双向端口都省了。为了这双向端口,还颇费了一点工夫。
50MHz 20位分频,前6个周期空转,然后依次设置写数。38H、06H、0CH、01H、地址码81H、右箭头7EH。
烧写,还是老样子。那8个字我都不忍再说了。
迷雾重重!
用户1532875 2010-4-27 10:59
用户1623314 2010-4-24 21:37
用户1623314 2010-4-24 21:36