久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

51單片機(jī)C語(yǔ)言調(diào)用匯編子程序的簡(jiǎn)便方法

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:716413 發(fā)表于 2020-4-23 06:59 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
1、在匯編文件中,程序前邊加上如下三句話就可以:
PUBLIC   _delay, _binrlc       ;定義公用子程序名,這里定義了兩個(gè)子程序(有下劃線)
LUOYUAN  SEGMENT CODE  ;程序段命名,LUOYUAN,叫啥名都可以
RSEG     LUOYUAN

下邊放子程序(程序名要下劃線,其它標(biāo)號(hào)不要下劃線)

;匯編語(yǔ)言文件
PUBLIC  _delay, _binrlc;定義子程序名
LUOYUAN  SEGMENT CODE  ;命名LUOYUAN的程序段
RSEG     LUOYUAN

_delay:  MOV P1,#55H
             MOV R2,#30H
        DJNZ R2,$
        RET
;**********************************************;P3.2  74LS595鎖存口
;P3.3  74LS595時(shí)鐘口;P3.4  74LS595數(shù)據(jù)口
;P3.5  工作指示
;**********************************************
_binrlc: CLR P3.2                ;鎖存
         MOV A,R7
         ;XRL A,#0FFH    ;顯示要取反
         MOV R3,#8H        
binrl1: CLR  P3.3       ;時(shí)鐘位下降
        RLC A           ;連同進(jìn)位左移1位
            MOV P3.4,C      ;進(jìn)位到直接尋址位
        SETB P3.3       ;時(shí)鐘位上升
        DJNZ R3,binrl1

        SETB P3.2       ;鎖存
                CPL P3.5   ;取反閃亮
        RET
END


2、在C程序中,先聲明外部函數(shù),不然編譯找不到函數(shù)錯(cuò)誤,然后就如同C程序中調(diào)用C函數(shù)一樣

     binrlc(SBUF);   不要下劃線。
本程序89C51接收PC 串口來(lái)的數(shù)據(jù),送到74LS595驅(qū)動(dòng)的LED顯示。

//89C51串口0方式驅(qū)動(dòng)74LS595
// 11.0532
// P3_4控制鎖存
#include "AT89X51.h"

void initUart(void)
{
TMOD|=0x20;
SCON=0x50;
PCON|=0x80;
TH1=0xfa;
TL1=0xfa;
TR1=1;
ES=1;
}
extern void binrlc(char);      //外部函數(shù)聲明

void uart(void) interrupt 4
{
if(RI)
{
    RI=0;
     binrlc(SBUF);    //調(diào)用匯編子程序,方式同C子程序一樣
         P1= SBUF;
}
else
    TI=0;
}
void main(void)
{
initUart();
EA=1;
while(1);
}

以上Keil代碼工程下載::
Keil工程文件.7z (13.52 KB, 下載次數(shù): 34)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

6#
ID:99987 發(fā)表于 2021-11-26 10:50 | 只看該作者
heicad 發(fā)表于 2021-11-26 01:25
樓主現(xiàn)在已經(jīng)修復(fù)了

您好怎么修復(fù)的?同樣的問(wèn)題
回復(fù)

使用道具 舉報(bào)

5#
ID:262 發(fā)表于 2021-11-26 01:25 | 只看該作者
csmyldl 發(fā)表于 2021-8-29 22:40
編譯出現(xiàn)A33的錯(cuò)誤,下載的壓縮包沒(méi)有595匯編.asm,照上面的說(shuō)明打了,編譯不能通過(guò),無(wú)法驗(yàn)證

樓主現(xiàn)在已經(jīng)修復(fù)了
回復(fù)

使用道具 舉報(bào)

地板
ID:235200 發(fā)表于 2021-8-29 22:40 | 只看該作者
編譯出現(xiàn)A33的錯(cuò)誤,下載的壓縮包沒(méi)有595匯編.asm,照上面的說(shuō)明打了,編譯不能通過(guò),無(wú)法驗(yàn)證
回復(fù)

使用道具 舉報(bào)

板凳
ID:624769 發(fā)表于 2021-8-29 01:32 | 只看該作者
mkkop 發(fā)表于 2020-10-28 17:27
從C語(yǔ)言調(diào)用匯編語(yǔ)言中看到,從C語(yǔ)言傳遞數(shù)據(jù)到匯編語(yǔ)言里面的R7,可是沒(méi)有看到任何聲明R7的語(yǔ)句,請(qǐng)問(wèn)我們?cè)?...

規(guī)定,C語(yǔ)言傳參,Char的話, 第一變量 R7, 第二變量 R5, 第三變量 R3  short 的話,第一變量 R6,R7 第二變量R4,R5,第三變量 R2R3, long 的話 R4R5R6R7, 指針的話 R1R2R3 bit的話 C  返回值同理,
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:65297 發(fā)表于 2020-10-28 17:27 | 只看該作者
從C語(yǔ)言調(diào)用匯編語(yǔ)言中看到,從C語(yǔ)言傳遞數(shù)據(jù)到匯編語(yǔ)言里面的R7,可是沒(méi)有看到任何聲明R7的語(yǔ)句,請(qǐng)問(wèn)我們?cè)趺粗繡語(yǔ)言的數(shù)據(jù)是傳給R7的?為什么不是R0或R5之類的寄存器???
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 黄色欧美视频 | 亚洲欧美一区二区三区视频 | 亚洲一二三区在线观看 | 天堂免费看片 | 狠狠涩 | 久久久久久免费观看 | 国产高清91| 国产欧美精品 | 牛牛热在线视频 | 在线观看一区 | 日操夜操 | 国产精品免费一区二区三区四区 | 草草视频在线免费观看 | 国产亚洲欧美日韩精品一区二区三区 | 亚洲视频精品在线 | 国产在线一区观看 | 九九九视频在线 | h视频在线免费观看 | 国产精品自拍视频 | 亚洲一区二区三区四区五区午夜 | 欧美在线天堂 | 日韩av一区二区在线观看 | 欧美一区二区大片 | 草草影院ccyy| 国产欧美一区二区三区在线播放 | 狠狠av| 国产精品国产精品国产专区不片 | 正在播放亚洲 | 免费一级黄色 | 激情91 | 在线欧美亚洲 | 99精品国自产在线 | 欧美一级二级视频 | 久久久久国产精品 | 91九色视频在线 | 久久国产视频播放 | 国产高清一区二区三区 | 精品av| 国产一区二区三区不卡av | 久久99久久 | 国产日韩欧美精品一区二区 |