久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

電子科技大學(xué)微機(jī)實(shí)驗(yàn)報告 實(shí)驗(yàn)4

時間:2019-05-14 21:53:53下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《電子科技大學(xué)微機(jī)實(shí)驗(yàn)報告 實(shí)驗(yàn)4》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《電子科技大學(xué)微機(jī)實(shí)驗(yàn)報告 實(shí)驗(yàn)4》。

第一篇:電子科技大學(xué)微機(jī)實(shí)驗(yàn)報告 實(shí)驗(yàn)4

實(shí)驗(yàn)四基于ARM的嵌入式Linux開發(fā)環(huán)境建立 【實(shí)驗(yàn)?zāi)康摹?1.掌握嵌入式Linux 開發(fā)環(huán)境的基本流程。2.熟悉Linux 操作系統(tǒng) 3.熟悉嵌入式開發(fā)平臺

【實(shí)驗(yàn)內(nèi)容】

在PC機(jī)虛擬機(jī)下的Linux系統(tǒng)中建立基于ARM 的嵌入式Linux 開發(fā)環(huán)境。

1.學(xué)會網(wǎng)口的配置 2.Minicom端口的使用

【預(yù)備知識】

1.了解ARM9處理器結(jié)構(gòu) 2.了解Linux 系統(tǒng)結(jié)構(gòu)

3.了解ARM開發(fā)板使用常識

【實(shí)驗(yàn)設(shè)備和工具】

硬件:PC機(jī)Pentium100以上,ARM嵌入式開發(fā)平臺

軟件:PC機(jī)Linux 操作系統(tǒng)+MINICOM+AMRLINUX開發(fā)環(huán)境

【實(shí)驗(yàn)原理】

1.交叉編譯器在一種計算機(jī)環(huán)境中運(yùn)行的編譯程序,能編譯出在另外一種環(huán)境下運(yùn)行的代碼,我們就稱這種編譯器支持交叉編譯,這個編譯過程就叫交叉編譯。簡單地說,就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。這里需要注意的是所謂平臺,實(shí)際上包含兩個概念:體系結(jié)構(gòu)

(Architecture)、操作系統(tǒng)(OperatingSystem)。同一個體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);同樣,同一個操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。舉例來說,我們常說的x86 Linux平臺實(shí)際上是Intelx86體系結(jié)構(gòu)和Linuxforx86操作系統(tǒng)的統(tǒng)稱;而x86WinNT平臺 實(shí)際上是Intelx86體系結(jié)構(gòu)和Windows NTforx86操作系統(tǒng)的簡稱。交叉編譯這個概念的出現(xiàn)和流行是和嵌入式系統(tǒng)的廣泛發(fā)展同步的。我們常用的計算機(jī)軟

件,都需要通過編譯的方式,把使用高級計算機(jī)語言編寫的代碼(比如C代碼)編譯(compile)成計算機(jī)可以識別和執(zhí)行的二進(jìn)制代碼。比如,我們在Windows平臺上,可使用Visual C++ 開發(fā)環(huán)境,編寫程序并編譯成可執(zhí)行程序。這種方式下,我們使用PC平臺上的Windows工具開發(fā)針對Windows本身的可執(zhí)行程序,這種編譯過程稱為nativecompilation,中文可理解

為本機(jī)編譯。然而,在進(jìn)行嵌入式系統(tǒng)的開發(fā)時,運(yùn)行程序的目標(biāo)平臺通常具有有限的存儲空間和運(yùn)算能力,比如常見的ARM平臺,其一般的靜態(tài)存儲空間大概是16到32MB,而CPU 的主頻大概在100MHz到500MHz之間。這種情況下,在ARM平臺上進(jìn)行本機(jī)編譯就不太可能了,這是因?yàn)橐话愕木幾g工具鏈(compilationtoolchain)需要很大的存儲空間,并需要很強(qiáng) 的CPU運(yùn)算能力。為了解決這個問題,交叉編譯工具就應(yīng)運(yùn)而生了。通過交叉編譯工具,我們就可以在CPU能力很強(qiáng)、存儲空間足夠的主機(jī)平臺上(比如PC上)編譯出針對其他平臺的可執(zhí)行程序。

要進(jìn)行交叉編譯,我們需要在主機(jī)平臺上安裝對應(yīng)的交叉編譯工具鏈(crosscompilation tool-chain),然后用這個交叉編譯工具鏈編譯我們的源代碼,最終生成可在目標(biāo)平臺上運(yùn)行的代碼。常見的交叉編譯例子如下:

1、在WindowsPC上,利用RVDS(ARM開發(fā)環(huán)境),使用armcc編譯器,則可編譯出針對ARMCPU的可執(zhí)行代碼。

2、在LinuxPC上,利用arm-linux-gcc編譯器,可編譯出針對LinuxARM平臺的可執(zhí)行代碼。

3、在Windows PC上,利用cygwin環(huán)境,運(yùn)行arm-elf-gcc編譯器,可編譯出針對ARMCPU的可執(zhí)行代碼。

2.NFS服務(wù)

NFS是Net FileSystem的簡寫,即網(wǎng)絡(luò)文件系統(tǒng).網(wǎng)絡(luò)文件系統(tǒng)是FreeBSD支持的文件系統(tǒng)中的一種,也被稱為NFS.NFS允許一個系統(tǒng)在網(wǎng)絡(luò)上與它人共享目錄和文件。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠(yuǎn)端系

統(tǒng)上的文件。

NFS至少有兩個主要部分:一臺服務(wù)器和一臺(或者更多)客戶機(jī)??蛻魴C(jī)遠(yuǎn)程訪問存放在服務(wù)器上的數(shù)據(jù)。為了正常工作,一些進(jìn)程需要被配置并運(yùn)行。

在本實(shí)驗(yàn)中就是將PC機(jī)作為服務(wù)器,而將ARM開發(fā)板作為客戶機(jī),這樣ARM開發(fā)板就可以遠(yuǎn)程

訪問存放在在PC機(jī)上的數(shù)據(jù),這樣可以縮短研發(fā)周期,更方便的調(diào)試程序。

【實(shí)驗(yàn)步驟】

1.雙擊桌面上VMWARE,打開Linux 虛擬機(jī) 2.點(diǎn)擊啟動虛擬機(jī),啟動虛擬機(jī) 3.以root身份登陸虛擬機(jī),密碼123456

4.其他步驟詳見實(shí)驗(yàn)指導(dǎo)書

【實(shí)驗(yàn)結(jié)果和程序】

基于ARM 的嵌入式Linux開發(fā)環(huán)境建立完畢。

【思考題】

1.如何驗(yàn)證交叉編譯器已安裝成功? 答:在終端輸入命令:cd/arm/rootfs/home/driver(文件夾里已有test_led.c文件)arm-linux-gcc–o test_ledtest_led.c

若有可執(zhí)行文件test_led生成則表示交叉編譯器已安裝成功

2.如果我們需要變更根文件系統(tǒng)的目錄,該如何設(shè)置使得ARM開發(fā)板可以成功掛載?答:修改/etc/exports 文件的內(nèi)容,將/arm/rootfs*(rw,sync,no_root_squash)改為/XX/XXX

*(rw,sync,no_root_squash)(/XX/XXX為變更后點(diǎn)的文件目錄)

3.怎么在u-boot命令行下修改ARM 開發(fā)板的IP?

答:輸入setenvip=x.x.x.x:192.168.0.1:192.168.0.1:255.255.255.0:uestc:eth0:off

Saveenv

x,x,x,x為ARM開發(fā)板的新IP。

【實(shí)驗(yàn)結(jié)論】

本實(shí)驗(yàn)實(shí)現(xiàn)了基于ARM 的嵌入式Linux 開發(fā)環(huán)境建立

第二篇:電子科技大學(xué)微機(jī)實(shí)驗(yàn)報告 實(shí)驗(yàn)5

實(shí)驗(yàn)五 基于ARM的模塊方式驅(qū)動程序?qū)嶒?yàn) 【實(shí)驗(yàn)?zāi)康摹?1.掌握Linux 系統(tǒng)下設(shè)備驅(qū)動程序的作用與編寫技巧 2.掌握Linux 驅(qū)動程序模塊加載和卸載的方法 3.了解Linux 內(nèi)核中的makefile和kconfig文件

【實(shí)驗(yàn)內(nèi)容】

1.基于s3c2440 開發(fā)板編寫led 驅(qū)動程序。2.將編寫好的led驅(qū)動加入linux內(nèi)核中,修改makefile和kconfig文件,配置和編譯內(nèi)核。3.編寫關(guān)于led 的測試程序,交叉編譯后運(yùn)行,控制led 燈的亮滅。

【預(yù)備知識】

1.了解ARM9處理器結(jié)構(gòu)和Linux 系統(tǒng)結(jié)構(gòu)

2.熟練掌握C語言。

【實(shí)驗(yàn)設(shè)備和工具】

? 硬件:ARM嵌入式開發(fā)平臺,PC機(jī)Pentium100 以上。

? 軟件:PC機(jī)Linux操作系統(tǒng)+MINICOM+AMRLINUX 開發(fā)環(huán)境

【實(shí)驗(yàn)原理】

?

linux設(shè)備驅(qū)動程序 ? 驅(qū)動的模塊式加載和卸載

? 編譯模塊

? 裝載和卸載模塊

? led 驅(qū)動的原理

