当前位置:文档之家› Atmega8输出PWM波的仿真实验

Atmega8输出PWM波的仿真实验

Atmega8输出PWM波的仿真实验

一、硬件部分:

1.AD转换:

由引脚ADC0(PC0)输入0—5V变化的模拟电压量(通过调节变阻器实现),经由内部AD转换得到8位二进制数字量,数据传给D端口,控制8个LED的亮灭以显示这8位二进制数。

2.PWM控制输出电压(DA转换):

DA转换通过改变PWM波的占空比来实现,其中单片机OCR1A (输出比较寄存器)寄存器控制PWM波的占空比,将AD转换的数字量赋值给OCR1A寄存器,则PWM波的占空比将会随着AD转换值的改变相应的改变,通过PWM波输出端口PB1输出波形,PB1端口通过低通滤波器输出的电压实现了数字量转变为模拟量的过程,即实现了DA转换。

仿真硬件原理图

二、软件部分:

首先,AD转换需要设定的寄存器有两个: ADMUX(控制AD的转换结果左/右对齐、参考电压、AD的输入通道),ADCSRA(使能AD、转换模式)。其次,用ATmega8的T/C1和T/C2可以产生三路PWM 信号,本程序使用T/C1产生8位快速PWM波,需要设定T/C1的寄存器有三个:TCCR1A 、TCCR1B(这两个寄存器一起决定了两路PWM信号的产生方式、频率和TOP值)、OCR1A(输出比较寄存器)(此值/TOP为占空比)。

程序:

/*通过改变输出方波的占空比来改变等效的输出电压*/

#include

void main(void)

{

int i;

/***********AD转换设置**********/

ADMUX=0X20; //AD的转换结果左对齐(ADLAR置位),

//参考电压是AREF,AD的输入通道是PC0(ADC0),ADCSRA=0XE0; //开启AD==AD使能(ADEN),连续转换模式(ADFR)

PORTD=0X00; //D端口初始化

DDRD=0XFF; //数据D端口显示

/***** T/C1 初始化 ************/

//T/C1 控制寄存器:

TCCR1A=0xA1; //8位快速PWM(p91),匹配时清零,TOP:255(0x00ff)

//pwm频率=时钟频率/(0(无分频)+(1+255(top))

TCCR1B=0x09; //输出比较寄存器

OCR1A=0x80; //占空比初始:1/2

PORTB=0X00;

DDRB=0XFF; //pwm的引脚OC1A(PB1)为输出

/****************************/

//转换结束后,转换结果被存入 ADC 结果寄存器 (ADCL, ADCH),

while(1)

{

for(i=0;i<500;i++); // 延时

OCR1A=ADCH; //把AD转换的值赋给OCR1A寄存器,使得PWM的

占空比随AD转化的值变化

PORTD=ADCH; //如果转换结果为左对齐,那么仅需读取 ADCH ,否则必

须先读出 ADCL 再读 ADCH

}

}

二、仿真经过及结果:

8个LED灯从上到下分别接PD0—PD7,即由低位到高位。从图一到图七演示了电压从最高5V降到最低0V,占空比随之变小的经过,其中图四为占空比1/2时的画面。

图一

图二

图三

图四

图五

图六

图七

8255并口实验详解

xxxx大学计算机学院实验报告

