因為手頭項目,要做端口的外部擴(kuò)展,原本是FPGA進(jìn)行主控,之前學(xué)了STM32,所以用32進(jìn)行主控,現(xiàn)在出現(xiàn)了問題改成51進(jìn)行芯片的仿真測試,找到了問題所在,把問題拿出來和大家討論,希望有經(jīng)驗的大佬可以幫忙分析指點,沒有做過的兄弟們幫忙提供建設(shè)性意見,再次感謝。
直奔主題,在51測試的時候發(fā)現(xiàn),可以獨(dú)立控制8255A的A口和B口進(jìn)行外部輸出,這個經(jīng)過測試是沒問題的,但是當(dāng)用同樣的代碼進(jìn)行對c口操作時,c口操作無效,而且還影響了AB口的狀態(tài),查閱了8255的數(shù)據(jù)手冊,發(fā)現(xiàn)按道理時可以獨(dú)立操作ABC三個端口,問什么會出現(xiàn)這個問題呢? 其次8255A數(shù)據(jù)手冊中關(guān)于groupA、B分組的問題,可以將A口和C口的高4位進(jìn)行整合為A組,可以將B口和C口的低4位進(jìn)行整合為B組,這里的整合怎么操作?這里的操作是指怎么通過指令進(jìn)行操作。 最后一個問題,在定義8255a的地址時,沒有使用傳統(tǒng)定義的給地址段,只是通過單一的控制A0、A1、CS指令進(jìn)行控制有沒有影響? 此外,我完全把這個芯片當(dāng)做數(shù)字芯片進(jìn)行的操作
51hei圖片_20191114123124.png (101.85 KB, 下載次數(shù): 47)
下載附件
proteus仿真圖
2019-11-14 12:32 上傳
單片機(jī)源程序如下:
|