在本開發(fā)板上有八個led指示燈,從下往上分別為LED0-LED7。這八個led燈都是接的芯片上的gpio口(通用功能輸入輸出口)。在本實(shí)驗(yàn)的開發(fā)板硬件設(shè)計中,當(dāng)led 燈對應(yīng)的gpio的電平為低時,led燈被點(diǎn)亮;當(dāng)led燈對應(yīng)的gpio的電平為高時,led燈滅。本驅(qū)動的作用就是通過設(shè)置對應(yīng)gpio口的電平來控制led 的亮滅。

因?yàn)锳RM 芯片內(nèi)的GPIO口都是復(fù)用的,即它可以被配置為多種不同的功能,本實(shí)

驗(yàn)是使用它的普通的I/O口的輸出功能,故需要對每個GPIO口進(jìn)行配置。在內(nèi)核中已經(jīng)定義了對GPIO口進(jìn)行配置的函數(shù),我們只需要調(diào)用這些函數(shù)就可以完成對GPIO口的配置。

【實(shí)驗(yàn)步驟】實(shí)驗(yàn)程

序運(yùn)行效果:

程序會提示:“pleaseenterthe led status”

輸入與希望顯示的led狀態(tài)對應(yīng)的ledstatus值(輸入十進(jìn)制值即可),觀察led 的顯示情況。例如:

? 輸入數(shù)字“3”,對應(yīng)的二進(jìn)制數(shù)字為00000011

故點(diǎn)亮LED2~LED7

? 輸入數(shù)字“4”,對應(yīng)的二進(jìn)制數(shù)字為00000100

故點(diǎn)亮LED0,LED1,LED3~LED7

【實(shí)驗(yàn)結(jié)果和程序】

C語言程序:

#include #include #include #include #include #include #include #include #include #include #include #include #include#defineDEVICE_NAME “s3c2440-led”

static intLedMajor=231;

staticintLedMinor=0;

static charledstatus=0xff;staticstructclass*s3c2440_class;staticstructcdev *s3c2440_led_cdev;

/*

******************************************************************************* ************************

** Function name:Update_led()**Descriptions **Input :NONE **Output :NONE :update the led status

******************************************************************************* ************************

*/ staticvoid Update_led(void)

{

if(ledstatus&0x01)

s3c2410_gpio_setpin(S3C2410_GPC7,1);//LED0滅

else

s3c2410_gpio_setpin(S3C2410_GPC7,0);//LED0亮

if(ledstatus&0x02)

s3c2410_gpio_setpin(S3C2410_GPC5,1);//LED1滅

else

s3c2410_gpio_setpin(S3C2410_GPC5,0);//LED1亮

if(ledstatus&0x04)

s3c2410_gpio_setpin(S3C2410_GPH9,1);//LED2滅

else

s3c2410_gpio_setpin(S3C2410_GPH9,0);//LED2亮

if(ledstatus&0x08)

s3c2410_gpio_setpin(S3C2410_GPB4,1);//LED3滅

else

s3c2410_gpio_setpin(S3C2410_GPB4,0);//LED3亮

if(ledstatus&0x10)

s3c2410_gpio_setpin(S3C2410_GPG5,1);//LED4滅

else

s3c2410_gpio_setpin(S3C2410_GPG5,0);//LED4亮

if(ledstatus&0x20)

s3c2410_gpio_setpin(S3C2410_GPG6,1);//LED5滅

else

s3c2410_gpio_setpin(S3C2410_GPG6,0);//LED5亮

if(ledstatus&0x40)

s3c2410_gpio_setpin(S3C2410_GPG7,1);//LED6滅elses3c2410_gpio_setpin(S3C2410_GPG7,0);//LED6亮

if(ledstatus&0x80)

s3c2410_gpio_setpin(S3C2410_GPG8,1);//LED7滅

else

s3c2410_gpio_setpin(S3C2410_GPG8,0);//LED7亮

}

staticssize_ts3c2440_Led_write(structfile*file,constchar*buffer,size_tcount,loff_t*ppos){

copy_from_user(&ledstatus,buffer,sizeof(ledstatus));

Update_led();

printk(“write: led=0x%x,count=%dn”,ledstatus,count);returnsizeof(ledstatus);} staticints3c2440_Led_open(structinode*inode,struct file *filp)

{

printk(“l(fā)ed device openn”);

return 0;

} staticints3c2440_Led_release(structinode*inode,struct file*filp)

{

printk(“l(fā)ed device releasen”);

return 0;} staticstructfile_operationss3c2440_fops={.owner=THIS_MODULE,.open=s3c2440_Led_open,.write=s3c2440_Led_write,.release=s3c2440_Led_release, };

staticintinits3c2440_Led_init(void)

{

dev_ts3c2440_leds_devno;

/*configure the gpiofor leds*/

s3c2410_gpio_cfgpin(S3C2410_GPG5,S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPG6,S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPG7,S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPG8,S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPC7,S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPC5,S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPH9,S3C2410_GPIO_OUTPUT);

s3c2410_gpio_cfgpin(S3C2410_GPB4,S3C2410_GPIO_OUTPUT);

Update_led();/*registerthe devnumber*/ s3c2440_leds_devno=MKDEV(LedMajor,LedMinor);ret=register_chrdev_region(s3c2440_leds_devno, 1,DEVICE_NAME);

/*registerthe chardevice*/

s3c2440_led_cdev=cdev_alloc();if

(s3c2440_led_cdev!= NULL)

{ cdev_init(s3c2440_led_cdev, &s3c2440_fops);s3c2440_led_cdev->owner=THIS_MODULE;if(cdev_add(s3c2440_led_cdev, s3c2440_leds_devno, 1))

printk(KERN_NOTICE “Something wrong when addings3c2440_led_cdev!n”);

else

printk(“Success addings3c2440_led_cdev!n”);} /*create the device node in /dev*/ s3c2440_class =class_create(THIS_MODULE, “l(fā)ed_class”);class_device_create(s3c2440_class, NULL, s3c2440_leds_devno, NULL, DEVICE_NAME);

printk(DEVICE_NAME “ initializedn”);

return 0;

}

staticvoid exits3c2440_Led_exit(void)

cdev_del(s3c2440_led_cdev);class_device_destroy(s3c2440_class, MKDEV(LedMajor,LedMinor));class_destroy(s3c2440_class);printk(DEVICE_NAME “ removedn”);

}

module_init(s3c2440_Led_init);

module_exit(s3c2440_Led_exit);

【思考題】

1.設(shè)備驅(qū)動程序的功能是什么?答:設(shè)備驅(qū)動的功能就是將系統(tǒng)提供的調(diào)用映射到作用于實(shí)際硬件的和設(shè)備相關(guān)的操作上。

2.模塊化的最大優(yōu)點(diǎn)是什么?答:可以在系統(tǒng)正在運(yùn)行著的時候給內(nèi)核增加模塊

提供的功能(也可以移除功能)。

3.如果在驅(qū)動模塊中刪除module_exit(s3c2440_Led_exit);后會有什么影響?

答:這個模塊將不能被移除。

4.驅(qū)動代碼中調(diào)用的宏MKDEV 的作用是什么?答:獲取設(shè)備在設(shè)備表中的位置。輸入主設(shè)備號,從設(shè)備號,返回位置號。

【實(shí)驗(yàn)結(jié)論】

本實(shí)驗(yàn)實(shí)現(xiàn)了linux環(huán)境下的led燈驅(qū)動的添加。

第三篇:北京科技大學(xué)微機(jī)原理實(shí)驗(yàn)報告

微機(jī)原理及應(yīng)用實(shí)驗(yàn)報告

學(xué)院: 班級: 學(xué)號: 姓名:

微機(jī)實(shí)驗(yàn)報告書(Ⅰ)學(xué)號:姓名:班級: 同組名單:實(shí)驗(yàn)日期:

實(shí)驗(yàn)題目:8253可編程定時器計數(shù)器

實(shí)驗(yàn)?zāi)繕?biāo):掌握8253的基本工作原理和編程方法 實(shí)驗(yàn)步驟:

連接電路圖

如圖虛線連接電路,將計數(shù)器0設(shè)置為方式0,計數(shù)器初值為N(N<=0FH),用手動逐個輸入單脈沖,編程使計數(shù)值在屏幕上顯示,并同時用邏輯筆觀察OUT0電平變化(當(dāng)輸入N+1個脈沖后OUT0變高電平)。程序框圖:

程序清單:

;*************************;;* 8253方式0計數(shù)器實(shí)驗(yàn) *;;*************************;IOPORT

EQU

0C800H-0280H

IO8253A EQU

IOPORT+283H

IO8253B EQU

IOPORT+280H

CODE SEGMENT

ASSUME

CS:CODE

START: MOV

AL,00010000B

;設(shè)置8253工作方式

MOV

DX,IO8253A

OUT

DX,AL

MOV

DX,IO8253B

;送計數(shù)初值為0FH

MOV

AL,0FH

OUT

DX,AL

LLL: IN

AL,DX

;讀計數(shù)初值

CALL

DISP

;調(diào)顯示子程序

PUSH

DX

MOV

AH,06H

MOV

DL,0FFH

INT

21H

POP

DX

JZ

LLL

;跳轉(zhuǎn)到LLL

MOV

AH,4CH

;退出

INT

21H

DISP PROC

NEAR

;顯示子程序

PUSH

DX

AND

AL,0FH

;首先取低四位

MOV

DL,AL

CMP

DL,9

;判斷是否<=9

JLE

NUM

;若是則為'0'-'9',ASCII碼加30H

ADD

DL,7

;否則為'A'-'F',ASCII碼加37H

NUM: ADD

DL,30H

MOV