一、实验内容与要求 1.1 实验内容 (1)8255方式0实验 从8255端口C输入数据,再从端口A输出 (2)8255方式1输出实验 编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断服务:依次输出01H,02H,04H,08H,10H,20H,40H,80H使L0~L7依次发光,中断8次结束。 (3)8255方式1输入实验 编程实现:每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 1.2 实验要求 (1)8255方式0实验 实验预期效果:拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。改变开关的状态,灯的亮暗也随之改变。 (2)8255方式1输出实验 实验预期效果:按一次单脉冲按钮,L0亮起;以后每按一次,后面的灯依次会亮起。中断8次结束。 (3)8255方式1输入实验 实验预期效果:每按一次单脉冲按钮读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 二、实验原理与硬件连线 2.1 实验原理 CPU通过指令将控制字写入8255A的控制端口设置它的工作方式。8255A有两个控制字:方式选择控制字和端口C置位/复位控制字,这两个控制字均写入同一个控制端口地址(端口选择

先A1A0=11) 8255A有3种工作方式:方式0——基本输入/输出方式;方式1——选通输入/输出方式;方式2——双向传输方式。方向选择控制字用于设置各端口的工作方式。 方式0称为基本输入/输出方式。该方式下,端口A、端口B、端口C的高4位和端口C的低4位均可独立地设为输入或输出数据端口。在方式0时,8255A与CPU时间没有应答联络信号,可用于无条件传送或查询方式数据传送场合。采用查询方式传送时,可以将端口A、端口B 作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。 方式1称为选通输入/输出方式。该方式下,端口A、端口B可作为数据传输口,而端口C 的一些引脚规定作为端口A、端口B的联络控制信号,有固定的搭配规定。在方式1时,CPU和8255A之间有应答联络信号,所以采用中断方式或程序查询方式传送数据。 当端口A作为方式1输入时,端口C的PC3、PC4、PC5作为端口A的联络控制信号。 当端口A作为方式1输出时,端口C的PC7、PC6、PC3作为端口A的联络控制信号。 状态字通过读端口C获得。需要强调,从端口C读出的状态字与端口C的外部引脚的状态无关。 2.2 硬件连线 (1)8255方式0实验1 连接实验电路,8255端口C接逻辑电平开关K0~K7,端口A接LED显示电路 L0~L7 U18 8255 K0 K1 K5 L0 L1 L2 L3 L4 L5 L6 L7图2-2-1 实验一接线

实验六---8255并行输入输出

实验六---8255并行输入输出

东南大学 《微机实验及课程设计》 实验报告 实验六 8255并行输入输出

姓名:学号: 专业:测控技术与仪器实验室: 516 同组人员:评定成绩: 一、实验目的 1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示; 2)掌握8段数码管的动态刷新显示控制; 二、(1)实验内容(必做) 6-1、8段数码管静态显示:编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。 6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f) (2)实验内容(必做一题,选做一题) 6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII 码不是数字(0~9),数码管显示E字母。 6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出) 三、实验原理 (1)实验预备知识

图 八段式LED 数码管的符号和引脚 (2) 6-1流程图:

N Y 将对应段码输 结 6-1源代码: data segment ioport equ 0ec00h-0280h io8255a equ ioport+288h ;8255A口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码mesg1 db 0dh,0ah,'Input a num (0--9h):',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,80h

8255试验报告(方式1查询输出)

《微型计算机接口技术》实验报告 实验名称:可编程并行接口芯片8255应用 (8255方式1、查询输出) 姓名 学号: 班级: 日期: 广东外语外贸大学信息科学技术学院

一、实验目的 掌握8255方式1查询输入、输出时的使用及编程 二、实验内容 1、按照图示连接硬件(注意图中大多数线试验箱已经连好,只连接需要用户连接的部分,预习,参考PPT) 2、编程:每按一次单脉冲按钮,ACK信号有效,8255内部输出准备好状态有效(INTR),查询输出一次数据,点亮、熄灭相应的发光二极管。 三、实验原理(8255方式1输出:结合结构图、时序图、状态字描述) 8255是一片可编程并行I/O接口芯片,每片8255有两个8位的并行口(PA,PB)和两个4位并行口(PC的高、低四位),其中PA口可工作于方式0,1,2。PB口工作于方式0,1。PC口仅能工作于方式0。在方式1中,将8255的三个端口分为了A、B两组,PA、PB两个口仍作为数据输入/输出口,而PC口则作为两部分,分别作为PA、PB口的联络信号。8255A 方式1 A口输出过程由CPU响应中断开始,在中断中用OUT指令通过8255A 向外设输出数据,发出WR 信号;WR上升沿清除INTRA 中断请求信号,且使OBFA =“L”(有效),通知外设取数;当外设接受数据后,发出ACKA 应答信号,一方面使OBFA=“H”(无效),另一方面在ACKA信号的上升沿使INTRA=“H”(有效),以此向CPU发出新的中断请求,开始下一轮输出。 四、硬件设计及方案论证(完整图的信号线连接及作用:数据、地址、控制及外设线)硬件设计如图,其中: 1.8255芯片中的数据总线D0—D7是和CPU的数据线直接相连的,从而CPU可以向8255 发送命令、数据和8255芯片也可以向CPU发送状态、数据等等。 2.8255芯片中的A0和A1也是与CPU的地址总线直接相连,并且在控制字在以下几种 情况有不同的设置,若A1A0= 00时,8255芯片中的PA口被选中,若A1A0=01时,8255芯片中的PB口被选中,若A1A0=10时,8255芯片中的PC口被选中,若A1A0=11时,则8255芯片的控制口被选中。 3.8255芯片的读信号、写信号、复位信号,分别于CPU的IOR、IOW、RESET直接相 连,当CPU执行IN指令时,8255的读信号有效,CPU从8255芯片读取信息,当CPU 执行OUT指令时,8255的写信号有效,CPU输出信息到8255芯片,完成一定的功能。 而当CPU发出复位的信号时,8255也会进行复位操作。 4.8255芯片中的片选信号与3—8译码器的Y1相连,而Y1的寻址范围是288H—28FH, 而8255芯片中的端口A的地址是288H,端口B的地址是289H,端口C的地址是28AH,控制端口的地址是28BH,因此4的端口都在在3—8译码器的Y1的寻址范围之内。5.8255芯片的PC6与脉冲信号是连接在一起,8255芯片的A端口与二极管L7—L0直接 相连。当脉冲信号到来,PC6会被置1,允许中断,CPU会将数据通过8255芯片的A 口输出到二极管L7中,点亮相应的灯。 。。。。。。等等详细论证,如我课堂所讲

