亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? up3_clock.vhd

?? 測試人體視覺的反應時間
?? VHD
字號:
LIBRARY IEEE;
USE  IEEE.STD_LOGIC_1164.all;
USE  IEEE.STD_LOGIC_ARITH.all;
USE  IEEE.STD_LOGIC_UNSIGNED.all;
-- This code displays time in the UP3's LCD Display
-- SW8 (GLOBAL RESET) resets time
ENTITY UP3_CLOCK IS
	PORT(reset, clk_48Mhz,D	,K,D3,D4			: IN	STD_LOGIC;
		 LCD_RS, LCD_E, RESET_LED, SEC_LED,Q_LED		: OUT	STD_LOGIC;
		 LCD_RW	,Q					: BUFFER STD_LOGIC;
		 DATA_BUS				: INOUT	STD_LOGIC_VECTOR(7 DOWNTO 0);
		SW3:IN STD_LOGIC_VECTOR(3 DOWNTO 0));
END UP3_CLOCK;

ARCHITECTURE a OF UP3_CLOCK IS
	TYPE STATE_TYPE IS (HOLD, FUNC_SET, DISPLAY_ON, MODE_SET, WRITE_CHAR1,
	WRITE_CHAR2,WRITE_CHAR3,WRITE_CHAR4,WRITE_CHAR5,WRITE_CHAR6,WRITE_CHAR7,
	WRITE_CHAR8, WRITE_CHAR9, WRITE_CHAR10, RETURN_HOME, TOGGLE_E, RESET1, RESET2, 
	RESET3, DISPLAY_OFF, DISPLAY_CLEAR);
	TYPE CNT IS RANGE 0 TO 9;
	SIGNAL state, next_command: STATE_TYPE;
	SIGNAL DATA_BUS_VALUE: STD_LOGIC_VECTOR(7 DOWNTO 0);
	SIGNAL CLK_COUNT_100HZ,CLK_COUNT_400HZ: STD_LOGIC_VECTOR(19 DOWNTO 0);
	SIGNAL CLK_COUNT_2HZ,B1,B2,B3: STD_LOGIC_VECTOR(7 DOWNTO 0);
	SIGNAL BCD_SECD0,BCD_SECD1,BCD_MIND0,BCD_MIND1: STD_LOGIC_VECTOR(3 DOWNTO 0);
	SIGNAL BCD_HRD0,BCD_HRD1,BCD_TSEC,S1,S2,BCD_3CAI: STD_LOGIC_VECTOR(3 DOWNTO 0);
	SIGNAL CLK_400HZ, CLK_100HZ,D1 ,D0,CLK_2HZ: STD_LOGIC;
	SIGNAL COUNT:INTEGER RANGE 0 TO 200;
	SIGNAL COUNT1,COUNT2:INTEGER RANGE 0 TO 40;

BEGIN	
	
-- BIDIRECTIONAL TRI STATE LCD DATA BUS
	DATA_BUS <= DATA_BUS_VALUE WHEN LCD_RW = '0' ELSE "ZZZZZZZZ";

	PROCESS
	BEGIN
	 WAIT UNTIL CLK_48MHZ'EVENT AND CLK_48MHZ = '1';
		IF RESET = '0' THEN
		 CLK_COUNT_400HZ <= X"00000";
		 CLK_400HZ <= '0';
		ELSE
				IF CLK_COUNT_400HZ < X"0EA60" THEN 
				 CLK_COUNT_400HZ <= CLK_COUNT_400HZ + 1;
				ELSE
		    	 CLK_COUNT_400HZ <= X"00000";
				 CLK_400HZ <= NOT CLK_400HZ;
				END IF;
				IF CLK_COUNT_100HZ < 240000 THEN
				CLK_COUNT_100HZ <= CLK_COUNT_100HZ + 1;
			ELSE
				CLK_COUNT_100HZ <= X"00000";
				CLK_100HZ <= NOT CLK_100HZ;
			END IF;
		END IF;
	END PROCESS;
	PROCESS (CLK_400HZ, reset)
	BEGIN
		IF reset = '0'OR D1='1'OR K='1' THEN
			state <= RESET1;
			DATA_BUS_VALUE <= X"38";
			next_command <= RESET2;
			LCD_E <= '1';
			LCD_RS <= '0';
			LCD_RW <= '0';

		ELSIF CLK_400HZ'EVENT AND CLK_400HZ = '1' THEN