AH,02H

;顯示

INT

21H

MOV

DL,0DH

;加回車符

INT

21H

MOV

DL,0AH

;加換行符

INT

21H

POP

DX

RET

;子程序返回

DISP ENDP

CODE ENDS

END

START 運(yùn)行結(jié)果:

每輸入一個單脈沖,屏幕上的數(shù)值減1,從15減到0后(撥動16次后),檢測到OUT0輸出由低電平變?yōu)楦唠娖健P〗Y(jié)(體會與收獲):

通過預(yù)習(xí)和實(shí)驗(yàn),學(xué)會了 8253 芯片和微機(jī)接口原理和方法,掌握 8253 定時器/計數(shù)器的基本工作原理、工作方式和編程原理,熟悉了匯編代碼的編寫。實(shí)驗(yàn)中,連接電路,利用代碼控制實(shí)驗(yàn)電路,深對了課本理論的理解。

由于是第一次實(shí)驗(yàn),進(jìn)程比較緩慢,所以僅進(jìn)行了8253可編程定時器/計數(shù)器的一個實(shí)驗(yàn),下次實(shí)驗(yàn)會熟練一些。

微機(jī)實(shí)驗(yàn)報告書(Ⅱ)

學(xué)號:姓名:班級: 同組名單:實(shí)驗(yàn)日期:

實(shí)驗(yàn)題目:1.8253可編程定時器計數(shù)器

2.8255可編程并行接口(方式0)3.七段數(shù)碼管

實(shí)驗(yàn)?zāi)繕?biāo):1.掌握8253的基本工作原理和編程方法

2.掌握8255方式0的工作原理及使用方法 3.掌握數(shù)碼管顯示數(shù)字的原理

實(shí)驗(yàn)步驟: 實(shí)驗(yàn)一:

連接電路圖

按上圖連接電路,將計數(shù)器0、計數(shù)器1分別設(shè)置為方式3,計數(shù)初值設(shè)為1000,用邏輯筆觀察OUT1輸出電平的變化(頻率1HZ)。實(shí)驗(yàn)二:

連接電路圖

1)實(shí)驗(yàn)電路如圖,8255C口接邏輯電平開關(guān)K0~K7,A口接LED顯示電路L0~L7。

2)編程從8255C口輸入數(shù)據(jù),再從A口輸出。實(shí)驗(yàn)三:

連接電路圖

靜態(tài)顯示:按圖連接好電路,將8255的A口PA0~PA6分別與七段數(shù)碼管的段碼驅(qū)動輸入端a~g相連,位碼驅(qū)動輸入端S1接+5V(選中), S0、dp接地(關(guān)閉)。編程從鍵盤輸入一位十進(jìn)制數(shù)字(0~9),在七段數(shù)碼管上顯示出來。程序框圖: 實(shí)驗(yàn)一:

實(shí)驗(yàn)二:

實(shí)驗(yàn)三:

程序清單: 實(shí)驗(yàn)一:

;*******************;* 8253分頻 *;******************* IOPORT EQU

0C800H-0280H

IO8253A EQU

IOPORT+283H

IO8253B EQU

IOPORT+280H

IO8253C EQU

IOPORT+281H

CODE SEGMENT

ASSUME

CS:CODE

START: MOV

DX,IO8253A;向8253寫控制字

MOV

AL,36H

;工作方式

OUT

DX,AL

MOV

AX,1000

;寫入循環(huán)計數(shù)初值1000

MOV

DX,IO8253B

OUT

DX,AL

;先寫入低字節(jié)

MOV

AL,AH

OUT

DX,AL

;后寫入高字節(jié)

MOV

DX,IO8253A

MOV

AL,76H

;設(shè)工作方式

OUT

DX,AL

MOV

AX,1000

;寫入循環(huán)計數(shù)初值1000

MOV

DX,IO8253C

OUT

DX,AL

;先寫低字節(jié)

MOV

AL,AH

OUT

DX,AL

;后寫高字節(jié)

MOV

AH,4CH

;程序退出

INT

21H

CODE ENDS

END

START

實(shí)驗(yàn)二:

;*************************;;* 8255A的基本輸入輸出 *;;*************************;IOPORT EQU 0C800H‐280H IO8255A EQU IOPORT+288H IO8255B EQU IOPORT+ 28BH IO8255C EQU IOPORT+28AH CODE SEGMENT ASSUME CS:CODE START: MOV DX,IO8255B;對 8255 進(jìn)行設(shè)定,A 輸出,C 輸入

MOV AL,10001001B

OUT DX,AL INPUT: MOV DX,IO8255C;從 C 輸入

IN AL,DX

MOV DX,IO8255A;從 A 輸出

OUT DX,AL

MOV DL,0FFH;判斷是否有按鍵

MOV AH,06H

INT 21H

JZ INPUT;若無,則繼續(xù) C 輸入,A 輸出

MOV AH,4CH;否則,返回 DOS

INT 21H CODE ENDS END START 實(shí)驗(yàn)三:

;************************************;;*鍵盤輸入數(shù)據(jù)(0-9)控制LED數(shù)碼管顯示*;;************************************;

DATA

SEGMENT

IOPORT

EQU

0C800H-280H IO8255A

EQU

IOPORT+288H IO8255B

EQU

IOPORT+28BH IO8255C

EQU

IOPORT+28AH

LED

DB

3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

MESG1

DB

0DH,0AH,'Input a num(0--9),other key is exit:',0DH,0AH,'$' DATA

ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV

AX,DATA

MOV

DS,AX

MOV

DX,IO8255B

;使 8255 的A口為輸出方式

MOV

AX,10000000B

OUT

DX,AL

SSS:

MOV

DX,OFFSET MESG1

;顯示提示信息

MOV

AH,09H

INT

21H

MOV

AH,01

;從鍵盤接收字符

INT

21H

CMP

AL,30H

;是否小于 0

JL

EXIT

;若是則退出

CMP

AL,39H

;是否大于9

JG

EXIT

;若是則退出

SUB

AL,30H

;將所得字符的 ASCII 碼減 30H

MOV

BX,OFFSET LED

;BX為數(shù)碼表的起始地址

XLAT

;求出相應(yīng)的段碼

MOV

DX,IO8255A

;從 8255 的A口輸出

OUT

DX,AL

JMP

SSS

;轉(zhuǎn) SSS EXIT:

MOV

AH,4CH

;返回

INT

21H CODE

ENDS

END

START;

運(yùn)行結(jié)果: 實(shí)驗(yàn)一:

8253通道0和通道1均工作在方式3,計數(shù)初值均為1000。通道0的時鐘輸入為1MHz標(biāo)準(zhǔn)脈沖,產(chǎn)生1000Hz的方波;通道1以通道0輸出的1000Hz方波脈沖為輸入,產(chǎn)生1Hz的方波。用邏輯筆發(fā)現(xiàn),OUT1 輸出電平呈規(guī)律性高低變化(顯示燈閃爍),時間間隔為 1s,說明輸出頻率為 1Hz,實(shí)現(xiàn)計時器功能。實(shí)驗(yàn)二:

當(dāng)邏輯開關(guān)K0~K7中的一個或幾個打開時,對應(yīng)的LED燈就會亮起來,即利用8255A實(shí)現(xiàn)了基本的輸入輸出控制。實(shí)驗(yàn)三:

靜態(tài)顯示:當(dāng)從鍵盤輸入0~9任一數(shù)字時,七段數(shù)碼管上便 會顯示相應(yīng)的數(shù)字,按下其他按鍵則退出程序。小結(jié)(體會和收獲):

通過本次實(shí)驗(yàn),進(jìn)一步了解了8253可編程定時器/計數(shù)器;鞏固了可編程并行接口8255的基本知識點(diǎn),了解了該芯片的應(yīng)用。通過編程實(shí)現(xiàn),熟悉了8255方式控制字,了解了方式0和基本工作原理。通過這三次實(shí)驗(yàn)的學(xué)習(xí),對于可編程接口芯片有了更深的認(rèn)識,掌握了基本的微機(jī)接口方法。

在實(shí)驗(yàn)過程中要細(xì)心,當(dāng)編譯、鏈接或者運(yùn)行的時候遇到錯誤的時候,要仔細(xì)檢查程序的輸入是否正確,很容易輸錯字母數(shù)字。

微機(jī)實(shí)驗(yàn)報告書(Ⅲ)

學(xué)號:姓名:班級: 同組名單:實(shí)驗(yàn)日期: 實(shí)驗(yàn)題目:步進(jìn)電機(jī)控制實(shí)驗(yàn)

實(shí)驗(yàn)?zāi)繕?biāo):1.了解步進(jìn)電機(jī)控制的基本原理

2.掌握控制步進(jìn)電機(jī)轉(zhuǎn)動的編程方法

實(shí)驗(yàn)步驟:

連接電路圖

1)按圖14連接線路,利用8255輸出脈沖序列,開關(guān)K0~K6控制步進(jìn)電機(jī)轉(zhuǎn)速,K7控制步進(jìn)電機(jī)轉(zhuǎn)向。8255 CS接288H~28FH。PA0~PA3接BA~BD;PC0~PC7接K0~K7。

2)編程:當(dāng)K0~K6中某一開關(guān)為“1”(向上撥)時步進(jìn)電機(jī)啟動。K7向上撥電機(jī)正轉(zhuǎn),向下?lián)茈姍C(jī)反轉(zhuǎn)。程序框圖:

程序清單:

;*******************************;;*

步進(jìn)電機(jī)

*;;*******************************;

DATA