微机原理实验8255并行口实验PA输入、PB输出

8255A并行口实验PA输入、PB输出利用LED等显示 程序 LCD EQU 07FE0H LCDWI EQU LCD+0 ;写命令 LCDWD EQU LCD+1 ;写数据 LCDRS EQU LCD+2 ;读状态 LCDRD EQU LCD+3 ;读数据 PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH code segment assume cs:code lin db 0 col db 0 num db 0 dis_num db 0 temp0 db 0 temp1 db 0 count db 0 org 1000h start: MOV DX,PCTL MOV AL,90H OUT DX,AL call init_lcd mov al,3 call delay2 mov count,0 mov bx,offset tab0 mov lin,0 mov col,0 mov num,16 call dis_english GOON: MOV DX,PA IN AL,DX TEST AL,01H JE GOON1 TEST AL,02H JE GOON2

TEST AL,04H JZ GOON3 TEST AL,08H JE GOON4 TEST AL,10H JE GOON5 TEST AL,20H JE GOON6 TEST AL,40H JE GOON7 TEST AL,80H JZ GOON8 JMP GOON9 GOON1: JMP KEY1 GOON2: JMP KEY2 GOON3: JMP KEY3 GOON4: JMP KEY4 GOON5: JMP KEY5 GOON6: JMP KEY6 GOON7: JMP KEY7 GOON8: JMP KEY8 GOON9: mov bx,offset tab9 mov lin,1 mov col,0 mov num,16 call dis_english MOV DX,PB MOV AL,0FFH OUT DX,AL JMP GOON KEY1: MOV DX,PB MOV AL,0FEH OUT DX,AL mov bx,offset tab1 mov lin,1 mov col,0 mov num,16 call dis_english JMP GOON KEY2: MOV DX,PB MOV AL,0FDH OUT DX,AL

实验四 8255输入、输出实验

2题:A口输出,B口读入Code segment Assume cs:code Start proc near START: Mov al , 082h Mov dx , 8003h Out dx , al MOV dx ,8001h in al ,dx mov dx,8000h out dx ,al jmp start Code ends End start 1题:用A口控制小灯循环亮灭

Code segment Assume cs:code Start proc near START: Mov al , 082h Mov dx , 8003h Out dx , al Mov al , 080h Mov cx , 08h OUTA: Mov dx , 8000h Out dx , al mov dx,8002h out dx,al shr al,1 mov ah,200 call delay Loop OUTA JMP start Delay proc near Push ax Mov al , 0

Push cx Mov cx , ax Loop $ Pop cx Pop ax Ret Delay endp Code ends End start 思考题:用C口控制小灯Code segment Assume cs:code Start proc near START: Mov al , 00000010h Mov dx , 8003h OUT DX,AL call delay Mov al , 00000011h

Mov dx , 8003h OUT DX,AL call delay JMP START Delay proc near MOV CX ,20000 Loop $ Ret Delay endp Code ends End start

