让程序员去查找十六进制编码和字符之间的对应关系,给程序员增加了负担,这些编码信息应该由硬件完成,对程序员而言是透明的。 本实验的目标:通过修改硬件部分的 seg.vhd 文件,使得在软件部分利用 Nios II IDE 软件编写 seg.c 文件时,不需要考虑 7 段数码管具体的编码方式,将下图的转换步骤在 seg.vhd 文件当中实现, seg.c 文件直接输入想要显示的数字即可。 软件如下: #include
#include
#include
#include
#include
#include
const alt_u8 duan[10]={ 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9 }; const alt_u8 bit[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; int main() { while(1){ display(); } return 0; } void display() { alt_u8 i,led; for(i=0;i<8;i++){ smg_scan_output(SEG_INST_BASE,bit[i]); switch(bit[i]) { case 0x01:led=duan[0];break; case 0x02:led=duan[1];break; case 0x04:led=duan[2];break; case 0x08:led=duan[3];break; case 0x10:led=duan[4];break; case 0x20:led=duan[5];break; case 0x40:led=duan[6];break; case 0x80:led=duan[7];break; } smg_data_output(SEG_INST_BASE,led); usleep(500000); } }