西电 计组实验 2Word文档下载推荐.docx
《西电 计组实验 2Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《西电 计组实验 2Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。
{
inti,j;
for(i=0;
i<
del;
i++)
for(j=0;
j<
5000;
j++);
}
voidLED_LM()
LED_1=~LED_1;
LED_2=~LED_2;
voidmain()
LED_1=1;
LED_2=0;
while
(1)
{
delay(100);
LED_LM();
}
将写好的程序加载到开发板中
五实验仿真与测试
按下复位键,led灯开始有规律的闪烁。
六实验结果分析
实验中LED灯交替闪烁,因为将两个输出一个为0,一个为1,所以输出时两个是不同步的。
七实验小结
本次实验开始了微机部分,经过本次实验,我学会了如何将程序加载到开发板中。
学会了开发板的使用。
实验二键盘扫描
键盘扫描
使用查询方式进行键盘扫描码判断(数码管输出)。
reg52.h>
unsignedcharcodeDIG_CODE[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
voidDelay10ms(unsignedintc)//误差0us
unsignedchara,b;
//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//
for(;
c>
0;
c--)
for(b=38;
b>
b--)
{
for(a=130;
a>
a--);
}
}
chara=0;
P0=~DIG_CODE[0];
P2=0x0F;
if(0x0F!
=P2)//读取按键是否按下
Delay10ms
(1);
//延时10ms进行消抖
if(0x0F!
=P2)//再次检测键盘是否按下
{
//测试列
P2=0X0F;
switch(P2)
case(0X07):
a=0;
break;
case(0X0b):
a=4;
case(0X0d):
a=8;
case(0X0e):
a=12;
}
//测试行
P2=0XF0;
case(0X70):
break;
case(0Xb0):
a=a+1;
case(0Xd0):
a=a+2;
case(0Xe0):
a=a+3;
break;
while(0xf0!
=P2)//检测按键松手检测
Delay10ms
(1);
P0=~DIG_CODE[a];
}
写入板子中
按下数字键,屏幕显示相应的数字。
仿真结果符合情况,说明实验成功。
通过本次实验,我发现FPGA板功能非常强大。
通过对FPGA的学习,我更加深刻的理解了开发板的使用规则。
实验三中断系统和定时/计数器
中断系统和定时/计数器
使用定时器中断控制发光二极管每隔一段时间闪烁一次。
intnum=0;
P0=0XFF;
TMOD=0X01;
TH0=(65536-45872)/256;
TL0=(65536-45872)/256;
EA=1;
ET0=1;
TR0=1;
;
voidT0_timer()interrupt1
num++;
if(num==20)
P0=~P0;
num=0;
加载程序后
每一秒灯闪烁一次。
程序开始计时,每50毫秒中断一次,20次中断是可以使得灯闪烁一次。
通过本次实验,我了解了中断系统的定时与计时功能。
学会了利用FPGA设计有关中断系统的实验。
实验四FPGA中串口设计
FPGA中串口设计
实验要求完成较为复杂的串口通信工作
unsignedcharbuffer;
for(i=1;
for(j=1;
100;
j++)
{
;
TMOD=0x20;
//设置定时器1为工作方式2
TH1=0xd9;
//波特率为2400
TR1=1;
//开定时器1
REN=1;
//开启接收
SM0=0;
//工作方式1
SM1=1;
//CPU中断允许位
ES=1;
//串行口中断允许位
while
(1)//查询方式
/*if(RI==1)
RI=0;
LED_1=~LED_1;
buffer=SBUF;
P1=buffer;
//SBUF=buffer;
while(!
TI);
TI=0;
}*/
voidser()interrupt4
RI=0;
ES=0;
//关串口中断
delay(500);
P1=buffer-96;
SBUF=buffer;
//将数据buffer发送出去
TI=0;
//开中断
程序加载后
实现串口通信,输入1,显示为3,输入a,显示为63
我们的结果是在输入的16进制的基础上减去96,所以输入a,输出的为1,输入的b,输出2。
本次实验因为相对比较复杂,所以在实验过程中表现的很是吃力,最终还是完成了实验。
通过本次实验,我更加深刻的理解了串口通信的原理,学会了串口通信的实现机制。