《微机系统与接口技术》8255流水灯实验报告

《微机系统与接口技术》 预习报告 学院:计算机学院 专业:网络工程 班级学号: 学生姓名:小发 实验日期: 指导老师: 成绩评定: 五邑大学计算机学院制表

一,实验目的 1,学习并掌握8255 的工作方式及其应用。 2,掌握 8255 典型应用电路的接法。 3,掌握程序固化及脱机运行程序的方法。 二,实验设备 PC机器一台,TD-PITE实验装置或TD-PITC实验装置一套 三,实验内容 1,基本输入输出实验。编写程序,使 8255 的 A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2,流水灯显示实验。编写程序,使 8255 的 A 口和 B 口均为输出,数据灯 D7~D0 由 左向右,每次仅亮一个灯,循环显示,D15~D8 与 D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。 四实验内容及步骤 1. 基本输入输出实验 本实验使 8255 端口 A 工作在方式 0 并作为输入口,端口 B 工作在方式 0 并作为输出口。实验接线图如图 6 所示,按图连接实验线路图。用一组开关信号接入端口 A,端口 B 输出线接至一组数据灯上,然后通过对 8255 芯片编程来实现输入输出功能。具体步骤如下述:(1)实验接线图如图 1-4所示,按图连接实验线路图。 (2)编写实验程序,经编译、连接无误后装入系统。 (3)运行程序,改变拨动开关,同时观察 LED 显示,验证程序功能。 (4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。 (5)将短路跳线 JDBG 的短路块短接到 RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。(6)实验完毕后,请将短路跳线 JDBG 的短路块短接到 DBG 端。 图1-4 8255基本输入输出实验接线图

实验六---8255并行输入输出

东南大学 《微机实验及课程设计》 实验报告 实验六 8255并行输入输出 姓名:学号: 专业:测控技术与仪器实验室: 516 同组人员:评定成绩:

一、实验目的 1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示; 2)掌握8段数码管的动态刷新显示控制; 二、(1)实验容(必做) 6-1、8段数码管静态显示:编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。 6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f) (2)实验容(必做一题,选做一题) 6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII 码不是数字(0~9),数码管显示E字母。 6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出) 三、实验原理 (1)实验预备知识 图八段式LED数码管的符号和引脚

(2) 6-1流程图: 6-1源代码: data segment ioport equ 0ec00h-0280h io8255a equ ioport+288h ;8255A口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码mesg1 db 0dh,0ah,'Input a num (0--9h):',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,80h out dx,al sss: mov dx,offset mesg1 ;显示提示信息 mov ah,09h int 21h

8255输入输出实验

河北科技大学 实验报告 11 级专业软件班L112学号11L035203714年4月29日姓名李国栋同组人指导教师陈义峰 实验名称实验七8255输入输出实验成绩 实验类型设计型批阅教师 实验七8255输入输出实验 一、实验要求 利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输出,PB口作输入。 二、实验目的 1、了解8255芯片结构及编程方法。 2、了解8255输入输出实验方法。 三、实验电路及连线 8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC 口地址为8002H。PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。 连线连接孔1 连接孔2 1 CS0 8255CS 2 L0 8255-PA0 3 L1 8255-PA1 4 L2 8255-PA2 5 L3 8255-PA3 6 L4 8255-PA4 7 L5 8255-PA5 8 L6 8255-PA6 9 L7 8255-PA7 10 K0 8255-PB0 11 K1 8255-PB1 12 K2 8255-PB2 13 K3 8255-PB3

四、实验说明 可编程通用接口芯片8255A 有三个八位的并行I/O 口,它有三种工作方式。本实验采用的是方式0:PA ,PC 口输出,PB 口输入。很多I/O 实验都可以通过8255来实现。 五、实验参考程序、框图 程序清单: start: mov dx, PortB in al, dx ; 读入PortB mov dx, PortC out dx, al mov dx, PortA out dx, al ; 输出到PortA mov ah, 200 call delay jmp start endp 14 K4 8255-PB4 15 K5 8255-PB5 16 K6 8255-PB6 17 K7 8255-PB7

实验六 8255并行输入输出

. 东南大学 《微机实验及课程设计》实验报告 实验六 8255并行输入输出