SEGMENT

IOPORT

EQU

0E400H-280H

IO8255A

EQU

IOPORT+288H

;8255A 輸出端口

IO8255B

EQU

IOPORT+ 28BH

;8255B 控制端口

IO8255C

EQU

IOPORT+ 28AH

;8255C 輸入端口

BUF

DB

0

MES

DB

'K0-K6 ARE SPEED CONTROL',0AH,0DH

DB

'K6 IS THE LOWEST SPEED ',0AH,0DH

DB

'K0 IS THE HIGHEST SPEED',0AH,0DH

DB

'K7 IS THE DIRECTION CONTROL',0AH,0DH,'$'

DATA

ENDS

CODE SEGMENT

ASSUME

CS:CODE,DS:DATA

START:

MOV

AX,CS

MOV

DS,AX

MOV

AX,DATA

MOV

DS,AX

MOV

DX,OFFSET MES

MOV

AH,09

INT

21H

MOV

DX,IO8255B

MOV

AL, 10001001B

OUT

DX,AL

;8255 C輸入, A 輸出

MOV

BUF,33H

OUT1:

MOV

AL,BUF

MOV

DX,IO8255A

OUT

DX,AL

PUSH

DX

MOV

AH,06H

MOV

DL,0FFH

INT

21H

POP

DX

JE

IN1

MOV

AH,4CH

INT

21H

IN1:

MOV

DX,IO8255C

IN

AL,DX

;輸入開關(guān)狀態(tài)

TEST

AL,01H

JNZ

K0

TEST

AL,02H

JNZ

K1

TEST

AL,04H

JNZ

K2

TEST

AL,08H

JNZ

K3

TEST

AL,10H

JNZ

K4

TEST

AL,20H

JNZ

TEST

JNZ

STOP:

MOV

MOV

JMP

K0:

MOV

SAM:

TEST

JZ

JMP

K1:

MOV

JMP

SAM

K2:

MOV

JMP

K3:

MOV

JMP

K4:

MOV

JMP

K5:

MOV

JMP

K6:

MOV

JMP

SAM

ZX0:

CALL

MOV

ROR

MOV

JMP

NX0:

CALL

MOV

ROL

MOV

JMP

DELAY

PROC

DELAY1:

MOV

DELAY2:

LOOP

K5

AL,40H K6

DX,IO8255C AL,0FFH

OUT1

BL,40H

AL,80H ZX0 NX0

BL,50H

BL,70H

SAM

BL,80H SAM

BL,0A0H SAM

BL,0C0H SAM

BL,0FFH

DELAY

AL,BUF

AL,1

BUF,AL OUT1

DELAY

AL,BUF

AL,1

BUF,AL OUT1

NEAR

CX,0FFFFH

DELAY2

DEC

BL

JNZ

DELAY1

RET

DELAY

ENDP

CODE

ENDS

END

START 運(yùn)行結(jié)果:

當(dāng)K0~K6中任意一開關(guān)向上撥時步進(jìn)電機(jī)啟動,且K1速度最快,K6速度最慢;當(dāng)K7向上撥電機(jī)正轉(zhuǎn),向下?lián)茈姍C(jī)反轉(zhuǎn)。當(dāng)鍵盤中有任意鍵輸入的時候則程序終止。小結(jié)(收獲與體會):

實(shí)驗(yàn)和理論是相互檢驗(yàn),相互補(bǔ)充和相互促進(jìn)的,在實(shí)際動手動腦運(yùn)用理論知識的時候,能更深入地領(lǐng)會概念,熟練運(yùn)用,在此基礎(chǔ)上方能進(jìn)行創(chuàng)新和自由發(fā)揮。通過本次實(shí)驗(yàn),我了解了步進(jìn)電機(jī)控制的基本原理,掌握了控制步進(jìn)電機(jī)轉(zhuǎn)動的編程方法。更加深入地了解了微機(jī)原理這門課程。

第四篇:現(xiàn)代電子實(shí)驗(yàn)報告 電子科技大學(xué)

基于FPGA的現(xiàn)代電子實(shí)驗(yàn)設(shè)計報告

——數(shù)字式秒表設(shè)計(VHDL)

學(xué)院:物理電子學(xué)院

專業(yè):

學(xué)號:

學(xué)生姓名:

指導(dǎo)教師:

實(shí)驗(yàn)地點(diǎn):

實(shí)驗(yàn)時間:

劉曦 科研樓303

摘要:

通過使用VHDL語言開發(fā)FPGA的一般流程,重點(diǎn)介紹了秒表的基本原理和相應(yīng)的設(shè)計方案,最終采用了一種基于 FPGA 的數(shù)字頻率的實(shí)現(xiàn)方法。該設(shè)計采用硬件描述語言VHDL,在軟件開發(fā)平臺ISE上完成。該設(shè)計的秒表能準(zhǔn)確地完成啟動,停止,分段,復(fù)位功能。使用 ModelSim 仿真軟件對VHDL 程序做了仿真,并完成了綜合布局布線,最終下載到EEC-FPGA實(shí)驗(yàn)板上取得良好測試效果。

關(guān)鍵詞:FPGA,VHDL,ISE,ModelSim

目錄

緒論.........................................................4

第一章實(shí)驗(yàn)任務(wù)…………………………………..5

第二章系統(tǒng)需求和解決方案計劃………..5

第三章設(shè)計思路…………………………………..6

第四章系統(tǒng)組成和解決方案………………..6

第五章各分模塊原理……………………………8

第六章仿真結(jié)果與分析………………………..11

第七章分配引腳和下載實(shí)現(xiàn)…………………13

第八章實(shí)驗(yàn)結(jié)論…………………...………………14 緒論:

1.1 課程介紹:

《現(xiàn)代電子技術(shù)綜合實(shí)驗(yàn)》課程通過引入模擬電子技術(shù)和數(shù)字邏輯設(shè)計的綜合應(yīng)用、基于MCU/FPGA/EDA技術(shù)的系統(tǒng)設(shè)計等綜合型設(shè)計型實(shí)驗(yàn),對學(xué)生進(jìn)行電子系統(tǒng)綜合設(shè)計與實(shí)踐能力的訓(xùn)練與培養(yǎng)。

通過《現(xiàn)代電子技術(shù)綜合實(shí)驗(yàn)》課程的學(xué)習(xí),使學(xué)生對系統(tǒng)設(shè)計原理、主要性能參數(shù)的選擇原則、單元電路和系統(tǒng)電路設(shè)計方法及仿真技術(shù)、測試方案擬定及調(diào)測技術(shù)有所了解;使學(xué)生初步掌握電子技術(shù)中應(yīng)用開發(fā)的一般流程,初步建立起有關(guān)系統(tǒng)設(shè)計的基本概念,掌握其基本設(shè)計方法,為將來從事電子技術(shù)應(yīng)用和研究工作打下基礎(chǔ)。

本文介紹了基于FPGA的數(shù)字式秒表的設(shè)計方法,設(shè)計采用硬件描述語言VHDL,在軟件開發(fā)平臺ISE上完成,可以在較高速時鐘頻率(48MHz)下正常工作。該數(shù)字頻率計采用測頻的方法,能準(zhǔn)確的測量頻率在10Hz到100MHz之間的信號。使用ModelSim仿真軟件對VHDL程序做了仿真,并完成了綜合布局布線,最終下載到芯片Spartan3A上取得良好測試效果。1.2VHDL語言簡介: VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,誕生于 1982 年。1987 年底,VHDL被 IEEE 和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項工程設(shè)計,或稱設(shè)計實(shí)體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實(shí)體。這種將設(shè)計實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點(diǎn)。

VHDL語言的特點(diǎn): VHDL 語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點(diǎn)。歸納起來,VHDL 語言主要具有以下優(yōu)點(diǎn):(1)VHDL 語言功能強(qiáng)大,設(shè)計方式多樣(2)VHDL 語言具有強(qiáng)大的硬件描述能力(3)VHDL 語言具有很強(qiáng)的移植能力(4)VHDL 語言的設(shè)計描述與器件無關(guān)(5)VHDL 語言程序易于共享和復(fù)用 由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語言,因此它可以使設(shè)計成果在設(shè)計人員之間方便地進(jìn)行交流和共享,從而減小硬件電路設(shè)計的工作量,縮短開發(fā)周期。1.3FPGA簡介

FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。

以硬件描述語言(Verilog或VHDL)所完成的電路設(shè)計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測試,是現(xiàn)代 IC設(shè)計驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來實(shí)現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。系統(tǒng)設(shè)計師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來,就好像一個電路試驗(yàn)板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計者而改變,所以FPGA可以完成所需要的邏輯功能。

FPGA一般來說比ASIC(專用集成電路)的速度要慢,實(shí)現(xiàn)同樣的功能比ASIC電路面積要大。但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因?yàn)檫@些芯片有比較差的可編輯能力,所以這些設(shè)計的開發(fā)是在普通的FPGA上完成的,然后將設(shè)計轉(zhuǎn)移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)。

FPGA設(shè)計流程:

對于目標(biāo)文件為FPGA的HDL設(shè)計,其一般流程如下:

1、文本編輯

用任何文本編輯器都可以進(jìn)行,通常 VHDL文件保存為vhd文件,Verilog 文件保存為 v文件。

2、使用編譯工具編譯源文件

HDL 的編譯器有很多,ACTIVE 公司,MODELSIM 公司,SYNPLICITY 公司,SYNOPSYS 公司,VERIBEST公司等都有自己的編譯器。

3、邏輯綜合

