# Clock & Reset #
#==============================================================================#
-# V munualu jsou piny prohozeny!
-#NET "CLK_100MHz" LOC = "B11" | PERIOD = 10.0 ns LOW 5.0 ns;
NET "CLK_24MHz" LOC = "A11" | PERIOD = 41.7 ns LOW 20.9 ns;
NET "RESET" LOC = "B6";
#==============================================================================#
-# 7-Segment Display #
+# RS-232 Port #
#==============================================================================#
-NET "DISPLAY1<0>" LOC = "D9";
-NET "DISPLAY1<1>" LOC = "C9";
-NET "DISPLAY1<2>" LOC = "F11";
-NET "DISPLAY1<3>" LOC = "F9";
-NET "DISPLAY1<4>" LOC = "F10";
-NET "DISPLAY1<5>" LOC = "D10";
-NET "DISPLAY1<6>" LOC = "C10";
-
-NET "DISPLAY2<0>" LOC = "B9";
-NET "DISPLAY2<1>" LOC = "A8";
-NET "DISPLAY2<2>" LOC = "B8";
-NET "DISPLAY2<3>" LOC = "E7";
-NET "DISPLAY2<4>" LOC = "E8";
-NET "DISPLAY2<5>" LOC = "E10";
-NET "DISPLAY2<6>" LOC = "E9";
+NET "RXD" LOC = "A7"; # input to RS232 driver
+NET "TXD" LOC = "B7"; # output from RS232 driver
port (
CLK_24MHz: in std_logic;
RESET: in std_logic;
- DISPLAY1: out std_logic_vector(6 downto 0);
- DISPLAY2: out std_logic_vector(6 downto 0)
+
+ RXD : out std_logic;
+ TXD : in std_logic
);
end openMSP430_uart;
port map (
irq_port1 => open,
irq_port2 => open,
- p1_dout (6 downto 0) => DISPLAY1,
- p1_dout (7) => open,
+ p1_dout (7 downto 2) => open,
+ p1_dout (1) => RXD,
+ p1_dout (0) => open,
p1_dout_en => open,
p1_sel => open,
- p2_dout (6 downto 0) => DISPLAY2,
- p2_dout (7) => open,
+ p2_dout => open,
p2_dout_en => open,
p2_sel => open,
p3_dout => open,
//#define BAUD 1042 //19200 @20.0MHz div 1
//#define BAUD 521 //38400 @20.0MHz div 1
//#define BAUD 347 //57600 @20.0MHz div 1
-#define BAUD 174 //115200 @20.0MHz div 1
+//#define BAUD 174 //115200 @20.0MHz div 1
//#define BAUD 87 //230400 @20.0MHz div 1
+#define BAUD 208 //115200 @24.0MHz div 1
+
//Selection of 'Digitally Controlled Oszillator' (desired frquency in HZ, 1..3 MHz)
#define DCO_FREQ 1536000 //3072000/2 makes 9600 a bit more precise