计算机组成原理实验报告Word格式.docx
- 文档编号:14379284
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:12
- 大小:588.32KB
计算机组成原理实验报告Word格式.docx
《计算机组成原理实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
led灯的闪烁即是不停的亮和灭,即令通用IO口每隔一段时间的输出取反。
例如:
LED_1=~LED_1。
控制2个数码管显示数字。
数码管是由P1口控制的。
四实验设计
1.外部发光二极管管脚:
74HC245芯片提高驱动,输出高电平发光二极管亮,输出低电平发光二极管灭,引脚锁定:
PIN100LED-D1
PIN99LED-D2
PIN94LED-D3
PIN92LED-D4
2.数码管部分:
开发板上没有固定的数码管,均需要外接。
而且都是FPGA译码。
在本实验中,对需要显示的数字经过DECL7S模块进行编码后输出到数码管上。
如想输出数字,只需输入0000~1111中的任意数字,如D=0101,则显示为5,D=1100,则显示为C,FPGA输出高时点亮。
3.程序架构是:
#include<
reg51.h>
sbitLED_1=P3^6;
sbitLED_2=P3^7;
voiddelay_ms(intdel)//延时1ms
{
inti,j;
for(i=0;
i<
del;
i++)
for(j=0;
j<
1000;
j++);
}
voidLED_LM()//LED灯闪烁
{}
voidshumaguan()//数码管显示对P1赋值
{
}
voidmain()
while
(1)
{}
程序如图所示:
五实验仿真与测试
六实验结果分析
先在程序中设置延时,使得延时1ms,再设置LED灯闪烁的程序,最后设置数码管显示数值——14,将板子的USB接口与电脑的USB连接,得出实验结果。
七实验小结
通过这次实验,我了解了51核的原理,能够用51单片机对数码管核LED灯进行操作,也学会了如何使用开发板。
但是只能进行简单的操作,所以之后需要加紧练习,争取熟练掌握51核的应用。
实验二键盘扫描
一实验名称
键盘扫描
本实验主要进行对4*4键盘原理分析,实现对键盘扫描码的判断。
要求使用查询方式进行键盘扫描码判断(数码管输出)。
实验设计的源程序如下图所示:
如图所示源程序,先设置键盘的行引脚和列引脚,之后设置延时,初始化时把初始值都变成1,按下哪个键,哪个位置变成0,。
设置列扫描值,第一列是0111,值为1;
第二列是1011,值为2;
第三列是1101,值为4;
第四列是1110,值为8。
输入值输出值0123
COL10ROW10111
COL21ROW21011
COL31ROW31101
COL41ROW41110
输入值输出值89AB
COL11ROW10111
COL30ROW31101
然后输出键盘扫描值。
结果如图所示,按下第一列第四行,数码管显示3;
按下第四行第四列,数码管显示F。
通过这次实验,我了解了键盘扫描的原理,并学会如何用开发板输出源程序的结果。
但是对键盘扫描的源程序理解还不能熟练编写,需要再多加练习。
实验三
中断系统和定时/计数器
使用定时器中断控制发光二极管每隔一段时间闪烁一次,并设置中断使数码管计数从0到59。
80C51的中断系统有5个中断源(8052有6个),2个优先级,可实现二级中断嵌套:
1.可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。
当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。
2.可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。
当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。
3.TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。
当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。
(本次实验用到该中断)
4.TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。
当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。
5.RI(SCON.0)或TI(SCON.1),串行口中断请求标志。
当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。
80C51单片机的中断优先级有三条原则:
1.CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。
2.正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。
3.正在进行的低优先级中断服务,能被高优先级中断请求所中断。
为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。
其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;
另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。
实验所需程序如下:
在程序中设置初始化程序:
1.对TMOD赋值,以确定T0和T1的工作方式。
2.计算初值,并将其写入TH0、TL0或TH1、TL1。
3.中断方式时,则对IE赋值,开放中断。
EA=1;
ET0=1。
4.使TR0或TR1置位,启动定时/计数器定时或计数。
输入中断向量是10,则数码管输出0到9然后循环,LED灯随程序设计所示,一直闪烁。
这次实验我学习了中断系统,并且学会如何去设计一个计数器,但是在实验过程设计中,LED灯的闪烁频率与数码管计数的频率不相同,所以无法两个同时实现,我要在今后的学习中思考这个问题。
实验四
FPGA中串口设计
编写程序控制串口接收主机发送的数据,例如,在数码管上显示出自己的学号。
使用方式一:
一帧10位:
8位数据位,1个起始位(0),1个停止位
(1)。
RXD:
接收数据端。
TXD:
发送数据端。
波特率:
用T1作为波特率发生器,B=(2SMOD/32)×
T1溢出率。
发送:
写入SBUF,同时启动发送,一帧发送结束,TI=1。
接收:
REN=1,允许接收。
接收完一帧,若RI=0且停止位为1(或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=1;
否则丢弃接收数据,不置位RI。
当REN=1,CPU开始采样RXD引脚负跳变信号,若出现负跳变,才进入数据接收状态,先检测起始位,若第一位为0,继续接收其余位;
否则,停止接收,重新采样负跳变。
数据采样速率为波特率16倍频,在数据位中间,用第7、8、9个脉冲采样3次数据位,并3中取2保留采样值。
程序如下:
在程序部分,设置定时器1的工作方式为2,再设置波特率为2400,让TR1=1开定时器,REM=1开启接收,SM0=0选择工作方式1,使EA=1,设置CPU中断允许位,使ES=1,设置串行接口中断允许位。
然后设置自己的学号,在数码管上输出。
通过这次实验,我学会了如何在主机和串口之间互相传递数据。
以后要多加练习,熟练掌握。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实验 报告