將源文件調(diào)入邏輯綜合軟件進(jìn)行綜合。綜合的目的是在于將設(shè)計的源文件由語言轉(zhuǎn)換為實(shí)際的電路。但是此時還沒有在芯片中形成真正的電路。這一步的最終目的是生成門電路級的網(wǎng)表(Netlist)。

4、布局、布線

將第 3 步生成的網(wǎng)表文件調(diào)入 PLD 廠家提供的軟件中進(jìn)行布線,即把設(shè)計好的邏輯安放到 CPLD/FPGA 內(nèi)。這一步的目的是生成用于下載(編程 Programming)的編程文件。在這一步,將用到第 3 步生成的網(wǎng)表,并根據(jù) CPLD /FPGA 廠商的器件容量,結(jié)構(gòu)等進(jìn)行布局、布線。這就好像在設(shè)計 PCB 時的布局布線一樣。先將各個設(shè)計中的門根據(jù)網(wǎng)表的內(nèi)容和器件的結(jié)構(gòu)放在器件的特定部位。然后,在根據(jù)網(wǎng)表中提供的各門的連接,把各個門的輸入輸出連接起來。最后,生成一個供編程的文件。這一步同時還會加一些時序信息(Timing)到你的設(shè)計項目中去,以便于你做后仿真。

5、后仿真

利用在布局布線中獲得的精確參數(shù),用仿真軟件驗(yàn)證電路的時序。(也叫布局布線仿真或時序仿真)。這一步主要是為了確定你的設(shè)計在經(jīng)過布局布線之后,是不是還滿足你的設(shè)計要求。

6、編程,下載

如果前幾步都沒有發(fā)生錯誤,并且符合設(shè)計要求,這一步就可以將由適配器等產(chǎn)生的配置或下載文件通過編程器或下載電纜下載到目標(biāo)芯片中。

7、硬件測試

硬件測試的目的是為了在更真實(shí)的環(huán)境中檢驗(yàn) HDL設(shè)計的運(yùn)行情況,特別是對于 HDL 程序設(shè)計上不是十分規(guī)范,語義上含有一定歧義的程序。

一、實(shí)驗(yàn)任務(wù)——設(shè)計一個秒表:

秒表的計時范圍為00’00”00 ~ 59’59”99。有兩個按鈕開關(guān)Start/Stop和Split/Reset,控制秒表的啟動、停止、分段和復(fù)位:

1,在秒表已經(jīng)被復(fù)位的情況下,按下“Start/Stop”鍵,秒表開始計時。

2,在秒表正常運(yùn)行的情況下,如果按下“Start/Stop”鍵,則秒表暫停計時。3,再次按下該鍵,秒表繼續(xù)計時。

4,在秒表正常運(yùn)行的情況下,如果按下“Split/Reset”鍵,顯示停止在按鍵時的時間,但秒表仍然在計時; 5,再次按下該鍵,秒表恢復(fù)正常顯示。

6,在秒表暫停計時的情況下,按下“Split/Reset”鍵,秒表復(fù)位歸零。

二、系統(tǒng)需求和解決方案計劃:

在項目開始設(shè)計時,首先要確定系統(tǒng)的需求并發(fā)展出一個針對這些需求的計劃。

按照秒表的設(shè)計要求,整個電路需要下面這些組成部分: 2.1 分頻器:

對晶體振蕩器產(chǎn)生的時鐘信號進(jìn)行分頻,產(chǎn)生時間基準(zhǔn)信號。2.2 計數(shù)器:

對時間基準(zhǔn)脈沖進(jìn)行計數(shù),完成計時功能。2.3 數(shù)據(jù)鎖存器:

鎖存數(shù)據(jù)使顯示保持暫停。2.4 控制器:

控制計數(shù)器的運(yùn)行、停止以及復(fù)位產(chǎn)生鎖存器的使能信號。2.5 掃描顯示的控制電路:

包括掃描計數(shù)器、數(shù)據(jù)選擇器和7段譯碼器,控制8個數(shù)碼管以掃描方式顯示計時結(jié)果。2.6 按鍵消抖電路:

消除按鍵輸入信號抖動的影響,輸出單脈沖。

三、設(shè)計思路:

從FPGA開發(fā)板的電路可以看出,其不具備對按鍵輸入的消抖功能,故須編寫消抖功能的模塊代碼。消除按鍵抖動的影響;每按一次鍵,只輸出一個脈沖,其寬度為一個時鐘周期。由開發(fā)板電路結(jié)構(gòu)可以看出,其為共陽結(jié)構(gòu),故在其運(yùn)行為低有效。

8個數(shù)碼顯示管共用一個段位,故為了將時鐘顯示在8個數(shù)碼管上,需要一定頻率(本秒表為1KHz)的信號進(jìn)行掃描,使得我們?nèi)庋劭瓷先ナ?個數(shù)碼管同時顯示的。為了實(shí)現(xiàn)秒表暫停和復(fù)位的功能,需要鎖存器模塊將時鐘數(shù)據(jù)鎖存起來,并且結(jié)合控制電路滿足秒表的功能。

FPGA開發(fā)板的晶振頻率為48MHz,而實(shí)際電路需要的頻率為1KHz,故須建立分頻模塊,將48MHz的晶振頻率分頻成1KHz。在構(gòu)建計數(shù)范圍從00’00”00-59’59”99的秒表時,從數(shù)碼管顯示的角度可知,需要建立模六和模十兩種計數(shù)模塊進(jìn)行組合形成。設(shè)計圖如下:

四、系統(tǒng)組成和解決方案:

在項目開始設(shè)計時,首先要確定系統(tǒng)的需求并發(fā)展出一個針對這些需求的計劃。按照數(shù)字式秒表工作原理的描述,需要下面這些主要的子系統(tǒng): 1,控制電路;

2,由石英振蕩器和數(shù)字分頻器構(gòu)成的時基信號發(fā)生器; 3,按鍵開關(guān)(按鍵消抖); 4,計數(shù)器; 5,數(shù)據(jù)鎖存器; 6,掃描顯示的控制子系統(tǒng)(包括顯示譯碼和掃描控制); 7,六個數(shù)碼管(LED顯示電路)。

設(shè)計框圖如下:

五、各分模塊原理:

5.1、48M-1K分頻器

對晶振振蕩器產(chǎn)生的時鐘信號進(jìn)行分頻,產(chǎn)生時間基準(zhǔn)信號。由于FPGA開發(fā)板的晶振頻率為48MHz,故在設(shè)計分頻器模塊時,為了將頻率分頻成1KHz,即將輸入的信號源每48000個周期轉(zhuǎn)換成輸出的一個周期。因此利用上升沿計數(shù)手段,將0-47999用16位二進(jìn)制數(shù)表示,而在從0-47999的計數(shù)過程中,該二進(jìn)制數(shù)的最高位只有一次狀態(tài)變化,故可取對應(yīng)二進(jìn)制數(shù)的最高位來輸出達(dá)到分頻到1KHz的目的。如下代碼為將晶振振蕩器48MHz頻率分頻成1KHz信號:

5.2、計數(shù)器

對時間基準(zhǔn)脈沖進(jìn)行計數(shù),完成計時功能。實(shí)現(xiàn)數(shù)字秒表的設(shè)計需要模6和模10計數(shù)器進(jìn)行組合??紤]到秒表的暫停和清零等功能,在設(shè)計計數(shù)器模塊時,必須有時鐘輸入端、使能以及清零端。在有時鐘信號輸入的情況下,當(dāng)使能端無效時,計數(shù)器不能進(jìn)行計數(shù);當(dāng)清零端有效時,計數(shù)重新歸為0值。而為了實(shí)現(xiàn)計數(shù)的目的,故必須將各個計數(shù)器級聯(lián)來實(shí)現(xiàn)從00’00”00-59’59”99的計數(shù),使得級聯(lián)的各技術(shù)模塊有共同的清零端與使能端,因此該單個模塊需要有輸出進(jìn)位以及該時刻的計數(shù)值并且前一級的進(jìn)位端連在下一級的使能端上。如下為模6和模10計數(shù)器代碼:

5.2.1、模6計數(shù)器

為了實(shí)現(xiàn)在秒表計數(shù)是0-5的計數(shù)部分,故須設(shè)計一個模6計數(shù)器,輸入時鐘信號、使能和清零,遇上升沿則記一次數(shù),當(dāng)從0記到5時,進(jìn)位端(用于與下一級計數(shù)器級聯(lián))有效,且遇上升沿后從5變到0,并且輸出的還有每一時刻的計數(shù)值。

5.2.2、模10計數(shù)器

為了實(shí)現(xiàn)在秒表計數(shù)是0-9的計數(shù)部分,故須設(shè)計一個模10計數(shù)器,輸入時鐘信號、使能和清零,遇上升沿則記一次數(shù),當(dāng)從0記到9時,進(jìn)位端(用于與下一級計數(shù)器級聯(lián))有效,且遇上升沿后從9變到0,并且輸出的還有每一時刻的計數(shù)值。

5.3、控制電路

控制計數(shù)器的運(yùn)行、暫停以及復(fù)位;產(chǎn)生鎖存器的使能信號。從如下狀態(tài)圖可知,在設(shè)計控制模塊時,為實(shí)現(xiàn)開發(fā)板上控制秒表的運(yùn)行暫停和清零功能,必須設(shè)置兩個控制輸入端,以及需要時鐘信號輸入端。在時鐘信號輸入情況下,由狀態(tài)圖顯示,在輸入不同的控制信號是,控制模塊需輸出信號控制計數(shù)器及其他各模塊的清零和使能端,即當(dāng)外部控制運(yùn)行/暫停鍵首次按下時,控制模塊輸出控制技術(shù)模塊最開始的計數(shù)器模塊使能有效,各模塊清零無效;當(dāng)?shù)诙伟聪聲r為暫停信號,控制模塊控制鎖存器鎖存并控制顯示。當(dāng)清零控制鍵按下時,控制模塊控制技術(shù)模塊清零,故要兩個輸出使能端。

