版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 片上系統(tǒng)技術(shù)課程設(shè)計(jì)</p><p> 題 目: 數(shù)碼管的顯示 </p><p> 學(xué) 號(hào): </p><p> 姓 名: </p><p> 班 級(jí): <
2、/p><p> 教 師: </p><p> 日 期: </p><p><b> 目錄</b></p><p> 一.實(shí)驗(yàn)前的準(zhǔn)備3</p><p><b> 二.實(shí)驗(yàn)?zāi)康?</b>
3、;</p><p><b> 三.實(shí)驗(yàn)設(shè)備3</b></p><p><b> 四.實(shí)驗(yàn)內(nèi)容3</b></p><p><b> 五.實(shí)驗(yàn)原理3</b></p><p><b> 六.管腳分配4</b></p><p&g
4、t;<b> 七.實(shí)驗(yàn)步驟4</b></p><p> 八.實(shí)驗(yàn)原理圖:5</p><p> 九.實(shí)驗(yàn)程序代碼:6</p><p> ?。?)CH452_I2C.h代碼6</p><p> (2)Define.h代碼8</p><p> ?。?)key.h代碼10</p&
5、gt;<p> ?。?)Key.c代碼10</p><p> (5)Seven_seg.c代碼12</p><p> 十.結(jié)果分析:15</p><p> 十一.個(gè)人體會(huì)與總結(jié):16</p><p><b> 一.實(shí)驗(yàn)前的準(zhǔn)備</b></p><p> 打開實(shí)驗(yàn)箱開
6、關(guān),連接好JTAG下載線,將開發(fā)平臺(tái)上的MODUL_SEL組合開關(guān)的1、2、7撥上,3、4、5、6、8撥下,使兩個(gè)共陽(yáng)極數(shù)碼管顯示為C2。</p><p><b> 二.實(shí)驗(yàn)?zāi)康?lt;/b></p><p> (1)熟悉并學(xué)習(xí)運(yùn)用I2C總線的讀寫方式。</p><p> ?。?)運(yùn)用CH452芯片的數(shù)碼管顯示功能,熟悉兩線制訪問CH452芯片的
7、工作原理。</p><p><b> 三.實(shí)驗(yàn)設(shè)備</b></p><p><b> 硬件:PC機(jī)</b></p><p> GX-CIDE-SOC/SOPC綜合創(chuàng)新開發(fā)實(shí)驗(yàn)平臺(tái)</p><p> GX-CIDE-SOC/SOPC綜合創(chuàng)新開發(fā)實(shí)驗(yàn)平臺(tái)核心板</p><p&
8、gt; 軟件:Quartus II 8.0</p><p> Nios II 8.0</p><p><b> 四.實(shí)驗(yàn)內(nèi)容</b></p><p> 用七段數(shù)碼管前三位顯示000-999,計(jì)數(shù)周期為1s;按F1進(jìn)行加1操作并用數(shù)碼管顯示。按F2計(jì)數(shù)停止,并顯示當(dāng)前數(shù)。按F3進(jìn)行減1操作;當(dāng)數(shù)從000-999時(shí)再加1變?yōu)?00;當(dāng)數(shù)從9
9、99-000時(shí)再減1變?yōu)?99。</p><p><b> 五.實(shí)驗(yàn)原理</b></p><p> 根據(jù)I2C總線時(shí)序要求,對(duì)CH452進(jìn)行操作,送地址,送控制字,送數(shù)據(jù)。數(shù)碼管顯示是以BCD譯碼方式顯示。</p><p><b> 六.管腳分配</b></p><p><b>
10、七.實(shí)驗(yàn)步驟</b></p><p> ?。?)打開Quartus II 8.0,打開工程cide_c2,進(jìn)行SOPC操作,裁剪所需要的內(nèi)容,綜合一下再分配管腳。</p><p> ?。?)啟動(dòng)Nios II IDE并新建一個(gè)空白C/C++工程,命名為smm,在SOPC Builder System中選擇之前建立好的硬件系統(tǒng)cide_c2.ptf。</p><
11、;p> ?。?)轉(zhuǎn)換工程路徑,將提供的參考程序seven_seg.c,CH452_I2C.h,define.h加入到建立好的Nios II工程中,修改程序代碼符合實(shí)驗(yàn)要求。</p><p> (4)在System Library設(shè)置頁(yè)中,把程序和數(shù)據(jù)區(qū)都指定為sdram。</p><p> (5)在Quartus II中下載文件,編譯整個(gè)工程,查找語(yǔ)法錯(cuò)誤。</p>
12、<p> (6)全速運(yùn)行程序,按下按鍵觀察數(shù)碼管的顯示。</p><p><b> 八.實(shí)驗(yàn)原理圖:</b></p><p><b> 九.實(shí)驗(yàn)程序代碼:</b></p><p> ?。?)CH452_I2C.h代碼</p><p> #include "system.
13、h"</p><p> #include "altera_avalon_pio_regs.h"</p><p> #include "alt_types.h"</p><p> #include "priv/alt_busy_sleep.h"</p><p> #i
14、nclude <stdio.h></p><p> #include "sys/alt_irq.h"</p><p> #include "define.h"</p><p> void CH452_I2c_Start_2(void) // 操作起始,兩線制方式,SDA用做中斷輸出,使用以下兩個(gè)函數(shù)&l
15、t;/p><p><b> {</b></p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SDA_BASE, 1);</p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SCL_BASE, 1);</p><p> IO
16、WR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SDA_BASE, 1);</p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 1);</p><p> usleep(5); </p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SDA_BAS
17、E, 0);</p><p> usleep(5); </p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 0);</p><p> //usleep(3);</p><p><b> }</b></p><p> void CH
18、452_I2c_Stop_2(void) // 操作結(jié)束</p><p><b> {</b></p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SDA_BASE, 1);</p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SCL_BAS
19、E, 1); </p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SDA_BASE, 0);</p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 1);</p><p> usleep(5); </p><p> IOWR_ALTER
20、A_AVALON_PIO_DATA(SEG_KEY_SDA_BASE, 1);</p><p> usleep(5);</p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 0) ;</p><p><b> }</b></p><p> void ack(
21、)//確認(rèn)</p><p><b> {</b></p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SDA_BASE, 0);</p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SCL_BASE, 1); </p>&
22、lt;p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SDA_BASE, 0);</p><p> usleep(5); </p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 1);</p><p> usleep(5); </p><p&g
23、t; IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 0);</p><p><b> }</b></p><p> void CH452_I2c_WrByte(unsigned char dat) //寫一個(gè)字節(jié)數(shù)據(jù)</p><p><b> {</b></p&
24、gt;<p> unsigned char temp_number;</p><p> unsigned char i;</p><p> int delay;</p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SDA_BASE, 1);</p><p> IOWR_
25、ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SCL_BASE, 1); </p><p> for(i=0;i<8;i++){</p><p> temp_number=dat>>7; </p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 0);</p
26、><p> usleep(5);</p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SDA_BASE, temp_number);</p><p> for (delay=0;delay<5;delay++); </p><p> IOWR_ALTERA_AVALON_PIO_DATA(SE
27、G_KEY_SCL_BASE, 1);</p><p> dat=dat<<1;</p><p><b> }</b></p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 0);</p><p><b> }</b><
28、;/p><p> unsigned char CH452_I2c_RdByte(void) //讀一個(gè)字節(jié)數(shù)據(jù)</p><p><b> {</b></p><p> unsigned char i=8;</p><p> unsigned char DATA_received=0; </p>
29、<p> int delay; </p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SDA_BASE, 0);</p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SCL_BASE, 1); </p><p> while (i--){</
30、p><p> DATA_received<<=1;</p><p> IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 0);</p><p> usleep(5);</p><p> for(delay=0;delay<5;delay++);</p><p&
31、gt; IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 1);</p><p> DATA_received|=IORD_ALTERA_AVALON_PIO_DATA(SEG_KEY_SDA_BASE);</p><p><b> }</b></p><p> IOWR_ALTERA_AVAL
32、ON_PIO_DATA(SEG_KEY_SCL_BASE, 0);</p><p> return DATA_received; </p><p><b> }</b></p><p> void CH452_Write(unsigned short cmd) //寫命令</p><p><b>
33、 {</b></p><p> CH452_I2c_Start_2(); /*啟動(dòng)總線*/</p><p> #ifdef ENABLE_2_CH452 // 若有兩個(gè)CH452并連</p><p> CH452_I2c_WrByte((unsigned char)(cmd>>7)&C
34、H452_I2C_MASK|CH452_I2C_ADDR0); // CH452的ADDR=0時(shí)</p><p><b> #else </b></p><p> CH452_I2c_WrByte((unsigned char)(cmd>>7)&CH452_I2C_MASK|CH452_I2C_ADDR1); // CH452的ADDR=1
35、時(shí)(默認(rèn))</p><p><b> #endif</b></p><p><b> ack();</b></p><p> CH452_I2c_WrByte((unsigned char)cmd); /*發(fā)送數(shù)據(jù)*/</p><p><b> ack();</b&g
36、t;</p><p> CH452_I2c_Stop_2(); /*結(jié)束總線*/ </p><p><b> }</b></p><p> unsigned char CH452_Read(void) //讀取按鍵</p><p><b> {</b>&
37、lt;/p><p> unsigned char keycode;</p><p> CH452_I2c_Start_2(); /*啟動(dòng)總線*/</p><p> CH452_I2c_WrByte((unsigned char)(CH452_GET_KEY>>7)&CH452_I2C_MASK|0x01|CH452
38、_I2C_ADDR1); // 若有兩個(gè)CH452并連,當(dāng)ADDR=0時(shí),需修改為CH452_I2C_ADDR0</p><p><b> ack();</b></p><p> keycode=CH452_I2c_RdByte(); /*讀取數(shù)據(jù)*/</p><p><b> ack();</b>&
39、lt;/p><p> CH452_I2c_Stop_2(); /*結(jié)束總線*/ </p><p> return(keycode);</p><p><b> }</b></p><p> ?。?)Define.h代碼</p><p> #ifndef _DEFI
40、NE_H_</p><p> #define _DEFINE_H_</p><p> #endif //_DEFINE_H_</p><p> #define CH452_NOP 0x0000 // 空操作</p><p> #define CH452_RESET 0x0201 // 復(fù)
41、位</p><p> #define CH452_LEVEL 0x0100 // 加載光柱值</p><p> #define CH452_CLR_BIT 0x0180 // 段位清0</p><p> #define CH452_SET_BIT 0x01C0 // 段位置1</p>&l
42、t;p> #define CH452_SLEEP 0x0202 // 進(jìn)入睡眠狀態(tài)</p><p> #define CH452_LEFTMOV 0x0300 //設(shè)置移動(dòng)方式-作移</p><p> #define CH452_LEFTCYC 0x0301 //設(shè)置移動(dòng)方式-左循<
43、/p><p> #define CH452_RIGHTMOV 0x0302 //設(shè)置移動(dòng)方式-右移</p><p> #define CH452_RIGHTCYC 0x0303 //設(shè)置移動(dòng)方式-右循 </p><p> #define CH452_SELF_BCD 0x0380
44、//自定義BCD碼</p><p> #define CH452_SYSOFF 0x0400 //關(guān)顯示、鍵盤</p><p> #define CH452_SYSON1 0x0401 //開顯示</p><p> #define CH452_SYSON2 0x0403 //開顯示、鍵盤&
45、lt;/p><p> #define CH452_SYSON2W 0x0423 //開顯示、鍵盤, 真正2線接口</p><p> #define CH452_DSP 0x0500 //設(shè)置默認(rèn)顯示方式</p><p> #define CH452_BCD 0x0580 //設(shè)置BC
46、D譯碼方式</p><p> #define CH452_TWINKLE 0x0600 //設(shè)置閃爍控制</p><p> #define CH452_GET_KEY 0x0700 // 獲取按鍵</p><p> #define CH452_DIG5 0x0d00 // 數(shù)碼
47、管位5顯示,需另加8位數(shù)據(jù)</p><p> #define CH452_DIG6 0x0e00 // 數(shù)碼管位6顯示,需另加8位數(shù)據(jù)</p><p> #define CH452_DIG7 0x0f00 // 數(shù)碼管位7顯示,需另加8位數(shù)據(jù)</p><p> #define CH452_
48、SCL_SET {IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 1);}</p><p> #define CH452_SCL_CLR {IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 0);}</p><p> #define CH452_SDA_SET {IOWR_ALTE
49、RA_AVALON_PIO_DATA(SEG_KEY_SDA_BASE, 1);}</p><p> #define CH452_SDA_CLR {IOWR_ALTERA_AVALON_PIO_DATA(SEG_KEY_SCL_BASE, 0);}</p><p> #define CH452_SDA_IN (IORD_ALTERA_AVALON_PIO_DATA(S
50、EG_KEY_SDA_BASE);)</p><p> #define CH452_SDA_D_OUT {IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SDA_BASE, 1);} // 設(shè)置SDA為輸出方向,對(duì)于雙向I/O需切換為輸出</p><p> #define CH452_SDA_D_IN {IOWR_ALT
51、ERA_AVALON_PIO_DIRECTION(SEG_KEY_SDA_BASE, 0);} // 設(shè)置SDA為輸入方向,對(duì)于雙向I/O需切換為輸入</p><p> #define CH452_SCL_D_OUT {IOWR_ALTERA_AVALON_PIO_DIRECTION(SEG_KEY_SCL_BASE, 1);} // 設(shè)置SCL為輸出方向,對(duì)于雙向I/O需切換為輸出&l
52、t;/p><p> #define CH452_I2C_ADDR1 0x60 // CH452的ADDR=1時(shí)的地址,默認(rèn)值</p><p> #define CH452_I2C_MASK 0x3E // CH452的2線接口高字節(jié)命令掩碼</p><p> alt_u8 flag;
53、 //隊(duì)列放滿標(biāo)志</p><p> alt_u32 key_value;//存儲(chǔ)鍵盤值</p><p> (3)key.h代碼</p><p> #ifndef _KEY_H_</p><p> #define _KEY_H_</p><p> #include "alt_types
54、.h"</p><p> #define KEY1_MASK 0x01//0xfe</p><p> #define KEY2_MASK 0x02//0xfd</p><p> #define KEY3_MASK 0x04//0xfb</p><p> #define KEY4_MASK 0x08//0xf7</p&g
55、t;<p> #define KEY5_MASK 0x10//0xef</p><p> #define KEY6_MASK 0x20//0xdf</p><p> #define KEY7_MASK 0x40//0xbf</p><p> #define KEY8_MASK 0x80//0x7f</p><p> #
56、define KEY1 1</p><p> #define KEY2 2</p><p> #define KEY3 3</p><p> #define KEY4 4</p><p> #define KEY5 5</p><p> #define KEY6 6</p><p>
57、 #define KEY7 7</p><p> #define KEY8 8</p><p> #define NO_KEY 0xff</p><p> #define KEY_TIMEOUT 0xfe </p><p> extern alt_u32 KeyPIOInit(void);</p><
58、;p> extern alt_u8 GetKeyValue(void);</p><p> extern void KeyIntEnable(void);</p><p> extern void KeyIntDisable(void);</p><p> #endif //_KEY_H_</p><p> ?。?)Key.c代
59、碼</p><p> #include "system.h"</p><p> #include <stdio.h></p><p> #include "altera_avalon_pio_regs.h"</p><p> #include "alt_types.
60、h"</p><p> #include "sys/alt_irq.h"</p><p> #include "key.h"</p><p> #define BUF_SIZE 10</p><p> alt_u32 done = 0; //
61、 信號(hào)量:通知外部中斷事件發(fā)生</p><p> static alt_u8 key_value;</p><p> static void KeyDownISR(void* context, alt_u32 id);</p><p> static void KeyDownISR(void* context, alt_u32 id)</p>
62、;<p><b> { </b></p><p> /* clear capture register */</p><p> IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE,0);</p><p> /* Get the key value */</p>
63、<p> key_value = IORD_ALTERA_AVALON_PIO_DATA(BUTTON_PIO_BASE); </p><p><b> done++; </b></p><p><b> }</b></p><p> alt_u32 KeyPIOInit(void)</p>
64、;<p><b> {</b></p><p> //initialize the KEY_PIO direction as input </p><p> IOWR_ALTERA_AVALON_PIO_DIRECTION(BUTTON_PIO_BASE, 0x00); //the direction is input</p><
65、;p> IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_BASE, 0xff); //enable interrupts</p><p> IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE, 0x00); //clear capture register</p><p> //registe
66、r keydown ISR</p><p> return alt_irq_register(BUTTON_PIO_IRQ, NULL, KeyDownISR);</p><p><b> }</b></p><p> void KeyIntEnable(void)</p><p><b> {<
67、/b></p><p> IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_BASE, 0xff); //enable interrupts</p><p><b> }</b></p><p> void KeyIntDisable(void)</p><p><b
68、> {</b></p><p> IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_BASE, 0x00); //disable interrupts</p><p><b> }</b></p><p> alt_u8 GetKeyValue(void)</p>&l
69、t;p><b> {</b></p><p> alt_u8 value;</p><p> alt_u8 err;</p><p> if(0 != done) </p><p><b> {</b></p><p> /* 中斷事件數(shù)量減1 */<
70、;/p><p><b> done--;</b></p><p> value = key_value;</p><p> key_value = 0; //clear key_value</p><p><b> }</b></p><p><b>
71、else</b></p><p> value = 0xff;</p><p> //the highest priority of key is key1</p><p> //the lowest priority of key is key8</p><p> if((value&KEY1_MASK) ==
72、0)</p><p> return KEY1;</p><p> else if((value&KEY2_MASK) == 0)</p><p> return KEY2;</p><p> else if((value&KEY3_MASK) == 0)</p><p> return KE
73、Y3;</p><p> else if((value&KEY4_MASK) == 0)</p><p> return KEY4;</p><p> else if((value&KEY5_MASK) == 0)</p><p> return KEY5;</p><p> else if(
74、(value&KEY6_MASK) == 0)</p><p> return KEY6;</p><p> else if((value&KEY7_MASK) == 0)</p><p> return KEY7;</p><p> else if((value&KEY8_MASK) == 0)</p&
75、gt;<p> return KEY8; </p><p><b> else</b></p><p> return NO_KEY;</p><p><b> }</b></p><p> ?。?)Seven_seg.c代碼</p><p> /*
76、****************************************************</p><p><b> //點(diǎn)亮數(shù)碼管程序</b></p><p> //2007.4.5</p><p> *///***************************************************</p
77、><p> #include "system.h"</p><p> #include "altera_avalon_pio_regs.h"</p><p> #include "alt_types.h"</p><p> #include "priv/alt_busy
78、_sleep.h"</p><p> #include <stdio.h></p><p> #include "sys/alt_irq.h"</p><p> #include "define.h"</p><p> #include "CH452_I2C.
79、h"</p><p> #include "key.h"</p><p> #define SPEED_UP KEY1 //</p><p> #define SPEED_DOWN KEY2 //</p><p> #define REVERSE KEY3 //</p&g
80、t;<p> #define STOP_START KEY4 //</p><p> alt_u8 KeyVlaue;</p><p><b> main()</b></p><p><b> { </b></p><p> KeyPIOInit();</p>
81、;<p> KeyIntEnable();</p><p> int i=0,a=0,b=0,c=0,u=0;</p><p><b> while(1)</b></p><p><b> {</b></p><p> KeyVlaue= GetKeyValue();<
82、/p><p> switch(KeyVlaue)</p><p><b> {</b></p><p> case SPEED_UP:</p><p><b> {</b></p><p> CH452_Write(CH452_SYSON2); //兩線制方式,如果S
83、DA用做按鍵中斷輸出,那么命令應(yīng)該為(0x04,0x23)</p><p> CH452_Write(CH452_BCD); // BCD譯碼,8個(gè)數(shù)碼管</p><p><b> while(1)</b></p><p><b> {</b></p><p> if(u ==1000)
84、</p><p><b> {</b></p><p><b> u = 0;</b></p><p><b> }</b></p><p><b> c=u/100;</b></p><p> b=u/10-c*10;&
85、lt;/p><p><b> a=u%10;</b></p><p> CH452_Write(CH452_DIG7 | c);</p><p> CH452_Write(CH452_DIG6 | b);</p><p> CH452_Write(CH452_DIG5 | a);</p><p&g
86、t;<b> u++;</b></p><p> KeyVlaue= GetKeyValue();</p><p> if(KeyVlaue == SPEED_DOWN )</p><p><b> {</b></p><p><b> break;</b></
87、p><p><b> ?。?lt;/b></p><p> alt_busy_sleep(1000000);</p><p><b> i=u-1;</b></p><p><b> }</b></p><p> break; </p>
88、<p><b> }</b></p><p> case REVERSE:</p><p><b> {</b></p><p> CH452_Write(CH452_SYSON2); //兩線制方式,如果SDA用做按鍵中斷輸出,那么命令應(yīng)該為(0x04,0x23)</p><p&
89、gt; CH452_Write(CH452_BCD); // BCD譯碼,8個(gè)數(shù)碼管</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> c=i/100;</b></p><p> b=i/10-c*
90、10;</p><p><b> a=i%10;</b></p><p> CH452_Write(CH452_DIG7 | c);</p><p> CH452_Write(CH452_DIG6 | b);</p><p> CH452_Write(CH452_DIG5 | a);</p><
91、;p><b> i--;</b></p><p> KeyVlaue= GetKeyValue();</p><p> if(KeyVlaue == SPEED_DOWN )</p><p><b> { </b></p><p><b> break;</b>
92、</p><p><b> }</b></p><p> if(i == 0)</p><p><b> {</b></p><p><b> i = 999;</b></p><p><b> }</b></p&g
93、t;<p> alt_busy_sleep(1000000);</p><p><b> u=i+1;</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> }</b>
94、;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 十.結(jié)果分析:</b></p><p> 實(shí)驗(yàn)結(jié)果:硬件下載完成,軟件編譯運(yùn)行
95、后,按F1數(shù)字進(jìn)行加1操作。按F2計(jì)數(shù)停止,并顯示當(dāng)前數(shù)。按F3數(shù)字進(jìn)行減1操作;當(dāng)數(shù)從000-999時(shí)再加1變?yōu)?00;當(dāng)數(shù)從999-000時(shí)再減1變?yōu)?99,實(shí)驗(yàn)箱上數(shù)碼管達(dá)到預(yù)期結(jié)果。</p><p> 十一.個(gè)人體會(huì)與總結(jié):</p><p> 在本次課程設(shè)計(jì)中,我們通過軟、硬件上的動(dòng)手操作進(jìn)一步學(xué)習(xí)跟掌握了片上系統(tǒng)的有關(guān)知識(shí),雖然在上學(xué)期學(xué)習(xí)過QuartusII軟件和Veril
96、og HDL語(yǔ)言但沒有涉及到Nios II軟件,通過這學(xué)期的實(shí)驗(yàn)讓我加深了對(duì)這些軟件的使用,掌握了簡(jiǎn)單的實(shí)驗(yàn)的設(shè)計(jì)、制作、下載調(diào)試的方法。在課程設(shè)計(jì)的過程中也遇到了很多問題,例如剛開始對(duì)Nios II軟件操作不熟悉,編譯出現(xiàn)問題,運(yùn)行后不能實(shí)現(xiàn)預(yù)期結(jié)果等,但這些都通過老師和同學(xué)的幫助得到了解決,最終達(dá)到了實(shí)驗(yàn)的要求。</p><p> 通過此次課程設(shè)計(jì)使我認(rèn)識(shí)到自身知識(shí)儲(chǔ)備及能力的薄弱,更讓我了解了語(yǔ)言的理論學(xué)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- plc數(shù)碼管顯示課程設(shè)計(jì)
- 數(shù)碼管學(xué)號(hào)滾動(dòng)顯示課程設(shè)計(jì)
- 課程設(shè)計(jì)---單只數(shù)碼管循環(huán)顯示設(shè)計(jì)
- 兩位數(shù)碼管顯示設(shè)計(jì)-課程設(shè)計(jì)報(bào)告
- 兩位數(shù)碼管顯示課程設(shè)計(jì)
- 兩位數(shù)碼管顯示設(shè)計(jì)-課程設(shè)計(jì)
- pic課程設(shè)計(jì)--多位數(shù)碼管循環(huán)顯示
- plc課程設(shè)計(jì)---七段數(shù)碼管數(shù)字顯示
- 4位dip開關(guān)控制數(shù)碼管顯示系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- eda技術(shù)課程設(shè)計(jì)--數(shù)碼管顯示數(shù)字鐘設(shè)計(jì)
- 數(shù)碼管按鍵顯示
- led數(shù)碼管顯示
- ds1302時(shí)鐘數(shù)碼管課程設(shè)計(jì)--用數(shù)碼管顯示實(shí)時(shí)日歷時(shí)鐘的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--兩位數(shù)碼管顯示設(shè)計(jì)
- 數(shù)字電子技術(shù)數(shù)碼管課程設(shè)計(jì)---數(shù)碼管設(shè)計(jì)及原理分析
- led數(shù)碼管顯示控制
- 兩位數(shù)碼管顯示課程設(shè)計(jì)說明書
- 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)--單只數(shù)碼管顯示數(shù)字
- 數(shù)碼管顯示控制器 數(shù)字電子技術(shù)課程設(shè)計(jì)
- 兩位數(shù)碼管顯示設(shè)計(jì)課程設(shè)計(jì)說明書
評(píng)論
0/150
提交評(píng)論