找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5025|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

請教51單片機(jī)接8255擴(kuò)展IO口的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
500黑幣
本帖最后由 53546538 于 2018-5-13 09:59 編輯

如圖,我P0口接74HC373,低三位接8255的A0、A1、CS。
#define PA  XBYTE[0X0000]
#define PB  XBYTE[0X0001]  
#define PC  XBYTE[0X0002]  
#define COM XBYTE[0X0003]

但是我發(fā)現(xiàn)無法控制8255,我在主程序中寫PA=0XFF,然后測PA口的電壓,發(fā)現(xiàn)前四個(gè)是0v,后四個(gè)1.1v(前四個(gè)接了繼電器)。我又測了CS,A0,A1電壓,都是4.95V。
下面是部分主程序,我測試一下,程序執(zhí)行到了do while循環(huán)后就出不來了,因?yàn)闄z測不到按鍵。
void    main(void)
     {
   int z=17;
   int m;
   char v;
   COM=0X80;
         while(1)
     {     
  start:  initinal();      //調(diào)用LCD字庫初始化程序
          delay(20);            //大于100uS的延時(shí)程序
          lcd_mesg(IC_DAT);  //顯示中文漢字
    delayms(10);
          do
  {
     KeyScan();
   
      }
     while(key_flag==0);
    key_flag=0;
    if(key==12) //存快遞
    {
   

獲.PNG (74.46 KB, 下載次數(shù): 63)

獲.PNG
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:296622 發(fā)表于 2018-5-13 08:40 | 只看該作者
這是鍵盤程序

void KeyScan() //鍵盤掃描程序,key應(yīng)定義為全局無符號字符型
{
        uchar temp;
                PC=0X0F;
                if(PC!=0X0F)
                {
                        delayms(1);
                        if(PC!=0X0F)
                        {
                                temp=PC;
                                PC=0xf0;
                                key=temp|PC;
                                  switch(key)
                                {
                                        case 0xee:key=0;break;
                                        case 0xed:key=1;break;
                                        case 0xeb:key=2;break;
                                        case 0xe7:key=3;break;
                                        case 0xde:key=4;break;
                                        case 0xdd:key=5;break;
                                        case 0xdb:key=6;break;
                                        case 0xd7:key=7;break;
                                        case 0xbe:key=8;break;
                                        case 0xbd:key=9;break;
                                        case 0xbb:key=10;break;
                                        case 0xb7:key=11;break;
                                        case 0x7e:key=12;break;
                                        case 0x7d:key=13;break;
                                        case 0x7b:key=14;break;
                                        case 0x77:key=15;break;
                                }
                                key_flag=1;
                                }
                                }
                            }       
回復(fù)

使用道具 舉報(bào)

板凳
ID:296622 發(fā)表于 2018-5-15 14:50 | 只看該作者
頂一下,好幾天了,找不出原因在哪,按理來說這么簡單的電路,不應(yīng)該找這么長時(shí)間找不出問題啊
回復(fù)

使用道具 舉報(bào)

地板
ID:111634 發(fā)表于 2018-5-15 21:00 | 只看該作者
本帖最后由 zl2168 于 2018-5-15 21:01 編輯

實(shí)例36  并行擴(kuò)展8255
Proteus仿真一下,確認(rèn)有效。
實(shí)例36 并行擴(kuò)展8255.rar (39.15 KB, 下載次數(shù): 49)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行。
回復(fù)

使用道具 舉報(bào)

5#
ID:111634 發(fā)表于 2018-5-15 21:04 | 只看該作者
本帖最后由 zl2168 于 2018-5-15 21:06 編輯

實(shí)例60  8255A擴(kuò)展8位LED數(shù)碼管動態(tài)顯示
Proteus仿真一下,確認(rèn)有效。
實(shí)例60 8255A擴(kuò)展8位LED動態(tài)顯示.rar (40.19 KB, 下載次數(shù): 35)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行。書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。
回復(fù)

使用道具 舉報(bào)

6#
ID:158375 發(fā)表于 2018-5-16 10:43 | 只看該作者
看你的圖,8255沒有復(fù)位。
8255不需要復(fù)位嗎?
回復(fù)

使用道具 舉報(bào)

7#
ID:336165 發(fā)表于 2018-5-24 22:59 | 只看該作者
感覺cs,a1,a0都直接連單片機(jī)就行啊
回復(fù)

使用道具 舉報(bào)

8#
ID:337872 發(fā)表于 2018-5-25 10:30 | 只看該作者
zl2168 發(fā)表于 2018-5-15 21:04
實(shí)例60  8255A擴(kuò)展8位LED數(shù)碼管動態(tài)顯示
先Proteus仿真一下,確認(rèn)有效。
以上摘自張志良編著《80C51單片 ...

請問有對應(yīng)的程序嗎
回復(fù)

使用道具 舉報(bào)

9#
ID:111634 發(fā)表于 2018-5-25 22:19 | 只看該作者
北鼻君 發(fā)表于 2018-5-25 10:30
請問有對應(yīng)的程序嗎

仿真電路和Hex文件能在清華出版社網(wǎng)站免費(fèi)下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表