5.4、鎖存器

鎖存數(shù)據(jù),使顯示保持鎖定。為達(dá)到鎖存數(shù)據(jù)目的,則必須要有對應(yīng)的8個數(shù)碼顯示數(shù)據(jù)輸入,當(dāng)其中兩個數(shù)碼數(shù)據(jù)為不變的,故只需輸入6組由4位二進(jìn)制碼構(gòu)成的數(shù)據(jù)、1KHz時鐘信號以及控制模塊作用的使能端。當(dāng)使能端有效的情況下,將輸入6組數(shù)據(jù)輸出。5.5、消抖電路

消除按鍵輸入信號抖動的影響,輸出單脈沖。在手動控制按鍵輸入控制信號前,由于人為因素,會導(dǎo)致輸入信號不穩(wěn)定等問題,故須添加一個消抖模塊,使得每次按鍵只會產(chǎn)生一個脈沖。故除1KHz時鐘信號輸入外,還需要一個按鍵控制信號輸入端以及一個按鍵消抖后輸出信號。

5.6、譯碼器

包括掃描計數(shù)器、3-8譯碼器、數(shù)據(jù)選擇器以及7段譯碼器;控制8個數(shù)碼管一掃描方式顯示計時結(jié)果。譯碼模塊的功能是對之前計數(shù)模塊的計數(shù)值進(jìn)行譯碼,使其可以在數(shù)碼管上顯示出來。在8個數(shù)碼管中有兩個數(shù)碼管顯示是不變的,故不需要輸出,所以譯碼模塊要求輸入需要譯碼的6組數(shù)據(jù)以及1KHz時鐘信號。譯碼模塊除了要求對每一個可能的值(0-9)進(jìn)行譯碼外,還有設(shè)計要求8個數(shù)碼管顯示共用一個段位,故還需設(shè)計一個3-8譯碼模塊對8個數(shù)碼顯示管進(jìn)行選擇,使其輪流顯示,在1KHz的掃描下,使人看上去是8個數(shù)碼管同時顯示的。

l

5.7、計數(shù)器模塊

由模6和模10計數(shù)器級聯(lián)而成。為了實(shí)現(xiàn)從00’00”00-59’59”99的計數(shù),需要將4個模10計數(shù)模塊和2個模6計數(shù)模塊級聯(lián),并且為了達(dá)到設(shè)計要求是這6個計數(shù)器工作在100Hz的時鐘信號下,可利用一個模10的計數(shù)模塊對1KHz進(jìn)行分頻,輸出的信號頻率即為100Hz,該總計數(shù)模塊最終需輸出6組計數(shù)數(shù)據(jù)以及其最終的進(jìn)位。

5.8、top文件

由以上各個文件相互連接而成,以及硬件的管腳管腳分布。將之前所建立的各個模塊級聯(lián)起來,從按鍵輸入信號到按鍵消抖模塊再進(jìn)而連接到控制器,通過控制模塊對總計數(shù)器模塊、鎖存器模塊、譯碼器模塊、分頻器模塊相互連接起來,并設(shè)置晶振輸入信號以及兩個按鍵控制信號輸入,再由譯碼器模塊知,秒表設(shè)計的最終輸出由一個3-8對應(yīng)的8位位選信號和一組7位的段選信號組成。最后對總文件的輸出進(jìn)行管腳分配,并下載到FPGA開發(fā)板上驗(yàn)證設(shè)計。

六、仿真結(jié)果與分析::

6.11000HZ信號的產(chǎn)生

6.210位計數(shù)器的產(chǎn)生

由圖可得,10位計數(shù)器從0000計到1001

6.3 6位計數(shù)器的產(chǎn)生

由圖可得,6位計數(shù)器從0000計到0101。

6.4七段數(shù)碼管顯示數(shù)字

6.5鎖存器

由圖可得,當(dāng)沒有時鐘信號時Q不變。6.6分頻器 1000Hz-100Hz

七、分配引腳和下載實(shí)現(xiàn):

全部仿真通過后,就運(yùn)行ISE 的設(shè)計實(shí)現(xiàn),然后再打開XILINX PACE,在里面分配引腳,即實(shí)現(xiàn)設(shè)計的輸入輸出端口與實(shí)際芯片的輸入輸出端口的對應(yīng)連接。

比如七段LED 管的控制信號就連接到實(shí)際電路的七個引腳。需要注意的是一些端口是固定的,不能胡亂的連接。比如時基信號即石英振蕩器所提供的信號就只能由P181 輸入。同時還要考慮內(nèi)部的可配制邏輯塊CLB 的數(shù)量是否夠滿足程序的綜合要求。一切都準(zhǔn)備就緒后就可以運(yùn)行Configure Device,選擇要下載的位文件(.bit)便可開始。

八、實(shí)驗(yàn)結(jié)論:

8.1、本次實(shí)驗(yàn)實(shí)現(xiàn)了秒表的計數(shù),復(fù)位,暫停,鎖顯等功能,讓我充分了解和認(rèn)識到ISE 和Modelsim軟件的強(qiáng)大功能和FPGA 技術(shù)的優(yōu)越性。并對軟件開發(fā)產(chǎn)生了興趣。

8.2、仿真和下載實(shí)現(xiàn)是兩個不同的檢驗(yàn),仿真從軟件內(nèi)部來檢驗(yàn)程序的合理性和正確性,準(zhǔn)確性較高。而下載實(shí)現(xiàn)是從外部來觀察程序的實(shí)現(xiàn)效果,更直觀,但不具有準(zhǔn)確性。8.3、有時候下載實(shí)現(xiàn)了所有的功能,但是仿真通不過,這可能是因?yàn)槌绦蛑杏行┎糠植⒉煌晟茖?dǎo)致。從外部來看,效果是一樣的,但實(shí)際程序卻存在漏洞。附:參考文獻(xiàn):

《數(shù)字設(shè)計原理與實(shí)踐》作者:(美)John F.Wakerly編 《FPGA應(yīng)用開發(fā)入門與典型實(shí)例》華清遠(yuǎn)見嵌入式培訓(xùn)中心編

附件:(源程序)

1.TOP文件:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity top is

Port(S_S : in STD_LOGIC;

S_R : in STD_LOGIC;clk : in STD_LOGIC;

Out8: out STD_LOGIC_VECTOR(7 downto 0);Seg : out STD_LOGIC_VECTOR(6 downto 0));end top;

architecture Behavioral of top is

COMPONENT fenpingqi_48m_1k PORT(clk : IN std_logic;

q : OUT std_logic);END COMPONENT;

COMPONENT counter PORT(clk : IN std_logic;

eng : IN std_logic;

clear : IN std_logic;

ou : OUT std_logic;

daout1 : OUT std_logic_vector(3 downto 0);

daout2 : OUT std_logic_vector(3 downto 0);

daout3 : OUT std_logic_vector(3 downto 0);

daout4 : OUT std_logic_vector(2 downto 0);daout5 : OUT std_logic_vector(3 downto 0);daout6 : OUT std_logic_vector(2 downto 0));

END COMPONENT;

COMPONENT keydb PORT(clk : IN std_logic;key_in : IN std_logic;

key_out : OUT std_logic);END COMPONENT;

COMPONENT control PORT(clk : IN std_logic;q : IN std_logic;p : IN std_logic;

j_clr : OUT std_logic;j_en : OUT std_logic;s_en : OUT std_logic);END COMPONENT;COMPONENT latch PORT(cnt_0 : IN std_logic_vector(3 downto 0);cnt_00 : IN std_logic_vector(3 downto 0);cnt_1 : IN std_logic_vector(3 downto 0);cnt_11 : IN std_logic_vector(2 downto 0);cnt_2 : IN std_logic_vector(3 downto 0);cnt_22 : IN std_logic_vector(2 downto 0);display_in : IN std_logic;

cnt0 : OUT std_logic_vector(3 downto 0);cnt00 : OUT std_logic_vector(3 downto 0);cnt1 : OUT std_logic_vector(3 downto 0);cnt11 : OUT std_logic_vector(2 downto 0);cnt2 : OUT std_logic_vector(3 downto 0);cnt22 : OUT std_logic_vector(2 downto 0));END COMPONENT;

COMPONENT display PORT(clk_1k : IN std_logic;

cnt0 : IN std_logic_vector(3 downto 0);

cnt00 : IN std_logic_vector(3 downto 0);

cnt1 : IN std_logic_vector(3 downto 0);

cnt11 : IN std_logic_vector(2 downto 0);

cnt2 : IN std_logic_vector(3 downto 0);

cnt22 : IN std_logic_vector(2 downto 0);

output: out STD_LOGIC_VECTOR(7 downto 0);

seg : OUT std_logic_vector(7 downto 1));END COMPONENT;

signal clk_1k,clk_100:std_logic;signal S_S_out,S_R_out:std_logic;signal clr_A,ena_A,lock_A:std_logic;signal co_out1,co_out2,co_out3,co_out4,co_out5:std_logic;signal dao1,dao2,dao3,dao5,daoA,daoB,daoC,daoE:std_logic_vector(3 0);signal dao4,dao6,daoD,daoF:std_logic_vector(2 downto 0);signal Dig:std_logic_vector(2 downto 0);

