义隆单片机编程时应注意的几点

EM78系列单片机--异步串行通信设计

图5.8 RS232的发送和接收流程

程序清单如下:

;定义

STATUS EQU 3

P5 EQU 5

P6 EQU 0X06

BUFFER EQU 0X11

COUNT EQU 0X12

BITNUM EQU 8 ;每字节数据为8位

ORG 0

JMP MAIN

;主程序

MAIN: MOV A,@0X40 ;置P6.5为输出口,P6.6为输入口

IOW P6

CLR BYTE

MOV A,@BITNUM

MOV COUNT,A ;传送数据为每字节8位

;以下为接收

TEST: JBC P6,6 ;检测是否收到起始位

JMP TEST ;未测到

CALL DELAY ;测到起始位,下面准备接收

CALL DELAY ;延时

START: JBC P6,6

BS BYTE,7 ;收到高电平

JBS P6,6

BC BYTE,7 ;收到低电平

DJZ COUNT

JMP L1 ;一个字节未收完,继续收下一位

CALL DELAY

JMP TRANSMIT ;一个字节收完,准备发送

L1: RRC BYTE

CALL DELAY

JMP START

;以下为发送

TRANSMIT:

MOV A,@BITNUM

MOV COUNT,A

BEGIN: BC P6,5 ;发送起始位

CALL DELAY1 ;延时

L2: RRC BYTE ;发送一位数据

JBC STATUS,C

BS P6,5

JBS STATUS,C

BC P6,5

CALL DELAY1 ;延时

DJZ COUNT ;一个字节发送完否?

JMP L2 ;否,继续发送下一位

BS P6,5 ;是

CALL DELAY1

JMP TEST ;继续循环

;延时子程序

DELAY: MOV A,@23

MOV BUFFER,A

LOOP: DJZ BUFFER

JMP LOOP

RET

DELAY1: MOV A,@30

MOV BUFFER,A

LOOP1: DJZ BUFFER

JMP LOOP1

RET

EM78系列单片机--延迟子程序的编写

LP_CNT0 == 0X20 ;定义。

LP_CNT1 == 0X21

MOV A, @2 ;A = 2。

MOV LP_CNT0, A ;设定延迟寄存器0(LP_CNT0)=2

CALL P0_DLY ;呼叫时间延迟子程序。

P0_DLY:

NOP ;调节延迟时间。

MOV A, @200 ;设定 A = 200。

MOV LP_CNT1, A ;设定寄存器LP_CNT1 = 200。

P0_LP:

NOP ;调节延迟时间。

NOP ;调节延迟时间。

NOP ;调节延迟时间。

DJZ LP_CNT1 ;递減LP_CNT1,为0就跳过下一行

JMP P0_LP ;循环。

DJZ LP_CNT0 ;递減LP_CNT0,为0就跳过下一行

