Q:如何写.c代码访问控制FPGA端的七段数码管动态显示?
A:基本原理:实现控制数码管HEX5 ~ HEX0同时动态显示0~F,定义一个0123456789AbCdEF的字符串,并且定义一个指针指向字符串。接下来取字符串的第1个字符0,译码成一个8位数据(0111111),然后将其左移8位后赋值HEX5_HEX4并行端口,可以将字符0显示在数码管HEX7上;同样将第1个字符按上一期实验的赋值方式将0显示在其它5个数码管,共有16种状态,因此指针会移动16次,并且每移动16次后会返回指向字符串的起始位置。
在DE1-SoC-UP Linux系统中编译并运行程序后,即可观察到数码管HEX5 ~ HEX0同时动态显示0~F;另外本实验程序通过调用了Linux库函数nanosleep( ) 使数码管每隔0.5秒显示下一个字符。