begin

Inst_fenpingqi_48000: fenpingqi_48m_1k PORT MAP(clk =>clk,q => clk_1k);

Inst_counter: counter PORT MAP(clk =>clk_1k ,eng =>ena_A ,clear =>clr_A ,daout1 =>dao1 ,daout2 => dao2,daout3 => dao3,daout4 => dao4,daout5 => dao5,daout6 => dao6);

Inst_keydb1: keydb PORT MAP(clk =>clk_1k ,key_in => S_S,downto

key_out =>S_S_out);

Inst_keydb2: keydb PORT MAP(clk =>clk_1k , key_in => S_R, key_out =>S_R_out);Inst_control: control PORT MAP(clk =>clk_1k , q =>S_S_out , p =>S_R_out , j_clr =>clr_A , j_en =>ena_A , s_en =>lock_A);Inst_latch: latch PORT MAP(cnt_0 => dao1, cnt_00 => dao2, cnt_1 => dao3, cnt_11 => dao4, cnt_2 => dao5, cnt_22 => dao6, display_in =>lock_A , cnt0 =>daoA, cnt00 =>daoB, cnt1 =>daoC, cnt11 =>daoD, cnt2 =>daoE, cnt22 =>daoF);Inst_display: display PORT MAP(clk_1k => clk_1k, cnt0 =>daoA , cnt00 =>daoB, cnt1 =>daoC, cnt11 =>daoD, cnt2 =>daoE, cnt22 =>daoF, output => Out8, seg =>Seg);

end Behavioral;

2.模10計算器:

entity counter10 is

Port(clr : in STD_LOGIC;clk : in STD_LOGIC;

en : in STD_LOGIC;

co : out STD_LOGIC;daout : out STD_LOGIC_VECTOR(3 downto 0));end counter10;

