我自己做的9B96的板子,用的LM3S9B96的EPI的HB8模式的ADDEMUX子模式,然后接了三个4位的数码管,三个数码管的片选是用9b96的gpio口通过一个多选一的开关芯片,com端连接epi口的片选信号,HB8的ADDEMUX子模式用了8根数据线,3根地址线分别接数码管的数据和地址信号,数码管的地址线A2、A1和A0选择在第几位显示,然后通过向数码管写数据来实现在不同的位置上显示不同的字符和数字,将外设空间映射为0xA0000000,256B大小,系统时钟用16MHz,EPI时钟选择为4MHz(原来用的16MHz,减小为4MHz后也不行)
现在问题来了:多选一的开关芯片选择在第几个数码管上显示是正确的,但是程序中本来写的是在第1位显示字符‘S’,但是最后显示出来的字符却是在第2位显示的‘S’,而且,在第4位会莫名其妙的显示一个字符‘i’,用示波器抓波形看了下,程序运行时,地址线A2、A1和A0本应输出111,却实际输出的110
然后我如果写成在第2位显示‘S’则会实际显示在第4位上。用示波器抓波形看了下,程序运行时,地址线A2、A1和A0本应输出110,却实际输出的100,
说明:向数码管写数据时,A2始终应为高,A1和A0决定了字符的显示位置,如A1和A0为11,则字符显示在数码管的第1位,A1和A0为10,则字符显示在数码管的第2位
在一块开发板上写数据,依然是地址线本来应当输出111,结果输出110,本应输出110结果输出100
测量9B96到数码管管脚的连接都是好的,想不出为什么会有这样的结果
请达人解答
[
本帖最后由 oyueyueniao 于 2012-8-16 15:08 编辑 ]
此帖出自
小平头技术问答
EPI使用了HB8的ADDEMUX子模式(数据线和地址线非复用)用了8根数据线,3根地址线
[ 本帖最后由 oyueyueniao 于 2012-8-17 11:20 编辑 ]
一周热门 更多>