义隆单片机C语言2ms中断,义隆单片机编程时应注意的几点.doc相关推荐

  1. c++ 结构体初始化_单片机C语言 - 基于结构体的面向对象编程技巧

    单片机C语言 - 基于结构体的面向对象编程技巧 一.面向对象 面向对象是软件开发方法,是相对于面向过程来讲的.通过把数据与方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式 ...

  2. c语言程序 中断函数示例,单片机_C语言函数_中断函数(中断服务程序)

    c语言中的中断函数注意事项 单片机_C语言函数_中断函数(中断服务程序) 在开始写中断函数之前,我们来一起回顾一下,单片机的中断系统. 中断的意思(学习过微机原理与接口技术的同学,没学过单片机,也应该 ...

  3. 单片机c语言 王东锋,基于51单片机的输液报警系统设计

    高扬 摘 要:本设计是以AT89C51单片机为核心,利用光电传感器来检测设备液体的流动情况.当吊瓶内有点滴落下时,可通过红外检测装 1前言 随着信息技术和计算机技术的发展,信息革命在工业.医疗和控制领 ...

  4. 单片机c语言程序设计叶俊明,单片机C语言程序设计

    本书的主要内容有51单片机的芯片引脚和*小系统.Keil C51编写软件与Proteus仿真软件的使用.C51语言.51单片机的基础实践.51单片机的中断系统.51单片机常见的接口电路以及十个实验例子 ...

  5. 单片机c语言篮球比分_基于单片机的篮球比赛计时计分器的设计

    摘 要:本系统是采用单片机AT89C51作为本设计的核心原件.利用7段共阴LED作为显示器件.在此设计中共接入了2个7段共阴LED显示器,用于记录得分和比赛时间,显示范围可以达到0到99分,基本满足赛 ...

  6. 单片机c语言数码显示实验报告,单片机c语言版数码动态显示实验报告.doc

    单片机c语言版数码动态显示实验报告 数码管动态显示实验一.实验要求在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路在电路中增加四个7段数码管(共阳/共阴自选),将P1口作数据输 ...

  7. 51单片机c语言延时计算软件,51单片机精确延时程序大集合+初值计算工具

    在论坛上看到不少不错的延时程序,整理如下共同分享: 精确延时计算公式: 延时时间=[(2*第一层循环+3)*第二层循环+3]*第三层循环+5 ;延时5秒左右 DELAY5S:PUSH   04H;2个 ...

  8. 单片机c语言按键调整时钟,51单片机C语言可调时钟.doc

    51单片机C语言可调时钟 程序介绍:六位共阳数码管显示,时·分·秒均可用按键调节.短按时选位的时间按一次加一下,长按不放时时间按一定的频率增加! 本程序的是我参考别人的基础上移植.再加上自己的想法做出 ...

  9. 单片机c语言 常用英语,数码管单片机c语言程序设计(国外英语资料).doc

    数码管单片机c语言程序设计(国外英语资料) 数码管单片机c语言程序设计(国外英语资料) 1,一个管亮<静态> # include < reg52.h > #定义使用uint u ...

  10. 51单片机C语言波特率十六进制,理解51单片机串口通信的波特率与USB转串口通信...

    RS232 在我们电脑上,一般都会有一个9针的串行接口,这个串行接口叫做RS232接口,它和UART通信有关联,但是由于现在笔记本电脑不带9针串口,所以和单片机通信越来越趋于使用USB虚拟串口. 九针 ...

最新文章

  1. [深度学习] Pytorch nn.CrossEntropyLoss()和nn.NLLLoss() 区别
  2. matlab在电力行业中的仿真技术-MATLAB小电流接地系统单向故障仿真分析
  3. 搜索推荐系统实战:终极奥秘
  4. android 字符串转bitmap,android – 如何将Base64字符串转换为BitMap图像显示在ImageView?...
  5. cesium 设置时间_Cesium应用篇:3控件(1)Clock
  6. VTK:可视化之VisualizeImageData
  7. javaone_旅行报告:JavaOne 2013 –重归荣耀
  8. JS_01JavaScript基础笔记
  9. 下载早期版本的JDK
  10. Python 学习笔记 - Redis
  11. mysql php 类 缓存_记录一个实用的PHP缓存类
  12. 设置只允许在微信里打开,做一个服务赞赏评价系统,提升服务质量,让员工更积极参与工作
  13. MySQL字符串拼接函数介绍
  14. 微信公众号原主体已注销 如何办理账号迁移?
  15. vue邮箱验证正则表达式错误:Unterminated regular expression
  16. B. Neko Performs Cat Furrier Transform(思维题)
  17. 《阿里云服务器教程3》:手机移动端如何远程登录阿里云服务器ECS
  18. 中鸣机器人走黑线_BOEBOT机器人走黑线任务处理过程以及反思
  19. CobaltStrike 生成office宏病毒进行钓鱼攻击
  20. 深度学习:深度信念网络(DBN)结构和训练过程

热门文章

  1. CPAN下载安装pm包方法
  2. 2003年新版CCNP考试大纲---CITV5.0(转)
  3. 理解modle下的gradle
  4. 点菜系统(适合Java基础练习)
  5. 华为云服务器查看备份文件,云服务器备份查看备份
  6. 实验五:Telemetry静态订阅实验
  7. Gram矩阵简单解释
  8. 20221115使用google文档翻译SRT格式的字幕
  9. 【多式联运】基于模拟退火优化遗传算法求解多式联运运输问题(含碳政策)含Matlab代码
  10. route 不同路由器 windows_如何检查路由器WiFi信号的好坏?