;------------------------------------------ ; ================================== ; == LCD 計時器控制(改良版) == ; == 2013/12/21 == ; == 蘇偉諺 4A037052 == ; ================================== ;------------------------------------------
advertisement
2014年1月3日
89C51 顯示時鐘 Assembly
2014年1月1日
2013年12月9日
FPGA 考試重點
前瞻進位加法器公式:
Pi=(ai | bi)
gi=(ai&bi)
ci=gi | (pi&(c(i-1)))
連波進位加法器與前瞻進位加法器之差異
a[大:小]
Moore、Mealy狀態機
Pi=(ai | bi)
gi=(ai&bi)
ci=gi | (pi&(c(i-1)))
連波進位加法器與前瞻進位加法器之差異
a[大:小]
Moore、Mealy狀態機
2013年12月7日
2013年12月1日
89C51 LCD顯示控制
題目:
掃描minikey,將按鍵值依下列方式顯示於LCD上:- 按'1'鍵,將'1'顯示於第一列奇數位置和第二列偶數位置
- 按'2'鍵,將'2'顯示於第一列偶數位置和第二列奇數位置
- 按'3'鍵,將'3'顯示於第一列奇數位置和第二列偶數位置
- 按'4'鍵,將'4'顯示於第一列偶數位置和第二列奇數位置
2013年11月28日
JAVA
跳脫字元(Escape character)
\\ -> \
\" -> "
\n -> line feed(換列)
\t -> TAB
\r -> return(回到列首)
//------------------------
基本型別 外覆(Wrap)類別
------------ ---------------
2013年11月26日
JAVA
public class Demo4B {
public static void main(String[] args) {
// TODO code application logic here
int i = 0, j = 0;
for (i = 1; i <= 8; i++) {//表格「列」
//System.out.println("i=" + i);
//System.out.println("--------------------");
for (j = 1; j <= 9; j++) {//表格「欄」
System.out.print("■");
}
System.out.println();
}
}
}
2013年11月19日
2013年11月18日
2013年11月14日
JAVA
型別初始值
型別 初始值
-------- --------
byte 0
short 0
int 0
long 0L
float 0.0F
double 0.0D
char \u0000
boolean flase
any class null
排版快捷鍵:shirt+alt+f
System.out.println();快捷鍵:sout[TAB]
new 配置新的記憶體空間
型別 初始值
-------- --------
byte 0
short 0
int 0
long 0L
float 0.0F
double 0.0D
char \u0000
boolean flase
any class null
排版快捷鍵:shirt+alt+f
System.out.println();快捷鍵:sout[TAB]
new 配置新的記憶體空間
2013年11月11日
FPGA
$dumpvars:指定要儲存之變數
$dumpvars("變數名稱1,變數名稱2,....");
或
$dumpvars;=$dumpvars("");//儲存全部變數
assign #1 {cout,s} = a+b;//a+b之結果高bit放到a,低bit放到b
$dumpvars("變數名稱1,變數名稱2,....");
或
$dumpvars;=$dumpvars("");//儲存全部變數
assign #1 {cout,s} = a+b;//a+b之結果高bit放到a,低bit放到b
2013年11月7日
JAVA
import java.util.Calendar;//impot 為告訴java該類別的位置在哪,與include不同
public class 發票 {
String 發票號碼;
Calendar a;//Calender為一個類別
boolean 中獎狀態;
public void 領獎() {
}
}
在JAVA語言中
int[] 中獎發票; = int 中獎發票[]; 兩者皆可
=============================================================
import jeliot.io.*;
public class MyClass {
public static void main() {
// Your algorithm goes here.
int x = 100;
int y = 200;
double z = 36.75;
//---------class type
Student aa = new Student();
Student cindy = new Student();
aa.studName="AA";
cindy.studName="Cindy";
}
}
public class Student{
int studNo;
String studName;
double studHeight;
double studWeight;
char studGender;
}
http://health99.hpa.gov.tw/OnlinkHealth/Onlink_BMI.aspx
public class 發票 {
String 發票號碼;
Calendar a;//Calender為一個類別
boolean 中獎狀態;
public void 領獎() {
}
}
在JAVA語言中
int[] 中獎發票; = int 中獎發票[]; 兩者皆可
=============================================================
import jeliot.io.*;
public class MyClass {
public static void main() {
// Your algorithm goes here.
int x = 100;
int y = 200;
double z = 36.75;
//---------class type
Student aa = new Student();
Student cindy = new Student();
aa.studName="AA";
cindy.studName="Cindy";
}
}
public class Student{
int studNo;
String studName;
double studHeight;
double studWeight;
char studGender;
}
http://health99.hpa.gov.tw/OnlinkHealth/Onlink_BMI.aspx
2013年10月31日
JAVA
IDE:整合開發環境
專案內的src存放程式碼檔案
java編譯時要家副檔名,執行時不加副檔名
attributes屬性 眼睛看到物件所呈現的東西,例如尺寸 大小 顏色
operations 操作動作 運作 與物件互動所產生的行為 例如手機=>打電話是一個功能,上網是一個功能,傳簡訊是一個功能
專案內的src存放程式碼檔案
java編譯時要家副檔名,執行時不加副檔名
attributes屬性 眼睛看到物件所呈現的東西,例如尺寸 大小 顏色
operations 操作動作 運作 與物件互動所產生的行為 例如手機=>打電話是一個功能,上網是一個功能,傳簡訊是一個功能
2013年10月29日
FPGA 筆記
Behavior 行為式
常用之區塊有
initial區塊 => 用於模擬,模擬時間 再有時機或有事件時才會執行
always區塊 => 可用於合成及模擬 持續一直執行
ex
always@(clk)
q=d;
或
always@(posedge clk or negedge rst_)
if(~rst_) q=0;
else q=d;
always@(posedge clk or posedge rst_)
if(rst_) q=0;
else q=d;
negedge配合~rst_ posedge配合rst_
常用之區塊有
initial區塊 => 用於模擬,模擬時間 再有時機或有事件時才會執行
always區塊 => 可用於合成及模擬 持續一直執行
ex
always@(clk)
q=d;
或
always@(posedge clk or negedge rst_)
if(~rst_) q=0;
else q=d;
always@(posedge clk or posedge rst_)
if(rst_) q=0;
else q=d;
negedge配合~rst_ posedge配合rst_
FPGA重點整理
- 使用參數:大寫表示常數,小寫表示信號變數
- [大:小]
- Verilog語法中忽略 空格 tab 換行
- 大小寫代表不同的識別字
- $monitor連續監視變數
- $display僅被呼叫一次
- $finish結束模擬
- integer 整數 parameter 參數
- always內之輸出變數必用reg宣告
- 不可交=將任意值直接指定給暫存器 reg
- 運算式等號右邊較位元數大於左邊位元數,則右邊較高之位元捨去,而左邊位元大於右邊位元數,則右邊位元補0至與左邊位元數相同
- y=s?a:b s=1時y=a s=0時y=b
- a={4{2'b01}}; a=8'b01010101;
- a={a,2{a,b,c}}; a={a,a,b,c,a,b,c};
- 要記得實體化模組
- module XXX (); 後面要加分號
- endmodule 後面不加分號
- 依順序與依名稱之差異
- <資料型態><位元><變數名稱><陣列長度>; reg [3:0] data [7:0];//8個4位元之暫存器data
- initial 內之程式碼僅執行一次,多個initial區塊時,則會並行執行
- always 內之程式碼將重複執行 碰到$finish、$stop停止
- 測試模組reg對input wire對output
- 測試平台之模組宣告不加 ,輸出入變數
- 測試磨阻止需要宣告設計本體input output為reg wire其餘的不用宣告
- 測試平台模組內的輸出入宣告變數(reg wire),要與實體或模組()內的變數一致
- out [3:0] a,b; 表a,b皆為4位元output
- 變數名稱第一個字元不不可以是數字
- if、case必在always內
- always@(posedge clk or posedge rst) 非同步rest
FPGA 3對8解碼器
3對8解碼器
增值表:
d2
|
d1
|
d0
|
y7
|
y6
|
y5
|
y4
|
y3
|
y2
|
y1
|
y0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2013年10月21日
Excel 2013/10/21
PIVOT =>樞軸、樞扭
Raw Material => 原始資料 以不動原始資料為準把資料取出來作更正、查詢為優
Horizontul => 水平
Vertical => 垂直
HLOOKUP => 看水平查垂直
VLOOKUP => 看垂直查水平
Vector => 向量
Transpose => 轉置
NA => not available
選擇性貼上 1.可把表格 transpose 2. word poerpoint互相資料複製時
S.A. system analysis 系統分析
programmer
Raw Material => 原始資料 以不動原始資料為準把資料取出來作更正、查詢為優
Horizontul => 水平
Vertical => 垂直
HLOOKUP => 看水平查垂直
VLOOKUP => 看垂直查水平
Vector => 向量
Transpose => 轉置
NA => not available
選擇性貼上 1.可把表格 transpose 2. word poerpoint互相資料複製時
S.A. system analysis 系統分析
programmer
FPGA 上課筆記
程序指定(procedural assignment)
變數名 = 延遲 運算式;
ex wire [2:0] a,b;
wire [2:0] sum;
wire c;
{c,sum}= a+b;
使用"="號指定方式為阻斷式(blocking)
變數名 = 延遲 運算式;
ex wire [2:0] a,b;
wire [2:0] sum;
wire c;
{c,sum}= a+b;
使用"="號指定方式為阻斷式(blocking)
2013年10月20日
編譯模組備忘
Step 1. Download
Step 2. # mv hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz README.txt /usr/local/src/
Step 3. # mkdir hybrid_wl
Step 4. # tar xva -f ../hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz
Step 5. # make clean
Step 6. # make
Step 2. # mv hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz README.txt /usr/local/src/
Step 3. # mkdir hybrid_wl
Step 4. # tar xva -f ../hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz
Step 5. # make clean
Step 6. # make
2013年10月19日
訂閱:
文章 (Atom)