1、数字系统设计与数字系统设计与Verilog HDLVerilog HDL 第第9章章 Verilog驱动常用驱动常用I/O外设外设9.1 44矩阵键盘矩阵键盘9.2 标准标准PS/2键盘键盘9.3 字符液晶字符液晶9.4 汉字图形点阵液晶汉字图形点阵液晶9.5 VGA显示器显示器9.6 乐曲演奏电路乐曲演奏电路9.1 44矩阵键盘矩阵键盘44矩阵键盘电路矩阵键盘电路9.2 标准标准PS/2键盘键盘PS/2键盘接口时序。键盘接口时序。(a)数据发送时序()数据发送时序(b)数据接收时序)数据接收时序PS/2键盘中键盘中09十个数字键和十个数字键和26个英文字母键对应的通码、断码个英文字母键对应的
2、通码、断码键键通通 码码断断 码码键键通通 码码断断 码码A1CF0 1CS1BF0 1BB32F0 32T2CF0 2CC21F0 21U3CF0 3CD23F0 23V2AF0 2AE24F0 24W1DF0 1DF2BF0 2BX22F0 22G34F0 34Y35F0 35H33F0 33Z1AF0 1AI43F0 43045F0 45J3BF0 3B116F0 16K42F0 4221EF0 1EL4BF0 4B326F0 26M3AF0 3A425F0 25N31F0 3152EF0 2EO44F0 44636F0 36P4DF0 4D73DF0 3DQ15F0 1583EF0 3
3、ER2DF0 2D946F0 46LCD1602B数据读写时序数据读写时序 9.3 字字 符符 液液 晶晶(1)奇数分频)奇数分频基于基于DE2-115平台用平台用FPGA控制字符液晶实现字符的显示。字符液晶由液控制字符液晶实现字符的显示。字符液晶由液晶显示器和专用的行、列驱动器、控制器及必要的连接件装配而成,可显晶显示器和专用的行、列驱动器、控制器及必要的连接件装配而成,可显示数字和英文字符。字符液晶本身具有字符发生器,显示容量大,功能丰示数字和英文字符。字符液晶本身具有字符发生器,显示容量大,功能丰富,一般最少可显示富,一般最少可显示1行行8个或个或l行行16个字符,每个字符由个字符,每个
4、字符由57、58或或511的一组像素点阵排列构成。的一组像素点阵排列构成。8-4 用状态机实现字符液晶显示控制用状态机实现字符液晶显示控制基于基于DE2-115平台用平台用FPGA控制字符液晶实现字符的显示。字控制字符液晶实现字符的显示。字符液晶由液晶显示器和专用的行、列驱动器、控制器及必要符液晶由液晶显示器和专用的行、列驱动器、控制器及必要的连接件装配而成,可显示数字和英文字符。字符液晶本身的连接件装配而成,可显示数字和英文字符。字符液晶本身具有字符发生器,显示容量大,功能丰富,一般最少可显示具有字符发生器,显示容量大,功能丰富,一般最少可显示1行行8个或个或l行行16个字符,每个字符由个字
5、符,每个字符由57、58或或511的一组的一组像素点阵排列构成,字符间有一定的间隔,行与行间也有一像素点阵排列构成,字符间有一定的间隔,行与行间也有一定的间隔。定的间隔。实验要求:采用状态机控制字符液晶实现字符的显示实验要求:采用状态机控制字符液晶实现字符的显示LCD1602B的初始化指令的初始化指令初始化过程初始化过程初始化指令初始化指令功功 能能18 h38设置显示模式:162显示,57点阵,8位数据接口28 h01清屏,将以前的显示内容清除38 h06光标设置:光标右移,字符不移48 h0c开显示,光标不显示(如要显示光标可改为8 h0e)行地址1行:h802行:hc0第1行地址第2行地
6、址LCD1602B字符数字显示效果字符数字显示效果9.4 汉字图形点阵液晶汉字图形点阵液晶图形点阵液晶显示模块广泛应用于智能仪器仪表、工业控图形点阵液晶显示模块广泛应用于智能仪器仪表、工业控制领域、通信和家用电器中。本节用制领域、通信和家用电器中。本节用FPGA控制控制LCD12864B汉字图形点阵液晶实现字符和图形的显示。汉字图形点阵液晶实现字符和图形的显示。LCD12864B可显示汉字及图形,内置可显示汉字及图形,内置8192个中文汉字个中文汉字(1616点阵)、点阵)、128个字符(个字符(816点阵)及点阵)及64256点点阵显示阵显示RAM(GDRAM)。)。LCD12864B的初始
7、化指令的初始化指令初始化过程初始化过程字符显示字符显示图形显示图形显示18 h388 h3028 h0C8 h3E38 h018 h3648 h068 h01行地址/XY1:h80 2:h903:h88 4:h98Y:h80 h9FX:h80/h88汉字图形点阵液晶显示效果汉字图形点阵液晶显示效果 9.5 VGA显示器显示器 VGA显示器采用光栅扫描方式,即轰击荧光屏的电子束在显示器采用光栅扫描方式,即轰击荧光屏的电子束在CRT显示器上从左到右、从上到下做有规律的移动,其水平移动显示器上从左到右、从上到下做有规律的移动,其水平移动受水平同步信号受水平同步信号HSYNC控制,垂直移动受垂直同步信
8、号控制,垂直移动受垂直同步信号VSYNC控制。扫描方式一般分为逐行扫描和隔行扫描,这里采用逐行扫控制。扫描方式一般分为逐行扫描和隔行扫描,这里采用逐行扫描。完成一行扫描的时间称为水平扫描时间,其倒数称为行频率,描。完成一行扫描的时间称为水平扫描时间,其倒数称为行频率,完成一帧(整屏)扫描的时间称为垂直扫描时间,其倒数称为场完成一帧(整屏)扫描的时间称为垂直扫描时间,其倒数称为场频,又称刷新率。频,又称刷新率。VGA工业标准要求的时钟频率如下:工业标准要求的时钟频率如下:时钟频率(时钟频率(Clock frequency)25.175MHz(像素输出的频率)(像素输出的频率)行频(行频(Line
9、 frequency)31469Hz场频(场频(Field frequency)59.94HzVGA行扫描时序行扫描时序VGA场扫描时序场扫描时序标准标准VGA显示模式行、场扫描的时序显示模式行、场扫描的时序行扫描时序要求(单位:像素,输出一个行扫描时序要求(单位:像素,输出一个Pixel的时间间隔)的时间间隔)场扫描时序要求(单位:行,输出一行场扫描时序要求(单位:行,输出一行Line的时间间隔)的时间间隔)行同步头 行图像 行周期对应位置H_TfH_TaH_TbH_TcH_TdH_TeH_Tg时间/Pixels8964086408800 场同步头 场图像 场周期对应位置V_TfV_TaV_
10、TbV_TcV_TdV_TeV_Tg时间/Lines222584808525VGA图像显示控制器设计图像显示控制器设计VGA图像显示控制器结构框图图像显示控制器结构框图 本例本例显示模式采用显示模式采用SVGA显示模式(显示模式(80060072 Hz),),图像为图像为LENA图像(图像大小设为图像(图像大小设为256256像素),像素),Verilog源程序见例源程序见例9.8,程序中输入时钟,程序中输入时钟clk采用采用50 MHz作作为为VGA像素时钟,像素时钟,LENA图像数据存储在图像数据存储在ROM模块中,其模块中,其地址宽度为地址宽度为17位,数据宽度为位,数据宽度为16位。程
11、序中含图像位置移位。程序中含图像位置移动控制部分,可控制图像在屏幕范围内成动控制部分,可控制图像在屏幕范围内成45角移动,撞角移动,撞到边缘后变向,类似于屏保的显示效果。到边缘后变向,类似于屏保的显示效果。R,G,B三基色信号分别采用三基色信号分别采用5 bit,6 bit,5 bit表示的表示的LENA图像图像 9.6 乐曲演奏电路乐曲演奏电路采用采用FPGA器件驱动小扬声器构成一个乐曲演奏电路,演器件驱动小扬声器构成一个乐曲演奏电路,演奏的乐曲选择奏的乐曲选择“梁祝梁祝”片段,其曲谱如下。片段,其曲谱如下。乐曲演奏的原理乐曲演奏的原理组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)
12、组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号的频率的高低和持续的时间,就可以使扬声扬声器的激励信号的频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。器发出连续的乐曲声。乐曲演奏电路原理框图乐曲演奏电路原理框图 9.1 设计实现一个功能类似设计实现一个功能类似74LS160的电路。的电路。9.2 设计一个可预置的设计一个可预置的16进制计数器,并仿真。进制计数器,并仿真。9.3 设计一个设计一个1101序列检测器。序列检测器。9.4 用用Verilog编
13、写一个用编写一个用7段数码管交替显示段数码管交替显示26个英文字母的个英文字母的程序,自己定义字符的形状。程序,自己定义字符的形状。9.5 设计一个乐曲演奏电路,实现乐曲设计一个乐曲演奏电路,实现乐曲“铃儿响叮当铃儿响叮当”的循环演的循环演奏,可将音符数据存于奏,可将音符数据存于ROM模块中。模块中。9.6 设计实现一个点唱机,在同一个设计实现一个点唱机,在同一个ROM模块中装上多首歌模块中装上多首歌曲,可手动或自动选择歌曲并播放。曲,可手动或自动选择歌曲并播放。9.7 设计实现一个简易电子琴,敲击不同的按键可发出相应的设计实现一个简易电子琴,敲击不同的按键可发出相应的音调,同时将音符显示在数
14、码管上。音调,同时将音符显示在数码管上。习习 题题 9习习 题题 99.8 设计一个设计一个IC卡电话计费器,在话卡插入后,计费器能卡电话计费器,在话卡插入后,计费器能将卡中的币值读出并显示出来,在通话过程中,根据话务将卡中的币值读出并显示出来,在通话过程中,根据话务种类(市话、长话和特话等)计话费并将话费从卡值中扣种类(市话、长话和特话等)计话费并将话费从卡值中扣除,卡值余额每分钟更新一次,当卡上余额不足时产生告除,卡值余额每分钟更新一次,当卡上余额不足时产生告警信号,当告警时间达到一定长度则自动切断当前通话,警信号,当告警时间达到一定长度则自动切断当前通话,计时与计费数据均以十进制形式显示
15、。计时与计费数据均以十进制形式显示。9.9 设计一个自动售饮料机。假定每瓶饮料售价为设计一个自动售饮料机。假定每瓶饮料售价为2.5元,元,可使用可使用2种硬币,即种硬币,即5角、角、1元,机器有找零功能。元,机器有找零功能。9.10 设计十字路口交通灯控制电路。要求:设计十字路口交通灯控制电路。要求:(1)通常主街道保持绿灯,支街道仅当有车来时才为绿灯。)通常主街道保持绿灯,支街道仅当有车来时才为绿灯。每当绿灯转红灯过程中,先亮黄灯并维持每当绿灯转红灯过程中,先亮黄灯并维持10秒钟,然后红灯才秒钟,然后红灯才亮。亮。(2)两个方向同时有车来时,红绿灯应每隔)两个方向同时有车来时,红绿灯应每隔3
16、0s变灯一次。变灯一次。(3)若仅在一个方向有车来时,作如下处理:)若仅在一个方向有车来时,作如下处理:该方向原为红灯,应立即出现变灯信号;该方向原为红灯,应立即出现变灯信号;该方向原为绿灯,应继续保持绿灯。一旦另一方向有车来,该方向原为绿灯,应继续保持绿灯。一旦另一方向有车来,应作两个方向均有车处理。应作两个方向均有车处理。习习 题题 9 9-1 实用多功能数字钟实用多功能数字钟实验要求:用实验要求:用Verilog设计一个多功能的数字钟,具有计时、设计一个多功能的数字钟,具有计时、定时与闹钟、校时、整点报时等多种功能。定时与闹钟、校时、整点报时等多种功能。用用Verilog语言设计一个多功能数字钟,数字钟具有下述功能语言设计一个多功能数字钟,数字钟具有下述功能(1)计时功能:包括时、分、秒的计时。)计时功能:包括时、分、秒的计时。(2)定时与闹钟功能:能在设定的时间发出闹铃音。)定时与闹钟功能:能在设定的时间发出闹铃音。(3)校时功能:对小时、分钟和秒能手动调整以校准时间。)校时功能:对小时、分钟和秒能手动调整以校准时间。(4)整点报时功能:每逢整点,产生)整点报时功能:每逢整点,产生“嘀嘀嘀嘀嘀嘀嘀嘀嘟嘟”,四短,四短一长的报时音。一长的报时音。实验与设计实验与设计
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。