-- GENERATE 1 SEC CLOCK SIGNAL FOR SECOND COUNT PROCESS
			
			IF CLK_COUNT_2HZ < 99 THEN
				CLK_COUNT_2HZ <= CLK_COUNT_2HZ + 1;
			ELSE
				CLK_COUNT_2HZ <= X"00";
				CLK_2HZ <= NOT CLK_2HZ;
			END IF;
-- SEND TIME TO LCD			
			CASE state IS
-- Set Function to 8-bit transfer and 2 line display with 5x8 Font size
-- see Hitachi HD44780 family data sheet for LCD command and timing details
				WHEN RESET1 =>
						LCD_E <= '1';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"38";
						state <= TOGGLE_E;
						next_command <= RESET2;
				WHEN RESET2 =>
						LCD_E <= '1';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"38";
						state <= TOGGLE_E;
						next_command <= RESET3;
				WHEN RESET3 =>
						LCD_E <= '1';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"38";
						state <= TOGGLE_E;
						next_command <= FUNC_SET;
-- EXTRA STATES ABOVE ARE NEEDED FOR RELIABLE PUSHBUTTON RESET OF LCD
				WHEN FUNC_SET =>
						LCD_E <= '1';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"38";
						state <= TOGGLE_E;
						next_command <= DISPLAY_OFF;
-- Turn off Display and Turn off cursor
				WHEN DISPLAY_OFF =>
						LCD_E <= '1';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"08";
						state <= TOGGLE_E;
						next_command <= DISPLAY_CLEAR;
-- Turn on Display and Turn off cursor
				WHEN DISPLAY_CLEAR =>
						LCD_E <= '1';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"01";
						state <= TOGGLE_E;
						next_command <= DISPLAY_ON;
-- Turn on Display and Turn off cursor
				WHEN DISPLAY_ON =>
						LCD_E <= '1';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"0C";
						state <= TOGGLE_E;
						next_command <= MODE_SET;
-- Set write mode to auto increment address and move cursor to the right
				WHEN MODE_SET =>
						LCD_E <= '1';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"06";
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR1;
-- Write ASCII hex character in first LCD character location
				WHEN WRITE_CHAR1 =>
						LCD_E <= '1';
						LCD_RS <= '1';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"3" & BCD_SECD1;
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR2;
-- Write ASCII hex character in second LCD character location
				WHEN WRITE_CHAR2 =>
						LCD_E <= '1';
						LCD_RS <= '1';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"3" & BCD_SECD0;
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR3;
-- Write ASCII hex character in third LCD character location
				WHEN WRITE_CHAR3 =>
						LCD_E <= '1';
						LCD_RS <= '1';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"3A" ;
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR4;
-- Write ASCII hex character in fourth LCD character location
				WHEN WRITE_CHAR4 =>
						LCD_E <= '1';
						LCD_RS <= '1';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"3" & BCD_TSEC;
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR5;
-- Write ASCII hex character in fifth LCD character location
				WHEN WRITE_CHAR5 =>
						LCD_E <= '1';
						LCD_RS <= '1';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"3" & BCD_3CAI;
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR6;
-- Write ASCII hex character in sixth LCD character location
				WHEN WRITE_CHAR6 =>
						LCD_E <= '0';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"3A" ;
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR7;
-- Write ASCII hex character in seventh LCD character location
				WHEN WRITE_CHAR7 =>
						LCD_E <= '0';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"3" & BCD_SECD1;
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR8;
-- Write ASCII hex character in eighth LCD character location
				WHEN WRITE_CHAR8 =>
						LCD_E <= '0';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"3" & BCD_SECD0;
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR9;
				WHEN WRITE_CHAR9 =>
						LCD_E <= '0';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"2E";
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR10;
				WHEN WRITE_CHAR10 =>
						LCD_E <= '0';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"3" & BCD_TSEC;
						state <= TOGGLE_E;
						next_command <= RETURN_HOME;

-- Return write address to first character postion
				WHEN RETURN_HOME =>
						LCD_E <= '1';
						LCD_RS <= '0';
						LCD_RW <= '0';
						DATA_BUS_VALUE <= X"80";
						state <= TOGGLE_E;
						next_command <= WRITE_CHAR1;
-- The next two states occur at the end of each command to the LCD
-- Toggle E line - falling edge loads inst/data to LCD controller
				WHEN TOGGLE_E =>
						LCD_E <= '0';
						state <= HOLD;