architecture Behavioral of counter10 is signal count:std_logic_vector(3 downto 0);begin process(clk,clr,count)begin if clr='1' then count<=“0000”;co<='0';elsif(clk='1' and clk'event)then if en='1' then if count=“1001” then count<=“0000”;else count<=count+1;end if;end if;end if;if count=“1001”and en='1' then co<='1';else co<='0';end if;daout<=count;end process;

end Behavioral;3.模6計算器:

entity counter6 is

Port(clr : in STD_LOGIC;clk : in STD_LOGIC;

en : in STD_LOGIC;

co : out STD_LOGIC;daout : out STD_LOGIC_VECTOR(2 downto 0));end counter6;

architecture Behavioral of counter6 is signal count:std_logic_vector(2 downto 0);

begin process(clk,clr,count)begin if clr='1' then count<=“000”;

co<='0';elsif(clk='1' and clk'event)then if en='1' then if count=“101” then count<=“000”;else count<=count+1;end if;end if;end if;if count=“101”and en='1' then co<='1';else co<='0';end if;daout<=count;end process;end Behavioral;

4.計算器級聯(lián):

entity counter is

Port(clk : in STD_LOGIC;eng : in STD_LOGIC;

clear : in STD_LOGIC;

ou : out STD_LOGIC;

daout1 : out STD_LOGIC_VECTOR(3 downto 0);

daout2 : out STD_LOGIC_VECTOR(3 downto 0);

daout3 : out STD_LOGIC_VECTOR(3 downto 0);

daout4 : out STD_LOGIC_VECTOR(2 downto 0);

daout5 : out STD_LOGIC_VECTOR(3 downto 0);

daout6 : out STD_LOGIC_VECTOR(2 downto 0));end counter;

architecture Behavioral of counter is COMPONENT fenpingqi_1k_100 PORT(clk : IN std_logic;

q : OUT std_logic);END COMPONENT;

COMPONENT counter10 PORT(clr : IN std_logic;

clk : IN std_logic;

en : IN std_logic;

co : OUT std_logic;

daout : OUT std_logic_vector(3 downto 0));END COMPONENT;

COMPONENT counter6 PORT(clr : IN std_logic;

clk : IN std_logic;

en : IN std_logic;

co : OUT std_logic;

daout : OUT std_logic_vector(2 downto 0));END COMPONENT;

signal clk_100:std_logic;signal clr_A,ena_A:std_logic;signal co_out1,co_out2,co_out3,co_out4,co_out5:std_logic;

begin Inst_fenpingqi_10: fenpingqi_1k_100 PORT MAP(clk =>clk,q => clk_100);

Inst_counter10_1: counter10 PORT MAP(clr => clear,clk =>clk_100 ,en =>eng,co => co_out1,daout => daout1);Inst_counter10_2: counter10 PORT MAP(clr => clear,clk =>clk_100 ,en => co_out1,co => co_out2,daout => daout2);Inst_counter10_3: counter10 PORT MAP(clr => clear,clk =>clk_100 ,en => co_out2,co => co_out3,daout => daout3);

Inst_counter6_1: counter6 PORT MAP(clr =>clear ,clk =>clk_100,en =>co_out3,co =>co_out4 ,daout => daout4);Inst_counter10_4: counter10 PORT MAP(clr => clear,clk =>clk_100 ,en => co_out4,co => co_out5,daout => daout5);Inst_counter6_2: counter6 PORT MAP(clr =>clear,clk =>clk_100,en =>co_out5,co =>ou,daout => daout6);

end Behavioral;

5.控制電路:

entity control is

Port(clk : in STD_LOGIC;

q : in STD_LOGIC;

p : in STD_LOGIC;j_clr : out STD_LOGIC;j_en : out STD_LOGIC;s_en : out STD_LOGIC);end control;

architecture Behavioral of control is signal state:std_logic_vector(1 downto 0):=“00”;signal next_state:std_logic_vector(1 downto 0);signal key:std_logic_vector(1 downto 0);

begin key<=q&p;process(state,key)begin case state is when“00”=> if key=“10” then next_state<=“01”;else next_state<=state;end if;when“01”=> case key is when“10”=>next_state<=“11”;when“01”=>next_state<=“10”;when others=>next_state<=state;end case;when“10”=> if key=“01” then next_state<=“01”;else next_state<=state;end if;when others=> case key is when“10”=>next_state<=“01”;when“01”=>next_state<=“00”;when others=>next_state<=state;end case;end case;end process;process(clk)begin if rising_edge(clk)then state<=next_state;end if;end process;process(state)begin case state is when“00”=> j_clr<='1';j_en<='1';s_en<='1';when“01”=> j_clr<='0';j_en<='1';s_en<='1';when“10”=> j_clr<='0';j_en<='1';s_en<='0';when others=> j_clr<='0';j_en<='0';s_en<='1';end case;end process;end Behavioral;

6.分頻器(2個): entity fenpingqi_48m_1k is

Port(clk : in STD_LOGIC;

q : out STD_LOGIC);end fenpingqi_48m_1k;

architecture Behavioral of fenpingqi_48m_1k is signal counter:STD_LOGIC_VECTOR(15 downto 0);begin process(clk)begin if(clk='1'and clk'event)then if counter=47999 then counter<=(others=>'0');else

counter<=counter+1;end if;end if;

q<= counter(15);end process;

end Behavioral;

entity fenpingqi_1k_100 is

Port(clk : in STD_LOGIC;

q : out STD_LOGIC);end fenpingqi_1k_100;architecture Behavioral of fenpingqi_1k_100 is signal counter:STD_LOGIC_vector(3 downto 0);

begin process(clk)begin if(clk='1'and clk'event)then if counter=9 then counter<=“0000”;else

counter<=counter+1;end if;end if;q<=counter(3);end process;end Behavioral;

7.顯示電路:

entity display is

Port(clk_1k : in STD_LOGIC;

cnt0 : in STD_LOGIC_VECTOR(3 downto 0);

cnt00 : in STD_LOGIC_VECTOR(3 downto 0);

cnt1 : in STD_LOGIC_VECTOR(3 downto 0);

cnt11 : in STD_LOGIC_VECTOR(2 downto 0);

cnt2 : in STD_LOGIC_VECTOR(3 downto 0);

cnt22 : in STD_LOGIC_VECTOR(2 downto 0);

output: out STD_LOGIC_VECTOR(7 downto 0);seg : out STD_LOGIC_VECTOR(7 downto 1));end display;

architecture Behavioral of display is signal dig:std_logic_vector(2 downto 0):=“000”;signal bcd:std_logic_vector(3 downto 0):=“1000”;signal seg7:std_logic_vector(7 downto 1):=“1111110”;

begin process(clk_1k)begin if clk_1k'event and clk_1k='1' then dig<=dig+1;end if;end process;process(dig)begin case dig is when“000”=>bcd<=cnt0;when“001”=>bcd<=cnt00;when“010”=>bcd<=“1010”;when“011”=>bcd<=cnt1;when“100”=>bcd<='0'& cnt11;when“101”=>bcd<=“1010”;when“110”=>bcd<=cnt2;when“111”=>bcd<='0'&cnt22;when others=>bcd<=“1010”;end case;end process;process(bcd)begin case bcd is when“0000”=>seg7<=“0000001”;when“0001”=>seg7<=“1001111”;when“0010”=>seg7<=“0010010”;when“0011”=>seg7<=“0000110”;when“0100”=>seg7<=“1001100”;when“0101”=>seg7<=“0100100”;when“0110”=>seg7<=“1100000”;when“0111”=>seg7<=“0001111”;when“1000”=>seg7<=“0000000”;when“1001”=>seg7<=“0001100”;when others=>seg7<=“1111110”;end case;end process;process(dig)begin case dig is when“000”=>output<=“01111111”;when“001”=>output<=“10111111”;when“010”=>output<=“11011111”;when“011”=>output<=“11101111”;when“100”=>output<=“11110111”;when“101”=>output<=“11111011”;when“110”=>output<=“11111101”;when“111”=>output<=“11111110”;when others=>output<=“11111111”;end case;end process;seg<=seg7;end Behavioral;

8.鎖存器:

entity latch is

Port(cnt_0 : in STD_LOGIC_VECTOR(3 downto 0);

cnt_00 : in STD_LOGIC_VECTOR(3 downto 0);

cnt_1 : in STD_LOGIC_VECTOR(3 downto 0);

cnt_11 : in STD_LOGIC_VECTOR(2 downto 0);

cnt_2 : in STD_LOGIC_VECTOR(3 downto 0);

cnt_22 : in STD_LOGIC_VECTOR(2 downto 0);display_in : in STD_LOGIC;

cnt0 : out STD_LOGIC_VECTOR(3 downto 0);

cnt00 : out STD_LOGIC_VECTOR(3 downto 0);

cnt1 : out STD_LOGIC_VECTOR(3 downto 0);

cnt11 : out STD_LOGIC_VECTOR(2 downto 0);

cnt2 : out STD_LOGIC_VECTOR(3 downto 0);

cnt22 : out STD_LOGIC_VECTOR(2 downto 0));end latch;

architecture Behavioral of latch is

begin process(display_in,cnt_0,cnt_00,cnt_1,cnt_11,cnt_2,cnt_22)begin if display_in='1' then cnt0<=cnt_0;cnt00<=cnt_00;cnt1<=cnt_1;cnt11<=cnt_11;cnt2<=cnt_2;cnt22<=cnt_22;end if;end process;end Behavioral;

9.消抖電路:

entity keydb is

Port(clk : in STD_LOGIC;key_in : in STD_LOGIC;key_out : out STD_LOGIC);end keydb;

architecture Behavioral of keydb is signal k1,k2:STD_LOGIC;signal cnt : STD_LOGIC_VECTOR(1 DOWNTO 0);

begin process(clk,key_in)begin if clk'event and clk ='0' then if cnt =3 then k1<='1';else k1<='0';cnt<=cnt+1;end if;k2<=k1;end if;if key_in ='0' then cnt<=“00”;end if;end process;key_out<= not k1 and k2;

end Behavioral

第五篇:電子科技大學(xué)實(shí)驗(yàn)報告格式

九、實(shí)驗(yàn)結(jié)論:

十、總結(jié)及心得體會:

十一、對本實(shí)驗(yàn)過程及方法、手段的改進(jìn)建議:

報告評分:指導(dǎo)教師簽字:

電子科技大學(xué)

學(xué)生姓名:

學(xué)號:

指導(dǎo)教師:

日期:實(shí) 驗(yàn) 報 告年月日

一、實(shí)驗(yàn)室名稱:

二、實(shí)驗(yàn)項目名稱:

三、實(shí)驗(yàn)原理:

四、實(shí)驗(yàn)?zāi)康模?/p>

五、實(shí)驗(yàn)內(nèi)容:

六、實(shí)驗(yàn)器材(設(shè)備、元器件):

七、實(shí)驗(yàn)步驟:

八、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:

下載電子科技大學(xué)微機(jī)實(shí)驗(yàn)報告 實(shí)驗(yàn)4word格式文檔
下載電子科技大學(xué)微機(jī)實(shí)驗(yàn)報告 實(shí)驗(yàn)4.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    電子科技大學(xué)實(shí)驗(yàn)報告格式

    九、實(shí)驗(yàn)結(jié)論:十、總結(jié)及心得體會:十一、對本實(shí)驗(yàn)過程及方法、手段的改進(jìn)建議: 報告評分: 指導(dǎo)教師簽字: 電子科技大學(xué) 學(xué)生姓名:學(xué)號:指導(dǎo)教師:日期:實(shí) 驗(yàn) 報 告 年月 日一、實(shí)驗(yàn)......

    電子科技大學(xué)數(shù)學(xué)實(shí)驗(yàn)報告

    一、 選擇題:(每題3分,共30分) 1、若分式 有意義,則x的取值范圍是( A.B.C.D.x≠-1 ) 2、一射擊運(yùn)動員在一次射擊練習(xí)中打出的成績?nèi)缦卤硭荆哼@次成績的眾數(shù)是( ) A;6B;8C;10D;7 3、若一組......

    電子科技大學(xué)實(shí)驗(yàn)報告(推薦閱讀)

    電子科技大學(xué)信息與軟件學(xué)院實(shí) 驗(yàn) 報 告(實(shí)驗(yàn))課程名稱 學(xué)生姓名學(xué)生學(xué)號電子科技大學(xué)教務(wù)處制表電 子 科 技 大 學(xué) 實(shí)驗(yàn)報告 學(xué)生姓名:學(xué) 號:指導(dǎo)教師: 實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)時間: 一、實(shí)......

    微機(jī)實(shí)驗(yàn)報告

    自動化 學(xué)院 物聯(lián)網(wǎng) 專業(yè) 1 班 學(xué)號姓名 協(xié)作者 教師評定 實(shí)驗(yàn)一 操作訓(xùn)練及數(shù)碼轉(zhuǎn)換實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1)掌握80x86微機(jī)原理及接口技術(shù)教學(xué)實(shí)驗(yàn)系統(tǒng)的操作,熟悉Wmd86聯(lián)級集成......

    微機(jī)實(shí)驗(yàn)報告

    微機(jī)實(shí)驗(yàn)報告 曾東明 實(shí)驗(yàn)一 輸出字符‘A’ 一、實(shí)驗(yàn)?zāi)康?1.通過這個簡單的例子熟悉在微機(jī)上建立、匯編、鏈接和運(yùn)行8086/8088匯編語言程序的過程。 2.掌握字符的顯示方法。 3......

    計算機(jī)組成原理實(shí)驗(yàn)報告 電子科技大學(xué)

    計算機(jī)專業(yè)類課程 實(shí)驗(yàn)報 告 課程名稱:計算機(jī)組成原理 學(xué)院專業(yè):計算機(jī)科學(xué)與工程 計算機(jī)科學(xué)與技術(shù)學(xué)生姓名:** 學(xué)號:20120600***** 指導(dǎo)教師:吳曉華 日期:2014年11月30日 實(shí) 驗(yàn)......

    電子科技大學(xué) 實(shí)驗(yàn)報告 創(chuàng)新學(xué)分 實(shí)驗(yàn)課(優(yōu)秀范文5篇)

    電子科技大學(xué)學(xué)生姓名: 學(xué)號: 指導(dǎo)教師: 日期:實(shí) 驗(yàn) 報告 一、實(shí)驗(yàn)室名稱: 二、實(shí)驗(yàn)項目名稱: 三、實(shí)驗(yàn)原理:四、實(shí)驗(yàn)?zāi)康模何?、?shí)驗(yàn)內(nèi)容:六、實(shí)驗(yàn)器材(設(shè)備、元器件):七、實(shí)驗(yàn)步驟:八、實(shí)......

    微機(jī)實(shí)驗(yàn)報告數(shù)模轉(zhuǎn)換器和模數(shù)轉(zhuǎn)換器實(shí)驗(yàn)5篇

    實(shí)驗(yàn)報告 課程名稱 微機(jī)接口與匯編語言實(shí)驗(yàn)項目 實(shí)驗(yàn)五 數(shù)/模轉(zhuǎn)換器和模/數(shù)轉(zhuǎn)換器實(shí)驗(yàn) 實(shí)驗(yàn)儀器 TPC-USB通用微機(jī)接口實(shí)驗(yàn)系統(tǒng) 系 別 計算機(jī)學(xué)院專 業(yè) 班級/學(xué)號 學(xué)生姓......

主站蜘蛛池模板: 欧美黑寡妇特a级做爰| 亚洲国产香蕉碰碰人人| 国产成人一区二区三区别| 色悠久久久久久久综合网| 日本久久综合久久综合| 一区二区国产高清视频在线| 国产av久久人人澡人人爱| 国产成人无码免费看片软件| 亚洲国产精品无码java| 亚州性无码不卡免费视频| 精品国产片一区二区三区| 人妻aⅴ无码一区二区三区| 大学生疯狂高潮呻吟免费视频| 日本免费一区二区三区最新| 国产精品久久| 国产精品久久久久这里只有精品| 精品999日本久久久影院| 国产av大陆精品一区二区三区| 成人无码网www在线观看| 中文字幕亚洲欧美专区| 国产女人高潮叫床视频| 18禁美女裸体网站无遮挡| 国产 中文 亚洲 日韩 欧美| 亚洲国产av玩弄放荡人妇| 男人和女人在床的app| 亚洲日韩一中文字暮av| 黄网站色成年片大免费高清| 中国熟妇人妻xxxxx| 丰满多毛的大隂户毛茸茸| 伊人精品一本久久综合| 久久久成人精品av四区| 人妻少妇精品无码专区动漫| 国产亚洲精品a片久久久| 亚洲日韩在线a视频在线观看| 一品二品三品中文字幕| 亚洲精品国产第一区第二| 在线观看欧美一区二区三区| 后入内射欧美99二区视频| 日本丰满护士爆乳xxxx| 久久久久人妻精品一区三寸| 国产一区二区四区在线观看|