北邮数电实验双色点阵扫描显示控制器_第1页
北邮数电实验双色点阵扫描显示控制器_第2页
北邮数电实验双色点阵扫描显示控制器_第3页
北邮数电实验双色点阵扫描显示控制器_第4页
北邮数电实验双色点阵扫描显示控制器_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学数字电路与逻辑设计实验报告(实验5)学院:电子工程学院专业:电子信息科学与技术

实验5双色点阵扫描显示控制器一、实验要求1.用8×8点阵显示字符,每次显示一个字符,每秒切换一次,显示内容为“B”、“U”、“P”、“T”及姓名的第一个字母。如张三显示的内容为“B”、“U”、“P”、“T”、“Z”、“S”。2.为系统设置一个复位键,复位后重新从“B”开始循环显示。要求使用按键复位。二、实验设计思路我们知道点阵的结构,当row轮流出0的时候,二极管阴极为低电平,这时候我们给到一个高电平在红灯或者绿灯的阳极的时候,就能驱使灯点亮。这样我们可以基于“视觉暂留”的现象,快速刷新row灯,使得点阵能够快速点亮,这样就能显示一个完整的字,最后再利用一个模7计数器来实现每个字母之间的转换。我们引入一个1000hz的时钟,并对其进行一个1000分频变成1hz的时钟。之后再利用这个模7计数器来控制cor_l和cor_g和row来控制灯的颜色、每行灯亮时列的亮灯情况。另外,我们需要一个模8计数器,后面再设计一个3-8线译码器,这样能够控制row的亮灯情况。最后我们需要注意的是,由于row需要快速刷新,故我们需要用1000hz的时钟,而字符之间的转换的计数器要用1hz的时钟,来满足亮灯1s的条件。我们还需要设计一个复位键,以便能做到按下按钮重新回到第一个字母的功能,这需要reset按下时,模7计数器的数字回到0。这样把带防抖的复位键加进去即可。最后顶层将这两个模块连接起来即可。三、VHDL代码及注释点阵部分:libraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_unsigned.all;useIEEE.std_logic_arith.all;entitydianzhenisport(clk:instd_logic;col_r:outstd_logic_vector(7downto0);--红灯的控制显示col_g:outstd_logic_vector(7downto0);--绿灯的控制显示row:outstd_logic_vector(7downto0);--二极管阴极控制reset:instd_logic);enddianzhen;architectureaofdianzhenissignalsel7:std_logic_vector(2downto0);--模7计数器的信号signalsel8:std_logic_vector(2downto0);--模8计数器的信号signalclk_add:std_logic:='0';--分频后的时钟beginp1:process(clk)--1000分频variablec:integerrange0to499:=0;beginif(clk'eventandclk='1')thenifc=499thenclk_add<=notclk_add;c:=0;elsec:=c+1;endif;endif;endprocessp1;p2:process(clk)--模8计数器beginif(clk'eventandclk='1')thensel8<=sel8+1;--加满自动重新归零endif;endprocessp2;p3:process(clk_add,reset)--模7计数器beginif(reset='1')then--当出现重置的信号为高电平时,计数器重置为000,这样就能回到字母Bsel7<="000";elsif(CLK_add'EVENTANDCLK_add='1')thenif(sel7=O"6")thensel7<=O"0";--模满7归零elsesel7<=sel7+1;endif;endif;endprocessp3;p4:process(sel7,sel8)—模7和模8共同作用,模8用来快速刷新row,模7用来控制哪个字母,每行对应相对的列点亮的情况,显示字母。begincasesel7iswhenO"0"=>casesel8is--字母B,运用循环嵌套,如7是显示B的最上面一行,0是显示最下面一行左下角灯为(0,0),右上角为(7,7),这样的方式点亮灯显示字符。whenO"7"=>col_r<="00111110";col_g<="00000000";row<="01111111"whenO"6"=>col_r<="01000110";col_g<="00000000";row<="10111111";whenO"5"=>col_r<="01000110";col_g<="00000000";row<="11011111";whenO"4"=>col_r<="00111110";col_g<="00000000";row<="11101111";whenO"3"=>col_r<="01000110";col_g<="00000000";row<="11110111";whenO"2"=>col_r<="01000110";col_g<="00000000";row<="11111011";whenO"1"=>col_r<="01000110";col_g<="00000000";row<="11111101";whenO"0"=>col_r<="00111110";col_g<="00000000";row<="11111110";whenOTHERS=>col_r<="00111110";col_g<="00000000";row<="11111110";endcase;whenO"1"=>casesel8is--字母UwhenO"7"=>col_r<="00000000";col_g<="11000110";row<="01111111";whenO"6"=>col_r<="00000000";col_g<="11000110";row<="10111111";whenO"5"=>col_r<="00000000";col_g<="11000110";row<="11011111";whenO"4"=>col_r<="00000000";col_g<="11000110";row<="11101111";whenO"3"=>col_r<="00000000";col_g<="11000110";row<="11110111";whenO"2"=>col_r<="00000000";col_g<="11000110";row<="11111011";whenO"1"=>col_r<="00000000";col_g<="11111110";row<="11111101";whenO"0"=>col_r<="00000000";col_g<="01111100";row<="11111110";whenOTHERS=>col_r<="00000000";col_g<="01111100";row<="11111110";endcase;whenO"2"=>casesel8is--字母PwhenO"7"=>col_r<="00111110";col_g<="00000000";row<="01111111";whenO"6"=>col_r<="01000110";col_g<="00000000";row<="10111111";whenO"5"=>col_r<="01000110";col_g<="00000000";row<="11011111";whenO"4"=>col_r<="01000110";col_g<="00000000";row<="11101111";whenO"3"=>col_r<="00111110";col_g<="00000000";row<="11110111";whenO"2"=>col_r<="00000110";col_g<="00000000";row<="11111011";whenO"1"=>col_r<="00000110";col_g<="00000000";row<="11111101";whenO"0"=>col_r<="00000110";col_g<="00000000";row<="11111110";whenOTHERS=>col_r<="00000110";col_g<="00000000";row<="11111110";endcase;whenO"3"=>casesel8is--字母TwhenO"7"=>col_r<="00000000";col_g<="11111111";row<="01111111";whenO"6"=>col_r<="00000000";col_g<="11111111";row<="10111111";whenO"5"=>col_r<="00000000";col_g<="00011000";row<="11011111";whenO"4"=>col_r<="00000000";col_g<="00011000";row<="11101111";whenO"3"=>col_r<="00000000";col_g<="00011000";row<="11110111";whenO"2"=>col_r<="00000000";col_g<="00011000";row<="11111011";whenO"1"=>col_r<="00000000";col_g<="00011000";row<="11111101";whenO"0"=>col_r<="00000000";col_g<="00011000";row<="11111110";whenOTHERS=>col_r<="00000000";col_g<="00011000";row<="11111110";endcase;whenO"4"=>casesel8is--字母ZwhenO"7"=>col_r<="11111111";col_g<="00000000";row<="01111111";whenO"6"=>col_r<="01000000";col_g<="00000000";row<="10111111";whenO"5"=>col_r<="00100000";col_g<="00000000";row<="11011111";whenO"4"=>col_r<="00010000";col_g<="00000000";row<="11101111";whenO"3"=>col_r<="00001000";col_g<="00000000";row<="11110111";whenO"2"=>col_r<="00000100";col_g<="00000000";row<="11111011";whenO"1"=>col_r<="00000010";col_g<="00000000";row<="11111101";whenO"0"=>col_r<="11111111";col_g<="00000000";row<="11111110";whenOTHERS=>col_r<="11111111";col_g<="00000000";row<="11111110";endcase;whenO"5"=>casesel8is--字母YwhenO"7"=>col_r<="00000000";col_g<="11000011";row<="01111111";whenO"6"=>col_r<="00000000";col_g<="01100110";row<="10111111";whenO"5"=>col_r<="00000000";col_g<="00111100";row<="11011111";whenO"4"=>col_r<="00000000";col_g<="00011000";row<="11101111";whenO"3"=>col_r<="00000000";col_g<="00011000";row<="11110111";whenO"2"=>col_r<="00000000";col_g<="00011000";row<="11111011";whenO"1"=>col_r<="00000000";col_g<="00011000";row<="11111101";whenO"0"=>col_r<="00000000";col_g<="00011000";row<="11111110";whenOTHERS=>col_r<="00000000";col_g<="00011000";row<="11111110";endcase;whenO"6"=>casesel8is--字母RwhenO"7"=>col_r<="00111110";col_g<="00000000";row<="01111111";whenO"6"=>col_r<="01000110";col_g<="00000000";row<="10111111";whenO"5"=>col_r<="01000110";col_g<="00000000";row<="11011111";whenO"4"=>col_r<="00111110";col_g<="00000000";row<="11101111";whenO"3"=>col_r<="01000110";col_g<="00000000";row<="11110111";whenO"2"=>col_r<="10000110";col_g<="00000000";row<="11111011";whenO"1"=>col_r<="10000110";col_g<="00000000";row<="11111101";whenO"0"=>col_r<="00000000";col_g<="00000000";row<="11111110";whenOTHERS=>col_r<="00000000";col_g<="00000000";row<="11111110";endcase;WHENOTHERS=>NULL;--其他状态endcase;endprocessp4;enda;第二部分:防抖按钮。这部分和之前的实验相仿。直接套用即可。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYfangdouIS PORT( clk :IN STD_LOGIC; reset :IN STD_LOGIC; resetn :OUT STD_LOGIC);ENDfan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论