姓名:学号: 专业:测控技术与仪器实验室: 516 同组人员:评定成绩: . . 一、实验目的 1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示; 2)掌握8段数码管的动态刷新显示控制; 二、 (1)实验内容(必做) 6-1、8段数码管静态显示:编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。 6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f) (2)实验内容(必做一题,选做一题) 6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII 码不是数字(0~9),数码管显示E字母。 6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出) 三、实验原理 (1)实验预备知识

数码管的符号和引脚LED 图八段式 . . (2) 6-1流程图:

开 设825控制字端口输出从键盘输入字 N 0~是否 Y 将对应段码输出8255端

结 6-1源代码: data segment ioport equ 0ec00h-0280h io8255a equ ioport+288h ;8255A口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码mesg1 db 0dh,0ah,'Input a num (0--9h):',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,80h out dx,al sss: mov dx,offset mesg1 ;显示提示信息 mov ah,09h int 21h . . mov ah,01 ;从键盘接收字符 int 21h cmp al,'0' ;是否小于0 jl exit ;若是则退出 cmp al,'9' ;是否大于9 jg exit ;若是则退出 sub al,30h ;将所得字符的ASCII码减30H mov bx,offset led ;bx为数码表的起始地址 xlat ;求出相应的段码 mov dx,io8255a ;从8255的A口输出 out dx,al jmp sss ;转SSS exit: mov ah,4ch ;返回DOS int 21h code ends end start

微机原理实验五- 8255输入、输出实验

南昌大学实验报告 实验五 8255输入、输出实验 一、实验要求: 利用8255可编程并行口芯片,实现输入/输出,实验中用8255PA口作输出,PB口作输入。 二、实验目的: (1)了解8255芯片结构及编程方法。 (2)了解8255输入/输出实验方法。 三、实验器材: (1)G2010实验平台 1 台(2)G6W仿真器 1 台(3)连线若干根(4)8255芯片 1 片(5)LAB8088CPU板 1 块 四、实验电路: 8255的/CS接译码器Y2(0A000H-0AFFFH),则命令字地址为0A003H,PA口地址为0A000H,PB口地址为0B001H,PC口地址为0B002H。 PA0-PA7(PA口)接L0-L7(LED发光二极管组),PB0-PB7(PB口)接K0-K7(K0-K7开关量发生器),再接上数据线和读/写信号,地址线只接 A0,A1即可,还要接上RESET信号,以便8255A可靠复位。 特别强调:8255的第七脚应接GND(地),第二十六脚应接+5V。 五、实验说明: 可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。本实验采用的是方式0:PA,PC口输出,PB口输入。方式字为82H。

六、实验步骤: (1)使用实验平台锁进插座,如图连线,因8255片选信号为0A000H,所以,A口为0A000H、口为0A001H、C口为0A002H、命令口为0A003H。 (2)硬件测试:把G2010+G6W连PC机,在WINDOWS调试环境下点击[窗口/数据窗口/MEMORY],以打开MEMORY数据窗口,在打开的MEMORY窗口中的0A003H地址(即8255的片选空间)上写入控制字82H,在0A000H(8255的A口)上打入55H,0AAH等数字,LED发光二极管组对应点亮。若不是,则硬件有问题。 (3)编写程序、编译程序,用单步、断点、连续方式调试程序,排除软件错误。运行程序,直至达到本实验的要求为止。 七、程序框图: 八、程序清单: mode equ 082h ; 方式0,PA,PC输出,PB输入 PortA equ 0A000h ; Port A PortB equ 0A001h ; Port B PortC equ 0A002h ; Port C CAddr equ 0A003h ; 控制字地址 code segment assume cs:code start proc near Start: mov al, mode mov dx, CAddr out dx, al ; 输出控制字 ;实验1:PortA输出 mov al, 80H

流水灯 和 8255基本输入输出

4.3 8255A可编程并行接口实验 4.3.1 实验目的 1、掌握8255A并行接口芯片的基本结构及工作原理。 2、掌握8255A工作方式0的特点及其使用方法。 3、掌握8255A的A口或B口工作于方式1时的特点及其使用方法;掌握方式1输入或输出时C口用作联络信号的引脚的定义及功能。 4.3.2 实验提示 基本输入输出实验程序流程图