-- Hold LCD inst/data valid after falling edge of E line				
				WHEN HOLD =>
						state <= next_command;
			END CASE;
		END IF;
	END PROCESS;
	PROCESS (Clk_100hz, reset)

	BEGIN 
	

		IF reset = '0' OR D1='1'THEN	
			BCD_HRD1 <= X"0";	
					
			BCD_HRD0 <= X"0";
			BCD_MIND1 <= X"0";
			BCD_MIND0 <= X"0";
			BCD_SECD1 <= X"0";
			BCD_SECD0 <= X"0";
			BCD_TSEC  <= X"0";
			BCD_3CAI<=X"0";
			SEC_LED<='0';
	        RESET_LED<='0';
	        Q_LED<='0';
	        
        IF K='0' THEN B2<=X"00";ELSE NULL;END IF;
		ELSIF clk_100HZ'EVENT AND clk_100HZ = '1' THEN
	    IF COUNT1<20 THEN 
	 COUNT1<=COUNT1+1;ELSE COUNT1<=0;
IF COUNT2<=8 THEN IF D3='0' THEN COUNT2<=COUNT2+1;ELSE 
COUNT2<=COUNT2; END IF;ELSE COUNT2<=1;END IF;END IF ;
	
	
	IF BCD_3CAI<9 THEN
	BCD_3CAI<=BCD_3CAI+1; 
	IF K='0' THEN B2<=B2+1;
	ELSE NULL;
	IF D3='0' THEN  SEC_LED<='0';
	RESET_LED<='0';Q_LED<='0';ELSE
	IF K='1'AND D0='1' THEN
	IF B2<=15 THEN SEC_LED<='1';
	ELSE SEC_LED<='0';
	IF B2>15 AND B2<=23 THEN  RESET_LED<='1';
	ELSE RESET_LED<='0';
	IF B2>23 AND B2<=31 THEN  Q_LED<='1';
	ELSE Q_LED<='0';
	IF B2>31 THEN 
	SEC_LED<='1';
	RESET_LED<='1';Q_LED<='1';
	ELSE SEC_LED<='0';
	RESET_LED<='0';Q_LED<='0';
	END IF;END IF;END IF;END IF;END IF;
	END IF;END IF;
	ELSE 
	BCD_3CAI<=X"0";
-- TENTHS OF SECONDS
		IF BCD_TSEC < 9 THEN
		 BCD_TSEC <= BCD_TSEC + 1;
		ELSE
		 BCD_TSEC <= X"0";
		 
-- SECONDS
		IF BCD_SECD0 < 9 THEN
	 	 BCD_SECD0 <= BCD_SECD0 + 1;
	
	
	
		ELSE
-- TENS OF SECONDS
		 BCD_SECD0 <= "0000";
	 	  IF BCD_SECD1 < 5 THEN
	  	 BCD_SECD1 <= BCD_SECD1 + 1;
	 	 ELSE
-- MINUTES
	  	 BCD_SECD1 <= "0000";
	  	 IF BCD_MIND0 < 9 THEN
	   	  BCD_MIND0 <= BCD_MIND0 + 1;
	  	 ELSE
-- TENS OF MINUTES
	   	  BCD_MIND0 <= "0000";
	   	  IF BCD_MIND1 < 5 THEN
	       BCD_MIND1 <= BCD_MIND1 + 1;
	   	  ELSE
-- HOURS
	    	BCD_MIND1 <= "0000";
	    	IF BCD_HRD0 < 9 AND NOT((BCD_HRD1 = 2) AND (BCD_HRD0 = 3))THEN
	     	 BCD_HRD0 <= BCD_HRD0 + 1;
	    	ELSE
-- TENS OF HOURS
	     	 IF NOT((BCD_HRD1 = 2) AND (BCD_HRD0 = 3)) THEN
	      	  BCD_HRD1 <= BCD_HRD1 + 1;
	      	  BCD_HRD0 <= "0000";
	     	 ELSE
-- NEW DAY
	      	 BCD_HRD1 <= "0000";
          	 BCD_HRD0 <= "0000";
         	END IF;
           END IF;
          END IF;
         END IF;
        END IF;
       END IF;
	 END IF;
	END IF;
	END IF;
 END PROCESS;
PROCESS(CLK_100HZ)
BEGIN
	CASE SW3 IS
