欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      電子科技大學微機實驗報告 實驗5

      時間:2019-05-12 06:52:06下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《電子科技大學微機實驗報告 實驗5》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《電子科技大學微機實驗報告 實驗5》。

      第一篇:電子科技大學微機實驗報告 實驗5

      實驗五 基于ARM的模塊方式驅動程序實驗 【實驗目的】 1.掌握Linux 系統(tǒng)下設備驅動程序的作用與編寫技巧 2.掌握Linux 驅動程序模塊加載和卸載的方法 3.了解Linux 內核中的makefile和kconfig文件

      【實驗內容】

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

      【預備知識】

      1.了解ARM9處理器結構和Linux 系統(tǒng)結構

      2.熟練掌握C語言。

      【實驗設備和工具】

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

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

      【實驗原理】

      ?

      linux設備驅動程序 ? 驅動的模塊式加載和卸載

      ? 編譯模塊

      ? 裝載和卸載模塊

      ? led 驅動的原理

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

      因為ARM 芯片內的GPIO口都是復用的,即它可以被配置為多種不同的功能,本實

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

      【實驗步驟】實驗程

      序運行效果:

      程序會提示:“pleaseenterthe led status”

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

      ? 輸入數(shù)字“3”,對應的二進制數(shù)字為00000011

      故點亮LED2~LED7

      ? 輸入數(shù)字“4”,對應的二進制數(shù)字為00000100

      故點亮LED0,LED1,LED3~LED7

      【實驗結果和程序】

      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.設備驅動程序的功能是什么?答:設備驅動的功能就是將系統(tǒng)提供的調用映射到作用于實際硬件的和設備相關的操作上。

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

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

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

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

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

      【實驗結論】

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

      第二篇:電子科技大學微機實驗報告 實驗4

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

      【實驗內容】

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

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

      【預備知識】

      1.了解ARM9處理器結構 2.了解Linux 系統(tǒng)結構

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

      【實驗設備和工具】

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

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

      【實驗原理】

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

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

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

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

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

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

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

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

      2.NFS服務

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

      統(tǒng)上的文件。

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

      在本實驗中就是將PC機作為服務器,而將ARM開發(fā)板作為客戶機,這樣ARM開發(fā)板就可以遠程

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

      【實驗步驟】

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

      4.其他步驟詳見實驗指導書

      【實驗結果和程序】

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

      【思考題】

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

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

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

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

      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。

      【實驗結論】

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

      第三篇:電子科技大學實驗報告格式

      九、實驗結論:

      十、總結及心得體會:

      十一、對本實驗過程及方法、手段的改進建議:

      報告評分:

      指導教師簽字: 電子科技大學

      學生姓名:學

      號:指導教師:日

      期:實 驗 報 告

      ****年**月**日

      一、實驗室名稱:

      二、實驗項目名稱:

      三、實驗原理:

      四、實驗目的:

      五、實驗內容:

      六、實驗器材(設備、元器件):

      七、實驗步驟:

      八、實驗數(shù)據(jù)及結果分析:

      第四篇:電子科技大學實驗報告格式

      九、實驗結論:

      十、總結及心得體會:

      十一、對本實驗過程及方法、手段的改進建議:

      報告評分:指導教師簽字:

      電子科技大學

      學生姓名:

      學號:

      指導教師:

      日期:實 驗 報 告年月日

      一、實驗室名稱:

      二、實驗項目名稱:

      三、實驗原理:

      四、實驗目的:

      五、實驗內容:

      六、實驗器材(設備、元器件):

      七、實驗步驟:

      八、實驗數(shù)據(jù)及結果分析:

      第五篇:北京科技大學微機原理實驗報告

      微機原理及應用實驗報告

      學院: 班級: 學號: 姓名:

      微機實驗報告書(Ⅰ)學號:姓名:班級: 同組名單:實驗日期:

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

      實驗目標:掌握8253的基本工作原理和編程方法 實驗步驟:

      連接電路圖

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

      程序清單:

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

      EQU

      0C800H-0280H

      IO8253A EQU

      IOPORT+283H

      IO8253B EQU

      IOPORT+280H

      CODE SEGMENT

      ASSUME

      CS:CODE

      START: MOV

      AL,00010000B

      ;設置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

      ;調顯示子程序

      PUSH

      DX

      MOV

      AH,06H

      MOV

      DL,0FFH

      INT

      21H

      POP

      DX

      JZ

      LLL

      ;跳轉到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 運行結果:

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

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

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

      微機實驗報告書(Ⅱ)

      學號:姓名:班級: 同組名單:實驗日期:

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

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

      實驗目標:1.掌握8253的基本工作原理和編程方法

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

      實驗步驟: 實驗一:

      連接電路圖

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

      連接電路圖

      1)實驗電路如圖,8255C口接邏輯電平開關K0~K7,A口接LED顯示電路L0~L7。

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

      連接電路圖

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

      實驗二:

      實驗三:

      程序清單: 實驗一:

      ;*******************;* 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

      ;設工作方式

      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

      實驗二:

      ;*************************;;* 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 進行設定,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ù)據(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

      ;求出相應的段碼

      MOV

      DX,IO8255A

      ;從 8255 的A口輸出

      OUT

      DX,AL

      JMP

      SSS

      ;轉 SSS EXIT:

      MOV

      AH,4CH

      ;返回

      INT

      21H CODE

      ENDS

      END

      START;

      運行結果: 實驗一:

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

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

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

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

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

      微機實驗報告書(Ⅲ)

      學號:姓名:班級: 同組名單:實驗日期: 實驗題目:步進電機控制實驗

      實驗目標:1.了解步進電機控制的基本原理

      2.掌握控制步進電機轉動的編程方法

      實驗步驟:

      連接電路圖

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

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

      程序清單:

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

      步進電機

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

      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

      ;輸入開關狀態(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 運行結果:

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

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

      下載電子科技大學微機實驗報告 實驗5word格式文檔
      下載電子科技大學微機實驗報告 實驗5.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


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

      相關范文推薦

        電子科技大學數(shù)學實驗報告

        一、 選擇題:(每題3分,共30分) 1、若分式 有意義,則x的取值范圍是( A.B.C.D.x≠-1 ) 2、一射擊運動員在一次射擊練習中打出的成績如下表所示:這次成績的眾數(shù)是( ) A;6B;8C;10D;7 3、若一組......

        現(xiàn)代電子實驗報告 電子科技大學

        基于FPGA的現(xiàn)代電子實驗設計報告 ——數(shù)字式秒表設計(VHDL) 學院:物理電子學院 專業(yè): 學號: 學生姓名: 指導教師: 實驗地點: 實驗時間: 劉曦 科研樓303 摘要: 通過使用VHDL語言......

        電子科技大學實驗報告(推薦閱讀)

        電子科技大學信息與軟件學院實 驗 報 告(實驗)課程名稱 學生姓名學生學號電子科技大學教務處制表電 子 科 技 大 學 實驗報告 學生姓名:學 號:指導教師: 實驗地點:實驗時間: 一、實......

        微機實驗報告

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

        微機實驗報告

        微機實驗報告 曾東明 實驗一 輸出字符‘A’ 一、實驗目的 1.通過這個簡單的例子熟悉在微機上建立、匯編、鏈接和運行8086/8088匯編語言程序的過程。 2.掌握字符的顯示方法。 3......

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

        電子科技大學學生姓名: 學號: 指導教師: 日期:實 驗 報告 一、實驗室名稱: 二、實驗項目名稱: 三、實驗原理:四、實驗目的:五、實驗內容:六、實驗器材(設備、元器件):七、實驗步驟:八、實......

        微機實驗報告數(shù)模轉換器和模數(shù)轉換器實驗5篇

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

        計算機組成原理實驗報告 電子科技大學

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