流水灯显示实验程序流程图 4.3.3 实验内容 1.基本输入输出实验。编写程序,使8255A的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 完整源代码: code segment assume cs:code start: mov al,10000010b mov dx, 1443h out dx, al next: mov dx, 1441h in al, dx mov dx, 1442h out dx, al mov ah,0bh int 21h cmp al,0 je next mov ah,4ch int 21h code ends end start

2.流水灯显示实验。编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。完整源代码: MY8255_A EQU 1460H MY8255_B EQU 1461H MY8255_C EQU 1462H MY8255_MODE EQU 1463H DA TA SEGMENT LA DB ? LB DB ? DA TA ENDS CODE SEGMENT A SSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE MOV AL,80H OUT DX,AL MOV DX,MY8255_A MOV AL,7FH OUT DX,AL MOV LA,AL MOV DX,MY8255_B MOV AL,0FEH OUT DX,AL MOV LB,AL CALL DALL Y A1: MOV AL,LA ROR AL,1 MOV LA,AL MOV DX,MY8255_A OUT DX,AL MOV AL,LB ROL AL,1 MOV LB,AL MOV DX,MY8255_B OUT DX,AL CALL DALL Y CALL BREAK JMP A1

利用8255和5单片机实现数码管显示按键值的实验共21页

物理与电子工程学院 单片机原理及其应用 期 中 大 作 姓名: 专业: 学号: 课题:使用8255和51单片机实现对数码管显示案件数值控制 要求:从0--15,数码管上分别显示0--9,A--F,4*4矩阵键盘 芯片资料 8255 一、简介 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O 口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 二、内部结构 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构

