ตอนนี้กำลังทำโปรเจคแรก (ที่ทำเอาอยากเปลี่ยนภาคเลยทีเดียวT_T) 'อุปกรณ์ควบคุมการเปิดปิดเครื่องใช้ไฟฟ้า' ติดตรงที่ในส่วนของดิจิตอล ที่ไม่สามารถเขียนcode(VHDL)ได้ เพราะไม่รู้จะเริ่มยังไง
เกริ่นก่อนว่า ไม่เก่งเรื่องนี้มากๆ!!! และตอนได้ลงแลป ที่ไม่กี่ครั้ง คือ การเขียน code ไฟLEDวิ่ง, ไล่เลขฐานสิบบน 7seg ที่รู้สึกว่าไม่สามารถเอามาต่อได้ T_T ตอนนี้เครียดเพราะใกล้วันส่งแล้ว เลยกะหา codeมาก่อนแล้วศึกษาที่หลัง อยากให้เพื่อนๆช่วยแนะนำเว็บ,code 'ที่สามารถใช้ได้จริง' ตอนนี้ที่ดูคือ
http://narong.ee.engr.tu.ac.th/miniproject/article.php?ID=10 และือันนี้คือที่เขียนๆอยู่ (มั่วมากยังไม่เสร็จ)
จะิทำนาฬิกาปกติที่มี วิ นาที ชม ที่สามารถเซตค่า เปิด และ ปิดเวลาได้ และ มีปุ่ม สอง ปุ่ม 1.เลื่อนหลัก 2.เพิ่มค่า
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity sss is
port (
clk1 : in std_logic;
7seg1 : out std_logic_vector(6 downto 0);
qcom1, qcom2,qcom3 : out std_logic_vector(5 downto 0));
end sss;
architecture
Behavioral of sss is
signal min : integer range 0 to 60 :=0;
signal count : integer :=1;
signal F : STD_LOGIC_VECTOR (22 downto 0);
signal clk : std_logic :='0'; begin
seconds <= conv_std_logic_vector(sec,6);
minutes <= conv_std_logic_vector(min,6);
hours <= conv_std_logic_vector(hour,6);
process(clk1)
begin
if(clk'event and clk='1') then
sec <= sec+ 1;
if(sec = 59) then
sec<=0;
min <= min + 1;
if(min = 59) then
hour <= hour + 1;
min <= 0;
if(hour = 23) then
hour <= 0;
end if;
end if;
end if;
end if;
end process;
7seg <= "0000000" when (F(15)='0' and F(14)='0') else
"0000001";
qcom1 <= "111110" when F(15)='0' and F(14)='0' else
"111101";
qcom2 <= "111011" when F(15)='0' and F(14)='0' else
"110111";
qcom3 <= "101111" when F(15)='0' and F(14)='0' else
"011111";
end Behavioral;
ขอ code digital clock ทีค่ะ
เกริ่นก่อนว่า ไม่เก่งเรื่องนี้มากๆ!!! และตอนได้ลงแลป ที่ไม่กี่ครั้ง คือ การเขียน code ไฟLEDวิ่ง, ไล่เลขฐานสิบบน 7seg ที่รู้สึกว่าไม่สามารถเอามาต่อได้ T_T ตอนนี้เครียดเพราะใกล้วันส่งแล้ว เลยกะหา codeมาก่อนแล้วศึกษาที่หลัง อยากให้เพื่อนๆช่วยแนะนำเว็บ,code 'ที่สามารถใช้ได้จริง' ตอนนี้ที่ดูคือ http://narong.ee.engr.tu.ac.th/miniproject/article.php?ID=10 และือันนี้คือที่เขียนๆอยู่ (มั่วมากยังไม่เสร็จ)
จะิทำนาฬิกาปกติที่มี วิ นาที ชม ที่สามารถเซตค่า เปิด และ ปิดเวลาได้ และ มีปุ่ม สอง ปุ่ม 1.เลื่อนหลัก 2.เพิ่มค่า
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity sss is
port (
clk1 : in std_logic;
7seg1 : out std_logic_vector(6 downto 0);
qcom1, qcom2,qcom3 : out std_logic_vector(5 downto 0));
end sss;
architecture
Behavioral of sss is
signal min : integer range 0 to 60 :=0;
signal count : integer :=1;
signal F : STD_LOGIC_VECTOR (22 downto 0);
signal clk : std_logic :='0'; begin
seconds <= conv_std_logic_vector(sec,6);
minutes <= conv_std_logic_vector(min,6);
hours <= conv_std_logic_vector(hour,6);
process(clk1)
begin
if(clk'event and clk='1') then
sec <= sec+ 1;
if(sec = 59) then
sec<=0;
min <= min + 1;
if(min = 59) then
hour <= hour + 1;
min <= 0;
if(hour = 23) then
hour <= 0;
end if;
end if;
end if;
end if;
end process;
7seg <= "0000000" when (F(15)='0' and F(14)='0') else
"0000001";
qcom1 <= "111110" when F(15)='0' and F(14)='0' else
"111101";
qcom2 <= "111011" when F(15)='0' and F(14)='0' else
"110111";
qcom3 <= "101111" when F(15)='0' and F(14)='0' else
"011111";
end Behavioral;