第一篇:簡易分析報告[最終版]
1、***公司2012年1-10月收入實現(xiàn)25.46萬元,其中物業(yè)管理收入20.13萬元;垃圾清運收入1.92萬元;車位出租收入(停車費)3.41萬元。
2、下面通過與去年同期數(shù)據(jù)相比進行收入簡易分析:
⑴物業(yè)管理收入比去年同比增長實現(xiàn)16.1124萬元,同比增長率達400%;垃圾清運收入比去年同比增長實現(xiàn)1.0173萬元,同比增長率達113%,主要原因:①去年因劉強榮個人問題使公司收入流失一部分,造成去年物業(yè)管理收入、垃圾清運收入偏低。②今年2棟業(yè)主陸續(xù)入住、公司管理水平提高,每月物業(yè)管理費能及時收取。
⑵車位出租收入是公司今年采取開源創(chuàng)收,增添新的收費(入)項目,2012年1月-10月車位出租收入有實現(xiàn)3.406萬元。
⑶公司2012年總收入比去年同期增長實現(xiàn)20.5383萬元,同比增長率417%。
二、*****公司2012年1月-10月費用情況:
1、****公司2012年1月-10月管理費用58.42萬元,其中:物業(yè)員工工資19.2349萬元;保潔費4.181萬元;保安費25.5161萬元;辦公費2.7916萬元;差旅費0.1043萬元;低值易耗品攤銷1.8114萬元;招待費0.4855萬元;維修費0.7364萬元;電話費0.09萬元;培訓(xùn)費0.459萬元;物料消耗費0.9282萬元;其它2.0825萬元。
2、下面通過與去年同期數(shù)據(jù)相比對主要費用項目進行簡易分析:
⑴低值易耗品攤銷比去年同比增長實現(xiàn)1.4448萬元,同比增長率達394%;物料消耗比去年同比增長實現(xiàn)0.563萬元,同比增長率達154%,主要原因:①小區(qū)停電時,需耗用柴油發(fā)電;今年水管爆裂幾次,物料消耗較多。
⑵公司員工工資比去年同比負增長實現(xiàn)0.7629萬元,同比負增長率3.81%,主要原因:①去年員工工資含保潔員、保安工資,由于今年1-10月份不含保潔員、保安人員工資,雖然人數(shù)減少了,但公司提高其他在崗員工的工資基數(shù),所以僅內(nèi)部員工工資就已經(jīng)達到19.2349萬元,從另一個角度而言是“不減反增”。
⑶保潔工資比去年同比增長實現(xiàn)4.181萬元,同比增長率418%;保安工資比去年同比增長實現(xiàn)25.5161萬元,同比增長率2551%,主要原因:已對外包,無法控制人力成本。
三、*****公司財務(wù)費用情況:
1、****公司2012年1-10月財務(wù)費用為0.1191萬元,其中銀行手續(xù)費0.0895萬元;存款利息-0.0633萬元;賬戶管理費0.0404萬元;其他0.525萬元。
2、財務(wù)費用比去年有近40倍的增長,主要原因是有段時間匯邦永興分公司賬戶被封,所有資金需通過物業(yè)賬戶進出造成財務(wù)費用成倍增長。
四、****物業(yè)收入、費用綜合分析:
1、①***公司2012年1月-10月收入比去年同比增長21萬元,同比增長率達417%;②費用比去年同比增長28萬元,同比增長率達246%;③營業(yè)稅金及附加比去年同比增長1萬元,同比增長率達397%;④凈利潤比去年同比負增長9萬元,同比負增長率達36.77%
2、綜上分析,得出以下結(jié)論:
****公司2012年1-10月份處于虧損狀態(tài),虧損原因主要是雖然收入增長速度快、增長幅度大,可因費用開支過大,特別是保安、保潔這兩項支出,需要壓縮費用開支,減少虧損。
「標(biāo)簽: 公司財務(wù)分析報告」
第二篇:簡易方程教材分析
五年級上冊第四單元
簡易方程知識樹說明
(一)單元教材解讀
本單元是在學(xué)生充分理解了四則運算的意義和會用字母表示數(shù)的基礎(chǔ)上進行學(xué)習(xí)的。從用字母表示數(shù)到簡易方程,是代數(shù)思維方式的進一步發(fā)展,這既是學(xué)生對所學(xué)的運算意義和數(shù)量關(guān)系的應(yīng)用,又是學(xué)生進行第三學(xué)段代數(shù)知識學(xué)習(xí)的基礎(chǔ),具有重要地位。
本單元的主要教學(xué)內(nèi)容是:方程的意義,等式的性質(zhì),解簡易方程和用方程解決問題。其中解簡易方程和用方程解決問題既是本單元的重點也是難點。
本單元教材編寫的主要特點:
1、素材的選取能夠喚起學(xué)生保護動物的意識。
動物是人類的朋友,但是由于環(huán)境的變化和人類的活動,白鰭豚、大熊貓、東北虎、金絲猴、黑鸛等很多動物瀕臨滅絕。本單元以這些珍稀動物數(shù)量變化情況為素材,注重了素材的現(xiàn)實性,同時突出了數(shù)據(jù)的真實性。使學(xué)生在學(xué)習(xí)數(shù)學(xué)知識的同時,體會數(shù)學(xué)與生活的密切聯(lián)系,喚起學(xué)生保護珍稀動物的意識。
2、借助天平來學(xué)習(xí)知識是本單元一大特點。
本單元在編排時,無論是理解方程的意義、探索等式的性質(zhì),還是學(xué)習(xí)解方程都是借助于天平來幫助學(xué)生直觀理解,教材將抽象的數(shù)學(xué)知識形象化,讓學(xué)生在觀察、實驗、猜測、驗證、推理和交流的活動中學(xué)習(xí)數(shù)學(xué)知識,體會數(shù)學(xué)學(xué)習(xí)的方法。
3、信息窗中的信息循環(huán)使用。信息窗中的信息循環(huán)使用是本單元教材編寫的又一特點。如信息窗1中的信息在解決信息窗2中的“2004年白鰭豚大約有多少只?”問題時,進行了循環(huán)使用;信息窗1中的信息又在解決信息窗3中的“人工養(yǎng)殖的大熊貓有多少只呢?”、“2003年基地有多少只東北虎?”兩個問題時進行循環(huán)使用。這樣,既使學(xué)習(xí)資源得到了充分利用,同時也體現(xiàn)了前后知識間的內(nèi)在聯(lián)系。
4、根據(jù)解決問題的需要安排知識結(jié)構(gòu)。
本單元知識結(jié)構(gòu)的編排,是遵循解決問題的需要而設(shè)置的,體現(xiàn)了數(shù)學(xué)知識學(xué)習(xí)的必要性。如:學(xué)生在解決信息窗2中的問題時,先列出了方程,同時產(chǎn)生了解方程的需要,順應(yīng)這種需要,教材先安排了等式性質(zhì)的知識,然后再解方程,呈現(xiàn)解決問題的真實過程,體現(xiàn)了學(xué)習(xí)方程知識的必要性。
(二)單元學(xué)與教建議
1、引導(dǎo)學(xué)生轉(zhuǎn)變思維方式。
在此之前,學(xué)生解題一般列“算術(shù)式”,通常稱之為“算術(shù)法”。本單元,首次學(xué)習(xí)用列方程的方法解題,這在思維方式上是一個大的轉(zhuǎn)變。用“算術(shù)法”解逆向思維的題目,難度比較大。而“方程法”則是把“未知數(shù)”看作是“已知數(shù)”,讓這個“已知數(shù)”也參與列式,將一道逆向思維的題目變成了順向思維的題目,大大降低了思維難度。因此,初學(xué)方程時,教師要注意引導(dǎo)學(xué)生實現(xiàn)由“算術(shù)思維”向“方程思維”的轉(zhuǎn)變。
2抓住列方程解題的關(guān)鍵。
列方程解決問題的關(guān)鍵是尋找等量關(guān)系,所以教學(xué)中教師要引導(dǎo)學(xué)生通過實例,進行有關(guān)找等量關(guān)系方面的練習(xí),突破列方程解題的難點。
3、加強操作活動,讓學(xué)生充分經(jīng)歷概念形成的過程。
要使學(xué)生真正理解方程的意義和等式的性質(zhì),絕不能單憑猜測和想象完成,應(yīng)該按教材的編寫意圖,借助天平讓學(xué)生親自參與操作和實驗,在經(jīng)歷天平由平衡→不平衡→平衡的動態(tài)過程中,加深對方程及等式意義的理解。
4、注意培養(yǎng)學(xué)生認真、仔細的學(xué)習(xí)習(xí)慣。
對計算結(jié)果進行檢驗,是一種良好的學(xué)習(xí)習(xí)慣,因此,在教學(xué)中,教師要注重引導(dǎo)學(xué)生掌握檢驗的方法,使學(xué)生逐步養(yǎng)成自覺檢驗的意識,并能夠通過檢驗及時對結(jié)果進行矯正。
5、本單元建議課時數(shù):9課時。
第三篇:verilog簡易數(shù)字頻率計報告
一、實驗原理
根據(jù)原理圖,將計數(shù)器模塊、顯示模塊、掃描模塊、譯碼器模塊等分別做出。其原理是在1S內(nèi)用待測信號給計數(shù)器計數(shù),并在一秒結(jié)束時給計數(shù)器清零,計出來用緩存器緩存,在數(shù)碼管中顯示出來。
二、方案論證
一、通過50M的時鐘進行計數(shù)獲得精密的1HZ——計數(shù)器用Verilog HDL語言實現(xiàn)在1HZ為底電平時計數(shù)——門控電路用或門開啟——1HZ為高電平時進行數(shù)據(jù)鎖存與顯示——利用Verilog HDL語言使前面的0不顯示。
計數(shù)器用Verilog HDL語言在寫代碼時可以用復(fù)制粘貼的方法可以簡便的實現(xiàn)。通過50M的時鐘進行計數(shù)獲得精密的1HZ后只是經(jīng)過很短的時間內(nèi)進行計數(shù)器的清零及數(shù)據(jù)的瑣存,并且得到的是1HZ的精密時鐘。把鎖存的數(shù)據(jù)進行清0的轉(zhuǎn)換后利用分時掃描,后通過數(shù)碼管譯碼顯示。
說明:
Cnt9999:0000~9999計數(shù)器; Buffer:鎖存器; Scan:掃描顯示 共8個模塊
三、實驗步驟
一、計數(shù)器模塊 計數(shù)器模塊的仿真波形
二、鎖存模塊
利用32位的D觸發(fā)器進行儲存計數(shù)器送給它的數(shù)據(jù)。在時鐘為上升沿的時候觸發(fā)保存數(shù)據(jù)。鎖存模塊的源代碼:
module buffer_32(clr,clear,in,out);input
clear,clr;input[31:0] in;output[31:0] out;reg[31:0]
out;always@(posedge clear or negedge clr)
if(!clr)out<=0;
//else if(clear)out=in;
else out<=in;
endmodule
三、轉(zhuǎn)化清零模塊 波形仿真波形
module cnt9999(clr,clk,q,c);
input clr,clk;output c;output [15:0]q;reg c;reg [15:0]q;
always @(posedge clk or negedge clr)begin
if(!clr)begin q[15:0]<=0;c<=1'b0;end
else if(q[15:0]==16'H9999)begin q[15:0]<=0;c<=1'b1;end
else if(q[11:0]==12'H999)begin q[15:0]<=q[15:0]+12'H667;c<=1'b0;end
else if(q[7:0]== 8'H99)begin q[15:0]<=q[15:0]+8'H67;c<=1'b0;end
else if(q[3:0]== 4'H9)begin q[15:0]<=q[15:0]+4'H7;c<=1'b0;end
else begin q[15:0]<=q[15:0]+1'b1;c<=1'b0;end end endmodule
四、掃描顯示模塊
把存儲的數(shù)據(jù)分別分給8個數(shù)碼管,利用循環(huán)掃描即可顯示出所要顯示的數(shù)據(jù)。
掃描顯示模塊的仿真波形
module scan(clk,q);input clk;output [2:0]q;reg
[2:0]q;
always @(posedge clk)
begin
q=q+1;
end
endmodule
四、引腳分配
五、實驗總結(jié)
頻率就是信號在1s內(nèi)發(fā)生相同變化的次數(shù),簡易頻率計就是基于這個原理設(shè)計的。我們先產(chǎn)生一個低電平為1s,高電平為1/50M秒的周期信號clk,用該信號與待測信號相與作為計數(shù)器的輸入時鐘,并把clk的上升沿作為緩存器的開關(guān),把clk的高電平作為計數(shù)器的清零信號,這樣就能保證緩沖器中存放的始終是待測信號在一秒內(nèi)的跳變次數(shù),也即待測信號的頻率。
實驗的原理盡管很清楚,但真正看到實驗現(xiàn)象還是經(jīng)歷了一番波折,在寫8選1數(shù)據(jù)選擇器的時候,定義模塊端口時,由于疏忽,把四位位寬漏寫成了1位,結(jié)果在數(shù)碼管上顯示的始終只有0和1兩種數(shù)字。為了改正這個錯誤,我把程序的主要模塊都檢查了一遍,結(jié)果不管怎么改實驗現(xiàn)象都沒有出來,這讓我郁悶了很長一段時間,原理明明是對的,為什么就沒有效果呢?最后我把整個程序都打印出來,一行一行地檢查,最后終于找到了癥結(jié)所在,就是8選1數(shù)據(jù)選擇器的位寬弄錯了!經(jīng)歷了這次錯誤,讓我明白了寫程序還是不能大意,8選1數(shù)據(jù)選擇器雖然簡單,卻因為位寬這個小小的錯誤讓我浪費了很長的時間,檢查錯誤時也因為其簡單而沒有認真對待。
第四篇:簡易留言板課程設(shè)計報告
武漢軟件工程職業(yè)學(xué)院
課程設(shè)計報告
2016-2017學(xué)第 二 學(xué)期
題目:
簡易留言板設(shè)計
姓名:
肖志超
班級:
網(wǎng)絡(luò)1502
系部:
計算機學(xué)院
指導(dǎo)教師:
梁曉雅
日期:2017年6月13日
[摘要]
在網(wǎng)絡(luò)網(wǎng)絡(luò)技術(shù)迅速發(fā)展以信息交流頻繁的今天,網(wǎng)絡(luò)應(yīng)用已經(jīng)滲透到人類社會的各個角落。作為網(wǎng)絡(luò)世界的支撐點的網(wǎng)站,更是人們關(guān)注的熱點:政府利用網(wǎng)站宣傳自己的施政綱領(lǐng),日益成為與百姓交流的直通車;企業(yè)利用網(wǎng)站宣傳自己的形象,進而挖掘無限商機;個人利用網(wǎng)站展示個性風(fēng)采,創(chuàng)建彼此溝通的橋梁。越來越多的網(wǎng)站建立了自己的004km.cnmand cmd = new SqlCommand(yh, conn);
if((int)cmd.ExecuteScalar()> 0){ string yhx = “admin”;string yhxx = “select count(*)from userinfo where uname='” + TextBox1.Text.Trim()+ “'and upwd='” + FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text.Trim(), “MD5”)+ “'and ulevel='” + yhx + “'”;SqlCommand cmd1 = new SqlCommand(yhxx, conn);if((int)cmd1.ExecuteScalar()> 0){ Session[“sf”] = “admin”;Session[“s”] = TextBox1.Text.Trim();} else { Session[“sf”] = TextBox1.Text.Trim();;} Response.Redirect(“xgxx.aspx”);} else { Response.Write(“”);}
}
protected void LinkButton1_Click(object sender, EventArgs e){
string yh = “select count(*)from userinfo where uname='” + TextBox1.Text.Trim()+ “'and upwd='”
+FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text.Trim(),“MD5”)+ “' ”;conn.Open();SqlCommand cmd = new SqlCommand(yh, conn);
if((int)cmd.ExecuteScalar()> 0){ Session[“uname”] = TextBox1.Text;
Response.Redirect(“l(fā)y.aspx”);} else { Response.Write(“”);}
}
4.2.新用戶注冊
在登錄頁面點擊注冊即可進入新用戶注冊頁面
核心代碼如下
static string Coonstr = System.Configuration.ConfigurationManager.ConnectionStrings[“coonstring”].ToString();SqlConnection conn = new SqlConnection(Coonstr);static int i = 1;protected void Page_Load(object sender, EventArgs e){ }
protected void LinkButton2_Click(object sender, EventArgs e){ Response.Redirect(“Default.aspx”);}
protected void LinkButton3_Click(object sender, EventArgs e){ string xyh = “select count(*)from userinfo where uname='” + TextBox1.Text.Trim()+ “'”;conn.Open();SqlCommand cmd = new SqlCommand(xyh, conn);
if((int)cmd.ExecuteScalar()> 0){ Label1.Text = “用戶名重復(fù)”;} else { Label1.Text = “可以使用的用戶名”;int i = 0;} }
protected void LinkButton1_Click(object sender, EventArgs e){
conn.Open();if(i!= 0){ string ss = “user”;//string cyh = “insert into userinfo values('” + TextBox1.Text + “','” + TextBox2.Text + “','” + TextBox4.Text + “','” + ss + “''” + DropDownList1.SelectedValue.ToString()+ “','” + FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox5.Text, “MD5”)+ “')”;string cyh = “insert into userinfo(uname,upwd,uemail,ulevel,uquestion,uanswer)values('” + TextBox1.Text + “','” + FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text, “MD5”)+ “','” + TextBox4.Text + “','” + ss + “','” + DropDownList1.SelectedValue.ToString()+ “','” + FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox5.Text, “MD5”)+ “')”;SqlCommand cmd = new SqlCommand(cyh, conn);int num = cmd.ExecuteNonQuery();if(num > 0){ Response.Write(“”);} else { Response.Write(“”);} } else { Response.Write(“”);}
}
4.3找回遺忘的密碼
在用戶登錄界面中輸入用戶名,單擊“忘記密碼”鏈接按鈕打開如圖所示的界面,程序根據(jù)用戶輸入的用戶名,在頁面中顯示注冊時填寫的安全問題,若用戶能正確回答安全問題答案,即可重置密碼
核心代碼如下
public partial class zhmm : System.Web.UI.Page { static string Coonstr = System.Configuration.ConfigurationManager.ConnectionStrings[“coonstring”].ToString();SqlConnection conn = new SqlConnection(Coonstr);protected void Page_Load(object sender, EventArgs e){ if(!IsPostBack){ Label1.Text = Convert.ToString(Session[“zhmm”]);if(Label1.Text==“"){ Response.Redirect(”Default.aspx“);}
DropDownList1.Items.Clear();conn.Open();this.DropDownList1.Items.Add(”“);string mm = ”select uquestion from userinfo where uname='“+Session[”zhmm“]+”'“;SqlCommand sql = new SqlCommand(mm, conn);SqlDataReader dr = sql.ExecuteReader();while(dr.Read()){ this.DropDownList1.Items.Add(dr[”uquestion“].ToString());}
}
}
protected void LinkButton1_Click(object sender, EventArgs e){ string m = ”select count(*)from userinfo where uname='“ + Session[”zhmm“] + ”'and uanswer='“ + FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text.Trim(), ”MD5“)+ ”'and uquestion='“ +DropDownList1.SelectedValue.ToString()+ ”'“;conn.Open();SqlCommand cmd = new SqlCommand(m, conn);
if((int)cmd.ExecuteScalar()> 0){ Response.Write(”“);} else { Response.Write(”“);} }
protected void LinkButton2_Click(object sender, EventArgs e){ Response.Redirect(”Default.aspx“);}
4.4.修改用戶信息
在用戶登錄頁面中輸入用戶名和密碼,單擊“修改用戶信息”鏈接按鈕講打開用戶管理頁面。管理員用戶可以使用頁面中的所有功能,而普通用戶只能修改自己的密碼,電子郵箱等信息。
核心代碼如下
public partial class xgxx : System.Web.UI.Page { static string Coonstr = System.Configuration.ConfigurationManager.ConnectionStrings[”coonstring“].ToString();SqlConnection conn = new SqlConnection(Coonstr);protected void Page_Load(object sender, EventArgs e){ if(!IsPostBack){ if((string)Session[”sf“] == ”admin“){ string dr = ”select uname ,uemail,ulevel from userinfo where ulevel='user'“;DropDownList1.Items.Clear();conn.Open();DropDownList1.Items.Add(Session[”sf“].ToString());DropDownList2.Items.Add(”admin“);SqlCommand sql = new SqlCommand(dr, conn);SqlDataReader dr1 = sql.ExecuteReader();while(dr1.Read()){ this.DropDownList1.Items.Add(dr1[”uname“].ToString());} conn.Close();
string drq = ”select uname ,uemail,ulevel from userinfo where ulevel='“ + Session[”s“] + ”'“;conn.Open();SqlCommand sq1l = new SqlCommand(drq, conn);SqlDataReader dr11 = sq1l.ExecuteReader();
while(dr11.Read()){ TextBox3.Text = dr11[”uemail“].ToString();
} } else { DropDownList1.Items.Add(Session[”sf“].ToString());DropDownList1.Enabled = false;DropDownList2.Items.Add(”user“);LinkButton2.Enabled = false;} } }
protected void LinkButton1_Click(object sender, EventArgs e){conn.Open();string cz = ”update userinfo set upwd='“
+FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text.Trim(),”MD5“)+ ”',uemail='“+TextBox3.Text.Trim()+”' where uname='“ + Session[”sf“] + ”'“;SqlCommand cmd = new SqlCommand(cz, conn);if((int)cmd.ExecuteNonQuery()> 0){ Response.Write(”“);} }
protected void LinkButton3_Click(object sender, EventArgs e){ Response.Redirect(”Default.aspx“);}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e){ TextBox3.Text = ”“;string yx = ”select uemail,ulevel from userinfo where uname='“+DropDownList1.SelectedValue.ToString()+”'“;conn.Open();DropDownList2.Items.Clear();SqlCommand sql = new SqlCommand(yx, conn);SqlDataReader dr1 = sql.ExecuteReader();while(dr1.Read()){ TextBox3.Text = dr1[”uemail“].ToString();DropDownList2.Items.Add(dr1[”ulevel"].ToString());}
}
五、總結(jié)
做課設(shè)讓我對ASP.NET有了新的認識,首先我接觸了很多上課見過見過但沒有實際用過的類和方法,讓我對編程有了許多新的思想。雖然系統(tǒng)的基本功能都已實現(xiàn),但還是存在系統(tǒng)不穩(wěn)定等多個問題尚待解決。這個系統(tǒng)主要是我自己開發(fā)的,但也得到了老師和同學(xué)的很大幫助。我正在做系統(tǒng)的過程中遇到了很多問題,有的是知識存儲不足,有的是考慮不夠周全,之所以能夠順利實現(xiàn)基本功功能,離不開老師和同學(xué)的大力相助。事實證明,只靠自己是不能順利完成一套功能完整的系統(tǒng)的,必須充分利用團隊的力量。開發(fā)一套系統(tǒng),最重要的是細心,并不是一定要做到面面俱到,但也要充分考慮到客戶的需求和現(xiàn)實意義,不管什么系統(tǒng),只用運用到實際應(yīng)用中,才具有先現(xiàn)實意義。所以在準(zhǔn)備工作中要正確分析社會需求了解現(xiàn)實應(yīng)用,畫出流程圖,把大體框架做好,然后再逐一細化。我們不可能做到面面俱到,但一定要做到步步扎實,作為一個程序編程人員,要保持清醒的頭腦,以現(xiàn)實為依據(jù),讓自己的每一行代碼都能實現(xiàn)自己的意義。通過這次課程設(shè)計,我收獲的不僅僅是課程上的知識得到實際應(yīng)用,還有編程的基本習(xí)慣和開發(fā)系統(tǒng)時應(yīng)注意的流程。這次課程設(shè)計本人主要參與了系統(tǒng)實現(xiàn)以及系統(tǒng)測試,還有參與小組共同完成的編寫代碼、實現(xiàn)功能模塊。歷時兩個星期終于在大家的一起努力下順利完成了。雖然過程辛苦是不可避免,但收獲還是令人感到尤其的欣慰。在這次的課程設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,也培養(yǎng)了我的實踐能力,讓我知道遇到一個問題,如何去尋找思路,如何去解決問題,最終完成整個事情。在設(shè)計過程中,與同學(xué)分工設(shè)計,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會了合作,學(xué)會了寬容,學(xué)會了理解,也學(xué)會了做人與處世。課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓(xùn)練,是我們邁向社會,從事職業(yè)工作前一個必不少的過程。實驗過程中,也十分感謝實驗指導(dǎo)老師馬駿老師的指點與教導(dǎo)。這次課程設(shè)計不僅是對這學(xué)期所學(xué)知識的一種綜合檢驗,而且也是對自己動手能力的一種提高,增強了自己實踐能力。通過這次課程設(shè)計使我明白了自己知識還比較欠缺,只是學(xué)習(xí)書本知識還是遠遠不夠的,自己不會的東西還有太多,學(xué)習(xí)需要自己長期的積累,在以后的學(xué)習(xí)、工作中都應(yīng)該不斷的學(xué)習(xí),將課本的理論知識與生活中的實踐知識相結(jié)合,不斷提高自己文化知識和實踐能力.參考文獻
常永英,ASP.NET程序設(shè)計教程(C#3)[M].北京:機械工業(yè)出版社,2007.常永英,ASP.NET程序設(shè)計教程(C#3)[M].上機指導(dǎo)與習(xí)題解答。北京:機械工業(yè)出版社,2007.崔淼.VisualC#2005程序設(shè)計教程[M]。北京:機械工業(yè)出版社,2007.張亞習(xí).精通ASP.NET3.5網(wǎng)絡(luò)開發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2009.Stephen Walther.ASP.NET3.5揭秘(卷1)[M].北京:人民郵電出版社,2009.Stephen Walther.ASP.NET3.5揭秘(卷2)[M].北京:人民郵電出版社,2009.劉瑞新.Visual Basic。NET程序設(shè)計教程[M].北京:機械工業(yè)出版社,2005.
第五篇:簡易示波器課程設(shè)計報告
課程設(shè)計報告
課程名稱 綜合電子設(shè)計 題 目 簡易數(shù)字示波器 指導(dǎo)教師 起止日期 系 別 自 動 化 專 業(yè) 自動控制 學(xué)生姓名 班級/學(xué)號 成 績
摘要
本系統(tǒng)由CPLD,單片機控制模塊,鍵盤,LED,幅度控制模塊,低通濾波模塊組 成,采用當(dāng)前主流DDS 技術(shù)完成,能產(chǎn)生從1HZ-260KHZ 正弦波,方波,三角波以及這三種同頻率波的線性組合,失真度限制在6%之內(nèi)。
一、功能介紹
1.具有產(chǎn)生正弦波、方波、三角波三種周期性波形的性能。
2.用鍵盤輸入編輯生成上述三種波形(同周期)的線性組合波形。
3.輸出波形頻率范圍為1Hz~200kHz(非正弦波頻率按10 次諧波計算;重復(fù)頻 率可調(diào),頻率步進間隔1Hz。)
4.輸出波形幅度范圍 0~5V(峰-峰值),可按步進為0.1V(峰-峰值)。5.具有顯示輸出波形種類、重復(fù)頻率(周期)和幅度的功能。
6.增加穩(wěn)幅輸出功能,當(dāng)負載變化時,輸出電壓幅度變化不大于±3%(負載變 化范圍:100Ω~∞)。
二、方案論證與比較
常見信號源的制作方法有: 方案一:采用鎖相式頻率合成。將一個高穩(wěn)定度和高精確度的標(biāo)準(zhǔn)頻率經(jīng)過加減 乘除的運算產(chǎn)生同樣穩(wěn)定度的大量離散頻率技術(shù),它在一定程度上既要頻率穩(wěn)定精確,又要頻率在很大范圍內(nèi)可變的矛盾。但頻率受VCO 可變頻率范圍的影響,高低頻率比不可能做的很高,而且只能產(chǎn)生方波和正弦波。
方案二:采用模擬奮力元件或單片壓控函數(shù)發(fā)生器MAX0832,可產(chǎn)生正弦波,方 波,三角波,通過調(diào)整外部元件可改變輸出頻率,但采用模擬器件由于元件分散性太大,即使使用單片函數(shù)發(fā)生器,參數(shù)也與外部元件有關(guān),外接的電阻電容對參數(shù)影響很大,不能實現(xiàn)波形運算輸出等智能化的功能。
方案三:采用DDFS,即直接數(shù)字頻率合成技術(shù),以Nyquist 時域采樣原理為基礎(chǔ),在時域中進行頻率合成,它可以快速轉(zhuǎn)換頻率,頻率,相位,幅度都可以實現(xiàn)程控,便于單片機控制,所以,本系統(tǒng)采用此方案。
三、系統(tǒng)設(shè)計
系統(tǒng)總體設(shè)計方框圖:
系統(tǒng)設(shè)計方案:
1、實現(xiàn)A/D芯片的模數(shù)轉(zhuǎn)換功能,通過keil的watch窗口觀察ADC0讀取的數(shù)據(jù)的變化。
2、設(shè)置合適的采樣頻率和采樣時間,對輸入信號進行連續(xù)采樣,對規(guī)定時間內(nèi)的采樣結(jié)果進行存儲。
3、對已有數(shù)據(jù)進行D/A轉(zhuǎn)換,實現(xiàn)數(shù)字量到模擬量的變化,并在示波器上顯示結(jié)果。
4、添加單次按鍵觸發(fā)等功能,實現(xiàn)在滿足觸發(fā)條件后,對一個采樣周期內(nèi)的輸入進行存儲和連續(xù)顯示。
5、增加1通道輸入,實現(xiàn)雙蹤示波。
6、綜合上述情況實現(xiàn)完整的數(shù)字雙蹤示波器。
四、單元電路設(shè)計及其初始化
1.ADC0電路的設(shè)計
初始化程序為:
void ADC0_Init(void){ ADC0CN = 0x05;// ADC0 T3定時采樣,左對齊 REF0CN = 0x03;// 啟用內(nèi)部基準(zhǔn)源
AMX0CF=0x00;// 選擇采樣輸入源 ADC0CF =((SYSCLK/2500000)-1)<< 3;// ADC conversion clock = 2.5MHz ADC0CF &= 0xf8;ADC0GTH=0Xff;ADC0GTL=0Xff;ADC0LTH=0X00;ADC0LTL=0X00;// PGA gain = 2 EIE2 |= 0x02;// 啟用 ADC 中斷 }
采用數(shù)據(jù)左對齊存儲方式。由0端口輸入。T3定時器啟動,當(dāng)T3溢出時啟動ADC0。轉(zhuǎn)換結(jié)束時產(chǎn)生15號中斷。執(zhí)行中斷程序。2.DAC電路的設(shè)計
初始化程序:
void DAC0_Init(void){ DAC0CN = 0x82;} void DA0_Out(unsigned int con_volt){ con_volt=con_volt<<2;DAC0L=con_volt%256;DAC0H=con_volt/256;}
其中控制字DAC0CN說明如下:采用更新于寫入DAC0H時,數(shù)據(jù)格式為高八位的低六位和低八為的高六位。
五、軟件設(shè)計
1.軟件流程圖:
開始系統(tǒng)初始化掃描鍵盤循環(huán)掃描否定時器3是否溢出是啟動ADC015號中斷ADC數(shù)據(jù)采集DAC數(shù)據(jù)輸出輸出結(jié)束
3.相關(guān)程序及其功能
AD DA轉(zhuǎn)換
#include
void SYSCLK_Init(void);void ADC0_Init(void);void Timer3_Init(int counts);void ADC0_ISR(void);void DA0_Out(unsigned int con_volt);void DAC0_Init();uchar int_dec=INT_DEC;uchar tt=0;void main(void){ WDTCN = 0xde;WDTCN = 0xad;SYSCLK_Init();Timer3_Init(SYSCLK/SAMPLE_RATE);ADC0_Init();AD0EN = 1;DAC0_Init();EA = 1;while(1){
} } void SYSCLK_Init(void)
// 配置系統(tǒng)時鐘使用外部晶振22.1184MHz { int i;OSCXCN = 0x67;// 晶體振蕩器未用,晶體振蕩器方式 for(i=0;i < 256;i++);// XTLVLD blanking interval(>1ms)while(!(OSCXCN & 0x80));// Wait for crystal osc.to settle OSCICN = 0x88;// 選擇外部振蕩器作為系統(tǒng)時鐘,內(nèi)部振蕩器禁止 } void ADC0_Init(void){ ADC0CN = 0x06;// ADC0 T3定時采樣,左對齊 REF0CN = 0x03;// 啟用內(nèi)部基準(zhǔn)源 AMX0SL = 0x00;// 選擇采樣輸入源0 ADC0CF =(SYSCLK/2500000)<< 3;// ADC conversion clock = 2.5MHz ADC0CF|= 0x00;ADC0LTH= 0x00;ADC0LTL= 0x00;ADC0GTH= 0xFF;ADC0GTL= 0xFF;EIE2 |= 0x02;// 啟用 ADC 中斷 } void DAC0_Init(void){ DAC0CN = 0x80;} void DA0_Out(unsigned int con_volt){ unsigned char hbyte,lbyte;
hbyte=con_volt/256;lbyte=con_volt%256;DAC0L=lbyte;DAC0H=hbyte;} void Timer3_Init(int counts){ TMR3CN = 0x02;TMR3RL =-counts;TMR3 = 0xffff;EIE2 &= ~0x01;TMR3CN |= 0x04;} void ADC0_ISR(void)interrupt 15 { AD0INT = 0;int_dec--;if(int_dec == 0){ int_dec =INT_DEC;DA0_Out(ADC0);} }
六、設(shè)計結(jié)果
1.對原溫度采集程序進行修改完成對信號的采集,以下分別為對于方波、三角波及正弦波的信號采集。
2.加入單次觸發(fā)程序后,可進行按鍵觸發(fā):(以正弦波為例)
按下采樣鍵K5前 按下采樣鍵K5后
3.加入回放功能鍵K5,可實現(xiàn)在采樣之后,進行波形回放(以正弦波為例)首先按下K5鍵得到正弦采樣信號如圖:
然后按下K2鍵得到回放波形如圖:
(由于采樣頻度與周期等問題,回放波形有失真顯現(xiàn))經(jīng)程序調(diào)整后得到:
更接近采樣波形
4.完成雙蹤示波的采集,見圖。
5將雙蹤示波與觸發(fā)脈沖結(jié)合起來,完成對于雙蹤信號的采集、存儲及回放,原始信號為三角波和方波。
按鍵k5對信號進行采樣存儲 按鍵k2對三角信號進行回放
按鍵k3恢復(fù)信號采集初始狀態(tài)(等待采集信號)
七、心得體會
通過本次設(shè)計我進一步了解數(shù)字示波器的基本控制原理,掌握了怎樣利用C8051F020開發(fā)板實現(xiàn)一個簡易數(shù)字示波器的設(shè)計與制作以及處理器C8051F020芯片的應(yīng)用,多通道ADC采集功能等應(yīng)用技術(shù)。本次課程設(shè)計所設(shè)計的是基于C8051F020芯片,通過軟硬件結(jié)合實現(xiàn)普通示波器顯示被測波形的簡易數(shù)字示波器。能完成對ADC0的0通道和1通道的信號的分時或同時采集(高電平約2V、低電平接近0V)并且對采集的信號通過DAC0和DAC1兩個輸出口同時輸出實現(xiàn)雙蹤示波器功能。另增加單次觸發(fā)存儲顯示方式,即每按動一次“單次觸發(fā)”鍵,儀器在滿足觸發(fā)條件時,能對被測周期信號或單次非周期信號進行一次采集與存儲,然后通過其他觸發(fā)鍵觸發(fā)信號的回放,觀測波形無明顯失真。
由于時間和硬件條件關(guān)系沒有把做出LCD液晶顯示示波器有點遺憾,不過我從網(wǎng)絡(luò)上搜索了有關(guān)資料,對其也有了一定的了解。
八、參考文獻
[1] 潘琢金【譯】.《C8051F020/1/2/3混合信號ISP FLASH微控制器數(shù)據(jù)手冊》
九、附錄
1、元器件清單
(1)MCU 為美國Silabs 公司C8051F020,64KB FLASH、(4096+256)B RAM、最高25MIPS 執(zhí)行速度;
(2)4 路12 位AD 輸入,AIN1 到AIN4 輸入信號量程0~+2.4V ;(3)2 路12 位DA 輸出,輸出信號量程0~+2.4V;(4)1 路標(biāo)準(zhǔn)RS232 通訊接口;(5)1 個16X2LCD 接口;(6)1 個128X64LCD 接口;(7)1 個復(fù)位鍵,4 個按鍵;(8)JTAG 調(diào)試接口;(9)外擴總線接口;
(10)C8051F020 上的資源對用戶開放。
2、程序清單
/*************************************************************** 功能:實現(xiàn)ADC信號采樣和DAC信號輸出 用外部基準(zhǔn):
J7 NC 2 內(nèi)部VREF 外部VREF 3 4 內(nèi)部DAC工作基準(zhǔn)輸入
外部VREF 5---6 內(nèi)部ADC0工作基準(zhǔn)輸入
外部VREF 7 8 內(nèi)部ADC1工作基準(zhǔn)輸入 或用內(nèi)部基準(zhǔn):
J7 NC 2-內(nèi)部VREF 外部VREF 3 4 | 內(nèi)部DAC工作基準(zhǔn)輸入
外部VREF 5 6-內(nèi)部ADC0工作基準(zhǔn)輸入
外部VREF 7 8 內(nèi)部ADC1工作基準(zhǔn)輸入
***************************************************************/ #include
#define BAUDRATE 115200 // Baud rate of UART in bps #define SYSCLK 22118400 // 系統(tǒng)晶振頻率(Hz)#define SAMPLE_RATE 100000 // Sample frequency in Hz void SYSCLK_Init(void);void PORT_Init(void);void ADC0_Init(void);void Timer3_Init(int counts);void ADC0_ISR(void);void DAC0_Init(void);void DAC1_Init(void);void DA1_Out(unsigned int con_volt);void DA0_Out(unsigned int con_volt);long xdata NCDdata [510];int i=0,j=0,y =0,z=0,x=0,n,k=0,c=0,d,f,m;long a,b;
long result;void main(void){ WDTCN = 0xde;// 看門狗 WDTCN = 0xad;SYSCLK_Init();// initialize oscillator PORT_Init();// initialize crossbar and GPIO Timer3_Init(SYSCLK/SAMPLE_RATE);// initialize Timer3 to overflow at
// sample rate ADC0_Init();// init ADC DAC0_Init();DAC1_Init();AD0EN = 1;// enable ADC EA = 1;while(1){
if(P31==0)
//K5循環(huán)掃描
{ for(m=0;m<11;m++);if(P31==0){
f=1;DAC0CN = 0x02;x=0;} } if(P33==0)
//K3循環(huán)掃描
{ for(m=0;m<11;m++);if(P33==0){ y=1;DAC0CN = 0x82;} }
if(P34==0)
//K2循環(huán)掃描
{ for(m=0;m<11;m++);if(P34==0){ k=1;c=0;DAC0CN = 0x82;} } } }
//---------------// SYSCLK配置
//---------------// 配置系統(tǒng)時鐘使用外部晶振22.1184MHz void SYSCLK_Init(void){ int i;// delay counter OSCXCN = 0x67;// start external oscillator with
// 22.1184MHz crystal for(i=0;i < 256;i++);// XTLVLD blanking interval(>1ms)while(!(OSCXCN & 0x80));// Wait for crystal osc.to settle OSCICN = 0x88;// select external oscillator as SYSCLK
// source and enable missing clock
// detector } //---------------// PORT配置
//---------------void PORT_Init(void){ XBR0 = 0x04;// Enable UART0 XBR1 = 0x00;XBR2 = 0x40;// Enable crossbar and weak pull-ups P0MDOUT |= 0x01;// enable TX0 as a push-pull output P2MDOUT = 0xff;// P2口設(shè)為推挽方式 P3MDOUT = 0xe0;// P3口設(shè)為推挽方式 } //---------------// ADC0配置,T3定時啟動ADC //---------------void ADC0_Init(void){ ADC0CN = 0x05;// ADC0 T3定時采樣,左對齊 REF0CN = 0x03;// 啟用內(nèi)部基準(zhǔn)源 AMX0CF=0x00;// 選擇采樣輸入源
ADC0CF =((SYSCLK/2500000)-1)<< 3;// ADC conversion clock = 2.5MHz ADC0CF &= 0xf8;ADC0GTH=0Xff;ADC0GTL=0Xff;ADC0LTH=0X00;ADC0LTL=0X00;// PGA gain = 2 EIE2 |= 0x02;// 啟用 ADC 中斷 } //---------------// Timer3配置,T3定時啟動ADC //---------------void Timer3_Init(int counts){ TMR3CN = 0x02;TMR3RL =-counts;TMR3 = 0xffff;EIE2 &= ~0x01;//定時器3中斷屏蔽。TMR3CN |= 0x04;} //---------------// ADC0采樣中斷
//---------------void ADC0_ISR(void)interrupt 15 { AD0INT = 0;// 清 ADC 中斷標(biāo)志位 result=ADC0;if(AMX0SL==0x00)a=result;else b=result;DA1_Out(b);//DAC1輸出通道1采集的數(shù)據(jù)
if(f==0)DA0_Out(a);else { NCDdata[x]=a;if(x<500)x++;if(x==500){ if(k==1&&c<400){ DA0_Out(NCDdata[c]);if(c<400)c++;}
else DAC0CN = 0x02;} if(y==1){k=0;f=0;y=0;} } if(AMX0SL==0x00)AMX0SL=0x01;//改變采樣輸入源 else AMX0SL=0x00;} //---------------// DAC0配置
//---------------void DAC0_Init(void){ DAC0CN = 0x82;// Enable DAC0 in left-justified mode
// managed by Timer4 overflows } //---------------// DAC1配置
//---------------void DAC1_Init(void){ DAC1CN = 0x82;// Enable DAC0 in left-justified mode
// managed by Timer4 overflows } //---------------// DAC輸出數(shù)據(jù)處理
//---------------void DA0_Out(unsigned int con_volt){ con_volt=con_volt<<2;DAC0L=con_volt%256;DAC0H=con_volt/256;}
void DA1_Out(unsigned int con_volt){
con_volt=con_volt<<2;DAC1L=con_volt%256;DAC1H=con_volt/256;}
3、系統(tǒng)功能說明:
當(dāng)沒有按鍵的時候系統(tǒng)為完整的雙蹤示波器,能對雙通道的輸入輸出進行分別采樣和輸出。當(dāng)K5按下的時候,DAC0屏蔽,系統(tǒng)開始將數(shù)據(jù)采集后存放于設(shè)定的數(shù)組當(dāng)作,此時當(dāng)K2鍵按下的時候系統(tǒng)使能DAC0,輸出存儲在數(shù)組中的采集好的數(shù)據(jù),當(dāng)數(shù)據(jù)輸出完成的時候關(guān)閉DAC0。當(dāng)按下K3時,系統(tǒng)還原到初始狀態(tài)(雙蹤示波)。