PIC单片机及FPGA实验系统设计 第17页
附 录
附录(一):单片机硬件设计原理图: 附录(二):FPGA硬件设计原理图
附录(三):
程序如下:
#include<pic.h>
void delay(unsigned int z); //可变的延时子函数声明
void main(void){
TRISD=0x00; //设置D口为输出
while(1){
delay(1000); //延时为1秒
PORTD=0xfe; //显示一个发光二级管,与硬件连接匹配
delay(1000); //以下依次显示一个程序,间隔为1S
PORTD=0xfd;
delay(1000);
PORTD=0xfb;
delay(1000);
PORTD=0xf7;
delay(1000);
PORTD=0xef;
delay(1000);
PORTD=0xdf;
delay(1000);
PORTD=0xbf;
delay(1000);
PORTD=0x7f;
}
}
void delay(unsigned int z){ //延时子程序
unsigned char i;
unsigned char j;
while(z>0){
for(i=0;i<50;i++){
for(j=0;j<20;j++){
}
}
z--;
}
}
附录(四)广告灯的移动:文件名为ad light.c
//广告灯的移动
#include<pic.h>
//#define unsigned char uchar;
unsigned char temp; //
unsigned char a;
unsigned char b;
unsigned char i;
void delay(unsigned int z); //延时函数声明
void main(void){ //主程序开始
TRISD=0X00; //设置D口为输出
while(1){
temp=0xfe;
PORTD=temp;
delay(1000);
for(i=1;i<8;i++){ //广告灯从右向左移动
a=temp<<i;
www.751com.cn PORTD=a|b;
delay(1000);
}
for(i=1;i<8;i++){ //广告灯从左向右移动
a=temp>>i;
b=temp<<(8-i);
PORTD=a|b;
delay(1000);
}
}
}
void delay(unsigned int z){
unsigned char i,j;
while(z>0){
for(i=1;i<20;i++){
for(j=1;j<50;j++){
}
}
z--;
}
}
附录(五):键盘扫描程序:keyskan.C,体现键盘扫描原理
//键盘扫描程序
#include<pic.h>
Unsigned char a[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
unsigned char k;
void delay(void){
int i;
int j;
for(i=0;i<8;i++){
for(j=0;j<1000;j++){
}
}
}
void keyscan(void){
unsigned char temp,x,y,z;
TRISD=0xf0;
PORTD=0xf0;
temp=PORTD & 0xf0;
if (temp!=0xf0){
delay(); << 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] ... 下一页 >>
PIC单片机及FPGA实验系统设计 第17页下载如图片无法显示或论文不完整,请联系qq752018766