WHEN "0000"=>S1<=X"0";
WHEN "0001"=>S1<=X"1";
WHEN "0010"=>S1<=X"2";
WHEN "0011"=>S1<=X"3";
WHEN "0100"=>S1<=X"4";
WHEN "0101"=>S1<=X"5";
WHEN "0110"=>S1<=X"6";
WHEN "0111"=>S1<=X"7";
WHEN "1000"=>S1<=X"8";
WHEN "1001"=>S1<=X"9";
WHEN "1010"=>S1<=X"A";
WHEN "1011"=>S1<=X"B";
WHEN "1100"=>S1<=X"C";
WHEN "1101"=>S1<=X"D";
WHEN "1110"=>S1<=X"E";
WHEN OTHERS=>S1<=X"F";
END CASE;
IF reset='0'OR D1='1' THEN 
B1<=X"00";B3<=X"00";D1<='0';
ELSIF clk_100HZ'EVENT AND clk_100HZ = '1' THEN
IF B1<99 THEN B1<=B1+1;
ELSE B1<=X"00";
IF B3<16 THEN B3<=B3+1;
IF B3=S1 THEN D0<='1';D1<='1';ELSE D0<='0';END IF;
ELSE B3<=X"00";
END IF;END IF;END IF;
END PROCESS;
PROCESS(CLK_100HZ)
BEGIN 
IF reset='0' THEN COUNT<=0;Q<='0';
ELSIF D0='1' OR D4='0' THEN 
IF CLK_400HZ'EVENT  AND CLK_400HZ='1'   THEN
IF COUNT<=COUNT2 THEN Q<='1';COUNT<=COUNT+1;
ELSIF COUNT=8 THEN Q<='0';COUNT<=0;
ELSE Q<='0';COUNT<=COUNT+1;
END IF;END IF;ELSE NULL;END IF;END PROCESS;
END a;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色菇凉天天综合网| 婷婷夜色潮精品综合在线| 亚洲欧美电影一区二区| 天堂蜜桃一区二区三区 | 最好看的中文字幕久久| 午夜激情一区二区三区| 丰满少妇久久久久久久| 91精品国产综合久久精品| 中文字幕一区二区三区乱码在线 | 中文在线资源观看网站视频免费不卡| 一区二区三区免费在线观看| 国产精品456| 欧美一区二区三区精品| 亚洲一区二区在线观看视频 | 国产一区 二区 三区一级| 色悠悠久久综合| 国产精品拍天天在线| 久久精品国产第一区二区三区| 欧美性受xxxx黑人xyx| 亚洲欧美综合另类在线卡通| 国产精品一区二区在线播放| 精品1区2区在线观看| 蜜臀91精品一区二区三区| 欧美日韩性生活| 亚洲第一电影网| 欧美亚洲国产一卡| 亚洲国产成人高清精品| 欧美最新大片在线看| 一区二区三区日本| 欧美私模裸体表演在线观看| 夜夜夜精品看看| 欧美视频一区在线观看| 一区二区三区.www| 欧美日韩一区二区三区四区| 亚洲成人综合网站| 欧美乱熟臀69xxxxxx| 日韩av不卡一区二区| 日韩三区在线观看| 国产一区欧美二区| 国产精品传媒视频| 色婷婷精品久久二区二区蜜臂av| 亚洲欧美激情插 | 日韩av中文字幕一区二区三区| 欧美色综合影院| 午夜精品久久久久久| 51精品视频一区二区三区| 九九热在线视频观看这里只有精品| 日韩一区二区三区视频在线 | 久久黄色级2电影| 欧美va亚洲va香蕉在线| 国产成人免费视频网站 | 91蝌蚪porny九色| 亚洲高清久久久| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 成人性生交大片免费看视频在线| 18成人在线观看| 欧美日韩国产一级| 国产一区二区三区四区五区美女| 国产欧美精品区一区二区三区| 91视频免费播放| 日本欧美大码aⅴ在线播放| 国产调教视频一区| 在线视频你懂得一区| 婷婷国产v国产偷v亚洲高清| 精品国产乱码久久久久久老虎| 高清视频一区二区| 日韩二区在线观看| 欧美激情在线观看视频免费| 色婷婷精品久久二区二区蜜臀av| 日日夜夜免费精品| 国产精品国产三级国产a| 欧美日韩和欧美的一区二区| 国产一区不卡视频| 亚洲成人资源网| 欧美国产97人人爽人人喊| 欧美三级韩国三级日本一级| 国产一区二区三区日韩| 亚洲一区在线播放| 国产女人18水真多18精品一级做 | 欧美大黄免费观看| 色婷婷久久久亚洲一区二区三区| 美女免费视频一区二区| 亚洲欧美视频一区| 26uuu精品一区二区| 欧美日韩高清不卡| 99久久久国产精品免费蜜臀| 青娱乐精品在线视频| 亚洲视频一二区| 久久久青草青青国产亚洲免观| 欧美日韩久久一区二区| av激情亚洲男人天堂| 紧缚奴在线一区二区三区| 性做久久久久久久久| 亚洲欧美另类久久久精品2019| 久久婷婷国产综合国色天香| 91麻豆精品久久久久蜜臀| 91蜜桃视频在线| a亚洲天堂av| 国产激情视频一区二区三区欧美 | 国产亚洲欧美一区在线观看| 欧美一级片在线观看| 欧美亚洲动漫精品| 在线观看视频一区| 色综合视频一区二区三区高清| 国产真实乱对白精彩久久| 日本亚洲电影天堂| 午夜电影一区二区三区| 亚洲图片自拍偷拍| 亚洲国产一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 亚洲国产经典视频| 日本一区二区三区免费乱视频| 日韩欧美成人激情| 日韩视频一区在线观看| 7777精品久久久大香线蕉| 欧美精品第1页| 欧美一级日韩一级| 欧美tickle裸体挠脚心vk| 欧美r级在线观看| 久久久久9999亚洲精品| 欧美国产欧美亚州国产日韩mv天天看完整 | 欧美视频中文字幕| 欧美欧美欧美欧美首页| 欧美高清视频在线高清观看mv色露露十八 | 韩国成人精品a∨在线观看| 蜜桃视频一区二区三区在线观看| 日本不卡免费在线视频| 美国精品在线观看| 国产尤物一区二区在线| 成人动漫一区二区| 色哟哟精品一区| 欧美日韩一区二区不卡| 欧美一区二区日韩| 久久久久久久久伊人| 国产女人18毛片水真多成人如厕| 国产精品麻豆网站| 艳妇臀荡乳欲伦亚洲一区| 日韩中文字幕区一区有砖一区| 美女一区二区久久| 成人app在线| 欧美探花视频资源| www成人在线观看| 亚洲精品精品亚洲| 美脚の诱脚舐め脚责91| 成人黄动漫网站免费app| 欧美性大战久久久久久久| 日韩一二三区视频| 国产精品色噜噜| 天堂精品中文字幕在线| 国产精品正在播放| 在线观看亚洲精品视频| 精品久久久久久最新网址| 国产精品灌醉下药二区| 日韩精品一卡二卡三卡四卡无卡| 国产美女一区二区| 欧美美女网站色| 中文字幕+乱码+中文字幕一区| 午夜视频久久久久久| 国产精品亚洲第一区在线暖暖韩国 | 亚洲精品日日夜夜| 国产精品亚洲一区二区三区在线| 欧美日韩专区在线| 国产精品国产a| 看电影不卡的网站| 色呦呦国产精品| 欧美激情综合五月色丁香小说| 亚洲福利国产精品| 色综合天天综合| 久久久久久9999| 日本视频在线一区| 色婷婷一区二区三区四区| 26uuu另类欧美| 日本特黄久久久高潮| 在线观看日韩精品| 国产精品理论在线观看| 美女视频一区在线观看| 欧美曰成人黄网| 最新国产の精品合集bt伙计| 国产乱码字幕精品高清av| 8v天堂国产在线一区二区| 1024成人网色www| 国产.欧美.日韩| 久久久久久麻豆| 国内精品第一页| 日韩亚洲欧美在线观看| 亚洲1区2区3区4区| 欧亚洲嫩模精品一区三区| 亚洲欧美一区二区三区国产精品| 丰满亚洲少妇av| 国产日韩欧美激情| 国产一区二区三区日韩 | 亚洲在线观看免费| 色偷偷成人一区二区三区91| 中文字幕av一区二区三区高| 激情都市一区二区| 亚洲精品在线观看网站| 麻豆免费看一区二区三区| 日韩免费看的电影| 黄色精品一二区| 久久久精品日韩欧美|