分为3个部分:与CPU连接部分、与外设连接部分、控制部分。 1)与CPU连接部分 根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C 口及控制寄存器,故地址线为两根A0~A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下: (1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。 (2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。 (3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。 2)与外设接口部分 根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下: (1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。 (2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。 (3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数

实验3:8255输入输出接口实验

8255输入/输出接口实验 一、实验目的 1.了解8255的内部结构 2.掌握8255外部引脚的功能及各种工作方式的应用场合 3.能熟练地将8255与CPU和简单外设连接,并能编写相应的接口应用程序。 二、实验设备 PC机一台,TD-NMC+实验教学系统一台。 三、实验内容 对8255进行片选,从而确定8255各端口的地址。在此基础上完成下列功能: 1.将8255的A口与LED指示灯相连,通过8255的A口输出片内20H中的数据(或内容) 81H,观察指示灯的亮灭。 2.将8255的B口中的某一位与LED指示灯相连,A口中的对应位与开关相连。当开关打开 时,LED指示灯亮;当开关闭合时,LED指示灯灭。 四、实验原理 并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示。 图1 8255内部结构及外部引脚图

图2 8255控制字格式 实验系统的LED显示及开关单元电路如下: 图3 LED指示灯电路图4 开关电路 五、实验步骤(详细写出你自己的实验步骤) 1.根据实验内容完成实验接线。(在实验报告中要画出实验接线图) 2.根据实验内容编写实验程序,经编译、链接无误后装入单片机实验仿真系统。(注意要用 硬件方式运行) 3.连续执行实验程序,改变开关状态,观察LED指示灯亮灭,并作出合理解释。 4.书写实验报告 思考题: 1.LED指示灯是什么电平点亮? 2.实验内容2中为什么A口和B口的某一位必须对应?若不对应(1)观察实验现象。(2) 欲产生上述的实验现象,如何修改。

实验八 8255A输入输出实验

实验八8255A输入输出实验 一.实验目的 1.了解8255A芯片结构及接口方法 2.掌握用8255A进行输入输出的编程方法,掌握MOVX指令的使用方法 3.复习并巩固查表指令、散转指令的使用方法 二.实验设备 电脑、THDPJ-2型单片机开发综合实验箱及连接线(3根扁平线,6根单线) 三.实验内容 *** 用实验一流水灯的程序快速检查P0、P2口(修改输出口为P0、P2)。 1.将8255A 做如下连接:A0→P 2.0、A1→P2.1、CS*→P2.7,落实一组PA口、PB口、PC口及控制口的地址。 将PA口初始化为输出口,完成流水灯实验,时间间隔1秒用循环程序结构编程实现。(参考程序4A-8255A输出)。2.将8255A 的连接修改为:A0→P2.4、A1→P2.5、CS*→P2.7,落实一组PA口、PB口、PC口及控制口的地址, 并重复上一个步骤的任务。修改PA口的地址(前提是保证CS*=0、A1 A0=00),重复上一个步骤的任务。 3.保持步骤2的连接,将PA口初始化为输入口、PB口为输出口,编程从PA口读入开关量,然后通过PB口送到8个 发光管上。(提示:在反复读键并显示过程中,软件与硬件的速度不一致,故在程序中增加一个延时子程序)。 4.(选做)修改步骤2中流水灯的显示方案,用查表的方法来获取新的显示数据,取代原始程序中的RR A指令。 新的显示方案为:一个亮、二个亮、三个亮……全亮,一个灭、二个灭……全灭、全亮、全灭,共18个显示数据循环。 5.(选做)修改步骤3,对所读取的低两位开关量做出响应:当开关量为00时,亮一个发光管;当开关量为01时,亮 两个发光管,依次类推。编程并实现。(建议用散转指令) 注意:上述描述的接线仅是三总线中的地址总线的接法,还应该连接数据总线和控制总线,参见实验指导书上的接法。

微机接口实验报告-8255并口控制器实验 (1)-基本输入输出实验

姓名 院专业班 年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师 【实验目的】 掌握8255 的工作方式及应用编程。 掌握8255的典型应用电路接法。 【试验设备】 PC微机一台、TD-PIT+实验系统一套。 【实验内容】 基本输入输出实验。编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 【实验原理】 并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图8-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图8-2所示。 图8-1 8255的内部结构及引脚 【实验说明及步骤】 本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。参考程序流程如图8-3所示。 实验步骤如下。 1.确认从PC机引出的两根扁平电缆已经连接在实验平台上。

姓名 院专业班 年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师 2.参考图8-4所示连接实验线路。 3.首先运行CHECK程序,查看I/O空间始地址。 4.利用查出的地址编写程序,然后编译链接。 5.运行程序,拨动开关,看数据灯显示是否正确。 (a)工作方式控制字(b)C口按位置位/复位控制字 8-2 8255控制字格式

利用8255和51单片机实现数码管显示按键值的实验

物理与电子工程学院单片机原理及其应用 期 中 大 作 姓名: 专业: 学号:

课题:使用8255和51单片机实现对数码管显示案件数值控制要求:从0--15,数码管上分别显示0--9,A--F,4*4矩阵键盘 芯片资料 8255 一、简介 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 二、内部结构 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。 1)与CPU连接部分 根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、

复位、读、写信号。各信号的引脚编号如下: (1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。 (2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。 (3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。 2)与外设接口部分 根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下: (1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。 (2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。 (3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。 3)控制器

8255 方式1输出实验 实验报告_孔令宇 10284032

8255 方式1输出实验 学生:孔令宇 班级:计科10级1006班 任课教师:吴为民 一、实验目的 掌握查询方式实现8255选通型输入(方式1)的编程控制方法。 二、实验内容 将8255端口A 的PA7-PA0与8个发光二极管L7-L0连接,PB2-PB0与拨动开关的K2-K0连接,8255的CS 与地质译码区的0-F 端子连接,PC2(/ACK )与单脉冲端连接。先预知开关K2-K0为一组输入状态,然后按下单脉冲按键产生一个负脉冲,输入到PC2。用发光二极管LEDi 亮和LED 7段数码管最右端一位上显示K2-K0的状态 三、实验原理图 四、实验流程

五、实验代码 .model small .386 data segment io8255_a equ 200h ;8255基址值 io8255_b equ 201h io8255_c equ 202h io8255kz equ 203h tab db 01h,02h,04h,08h,10h,20h,40h,80h led_code db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h, 7fh,67h,77h,7ch,39h,5eh,79h,71h ;七段数码管段码led_cs equ 210h ;led七段数码管片选data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255kz mov al,0aeh ;设置工作方式为方式1,A口输出、B口输入

out dx, al mov al,04h ;设置(pc2)/ACKA=0 out dx, al l1: mov dx, io8255_c ss1: in al, dx test al,00000010b ;判断/IBFB(PC1)=1? jz ss1 mov dx,io8255_b in al,dx ;读入dx的内容 and al, 07h push ax ;保存ax中的内容,ax进栈 mov bx,offset tab ;获取tab的地址 xlat tab ;查表 mov dx,io8255_a out dx,al pop ax ;ax出栈,还原ax内容 call display jmp l1 display proc near mov si,offset led_code ;获取数码管段码初地址 mov ah,0 add si,ax ;键码加上段码初地址得到对应的段码地址 mov al,[si] ;获取段码 mov dx,led_cs out dx,al ;将段码输出至数码管片选 mov al,01h ;选择显示位码 inc dx out dx,al ret display endp code ends end start

实验三8255并行接口实验

实验三8255并行接口实验 一、实验目的 1、学习并掌握8255的工作方式及其应用。 2、掌握8255典型应用电路的接法。 3、掌握程序固化及脱机运行程序的方法。 二、实验设备 Pc机一台,TD-PITE实验装置一套。 三、实验内容 1、基本输入输出实验。编写程序,使8255的A口为输入,B口为输出,完成波动开 关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2、流水灯显示实验。编写程序,使8255的A口和B口均为输出,数据灯D7-D0由左 向右,每次仅亮一个灯,循环显示,D15-D8与D7-D0正相反,由右向左,每次仅 点亮一个灯,循环显示。 实验原理: 并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。 图3-1 8255的内部结构和外部引脚

(a)工作方式控制字(b)c口按位置位/复位控制字 图3-2 8255控制字格式 8255实验单元电路图如下图所示: 图3-3 8255实验单元电路图 实验步骤 1. 基本输入输出实验 本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

可编程并行接口8255输入输出实验

可编程并行接口8255输入输出实验 一、实验目的 了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。 二、实验设备 (1)PC机一台; (2)QTH-8086B 16位微机教学实验仪一套。 三、8255有关说明 1. 8255A的引脚定义 D7~D0:三态双向数据线。 /CS:片选信号线,低电平有效。 /RD:读命令信号,低电平有效。 /WR:写入信号线,低电平有效。 Vcc:+5V电源 PA7~PA0:A口输入/输出线。 PB7~PB0:B口输入/输出线 PC7~PC0:C口输入/输出线 A1、A0:地址线,用来选择8255A内部的4个端口。 RESET:复位引脚,高电平有效 2.8255A的工作方式 方式0:基本输入输出方式 方式1:选通输入输出方式 方式2:双向选通输入输出方式。 3.8255A的命令字 图1 8255的控制字格式

图2 8255的C口按位置位复位命令四、线路连接 1.实验原理图 图3 可编程并行接口8255电路

2.实验内容 (1) 流水灯实验:利用8255的A口循环点亮发光二极管。 (2) 交通灯实验:利用8255的A口模拟交通信号灯。 (3) I/O输入输出实验:利用8255的A口读取开关状态,8255的B口把状态送发光二极管显示。 3.实验项目1--流水灯实验 (1)线路连接 该模块的WR、RD分别连到MCU主模块的WR、RD。 该模块的数据(AD0--AD7)、地址线(A0--A7)分别连到MCU主模块的数据(AD0--AD7)、地址线(A0--A7)。 8255模块选通线CE连到MCU主模块的地址A15。 8255的PA0--PA7 连到发光二极管的 L0--L7。 (2)参考程序 略 4.实验项目2—交通灯实验 (1)线路连接 该模块的WR、RD分别连到MCU主模块的WR、RD。 该模块的数据(AD0--AD7)、地址线(A0--A7)分别连到MCU主模块的数据(AD0--AD7)、地址线(A0--A7)。 8255模块选通线CE连到MCU主模块的地址A15。 8255的PA0-L7、PA1-L6、PA2-L5、PA3-L3、PA4-L2、PA5-L1。 (2)参考程序 略 5.实验项目3—I/O输入输出实验 (1)线路连接 该模块的WR、RD分别连到MCU主模块的WR、RD。 该模块的数据(AD0--AD7)、地址线(A0--A7)分别连到MCU主模块的数据(AD0--AD7)、地址线(A0--A7)。 8255模块选通线CE连到MCU主模块的地址A15。 8255的PA0--PA7接开关K0--K7,8255的PB0--PB7接发光二极管L0--L7。 (2)参考程序 略

相关主题
文本预览
相关文档 最新文档