VC707 開發板上面有一個LCD1602 的顯示屏,可以參考UG885文檔中LCD部分的描述如下:
關於此款LCD屏幕,可以參考ug230 文檔中的描述。
Block圖中創建MCU的最小系統,這裏FLASH選擇64KB。
添加一個GPIO模塊,設置如下:
設置約束文件
set_property PACKAGE_PIN E19 [get_ports sys_diff_clock_clk_p]
set_property IOSTANDARD LVDS [get_ports sys_diff_clock_clk_p]
set_property PACKAGE_PIN E18 [get_ports sys_diff_clock_clk_n]
set_property IOSTANDARD LVDS [get_ports sys_diff_clock_clk_n]
set_property PACKAGE_PIN AV40 [get_ports reset]
set_property IOSTANDARD LVCMOS18 [get_ports reset]
set_property PACKAGE_PIN AU36 [get_ports rs232_uart_rxd]
set_property IOSTANDARD LVCMOS18 [get_ports rs232_uart_rxd]
set_property PACKAGE_PIN AU33 [get_ports rs232_uart_txd]
set_property IOSTANDARD LVCOM18 [get_ports rs232_uart_txd]
set_property PACKAGE_PIN AT42 [get_ports lcd_7bits_tri_o_6]
set_property IOSTANDARD LVCMOS18 [get_ports lcd_7bits_tri_0_6]
set_property PACKAGE_PIN AR38 [get_ports lcd_7bits_tri_o_5]
set_property IOSTANDARD LVCMOS18 [get_ports lcd_7bits_tri_o_5]
set_property PACKAGE_PIN AR39 [get_ports lcd_7bits_tri_o_4]
set_property IOSTANDARD LVCMOS18 [get_ports lcd_7bits_tri_o_4]
set_property PACKAGE_PIN AN40 [get_ports lcd_7bits_tri_o_3]
set_property IOSTANDARD LVCMOS18 [get_ports lcd_7bits_tri_0_3]
set_property PACKAGE_PIN AR42 [get_ports lcd_7bits_tri_o_2]
set_property IOSTANDARD LVCMOS18 [get_ports lcd_7bits_tri_0_2]
set_property PACKAGE_PIN AN41 [get_ports lcd_7bits_tri_o_1]
set_property IOSTANDARD LVCMOS18 [get_ports lcd_7bits_tri_0_1]
set_property PACKAGE_PIN AT40 [get_ports lcd_7bits_tri_o_0]
set_property IOSTANDARD LVCMOS18 [get_ports lcd_7bits_tri_0_0]
驗證無問題後,選擇Generate Bitstream。
軟件部分, 參考vc707_bist 官方實驗中的LCD部分代碼即可。
備註:注意一下外設地址的宏定義部分
#define XPAR_LCD_GPIO_BASEADDR XPAR_GPIO_0_BASEADDR
//這裏的"XPAR_GPIO_0_BASEADDR"這個名字和Block圖中GPIO模塊的名字有關係
SDK中創建一個helloworld的模板程序,然後調用一下 lcd_simple() 函數,能夠看到屏幕顯示出正確的字符。