义隆单片机C语言2ms中断,义隆单片机编程时应注意的几点.doc
义隆单片机编程时应注意的几点
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相关推荐
- c++ 结构体初始化_单片机C语言 - 基于结构体的面向对象编程技巧
单片机C语言 - 基于结构体的面向对象编程技巧 一.面向对象 面向对象是软件开发方法,是相对于面向过程来讲的.通过把数据与方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式 ...
- c语言程序 中断函数示例,单片机_C语言函数_中断函数(中断服务程序)
c语言中的中断函数注意事项 单片机_C语言函数_中断函数(中断服务程序) 在开始写中断函数之前,我们来一起回顾一下,单片机的中断系统. 中断的意思(学习过微机原理与接口技术的同学,没学过单片机,也应该 ...
- 单片机c语言 王东锋,基于51单片机的输液报警系统设计
高扬 摘 要:本设计是以AT89C51单片机为核心,利用光电传感器来检测设备液体的流动情况.当吊瓶内有点滴落下时,可通过红外检测装 1前言 随着信息技术和计算机技术的发展,信息革命在工业.医疗和控制领 ...
- 单片机c语言程序设计叶俊明,单片机C语言程序设计
本书的主要内容有51单片机的芯片引脚和*小系统.Keil C51编写软件与Proteus仿真软件的使用.C51语言.51单片机的基础实践.51单片机的中断系统.51单片机常见的接口电路以及十个实验例子 ...
- 单片机c语言篮球比分_基于单片机的篮球比赛计时计分器的设计
摘 要:本系统是采用单片机AT89C51作为本设计的核心原件.利用7段共阴LED作为显示器件.在此设计中共接入了2个7段共阴LED显示器,用于记录得分和比赛时间,显示范围可以达到0到99分,基本满足赛 ...
- 单片机c语言数码显示实验报告,单片机c语言版数码动态显示实验报告.doc
单片机c语言版数码动态显示实验报告 数码管动态显示实验一.实验要求在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路在电路中增加四个7段数码管(共阳/共阴自选),将P1口作数据输 ...
- 51单片机c语言延时计算软件,51单片机精确延时程序大集合+初值计算工具
在论坛上看到不少不错的延时程序,整理如下共同分享: 精确延时计算公式: 延时时间=[(2*第一层循环+3)*第二层循环+3]*第三层循环+5 ;延时5秒左右 DELAY5S:PUSH 04H;2个 ...
- 单片机c语言按键调整时钟,51单片机C语言可调时钟.doc
51单片机C语言可调时钟 程序介绍:六位共阳数码管显示,时·分·秒均可用按键调节.短按时选位的时间按一次加一下,长按不放时时间按一定的频率增加! 本程序的是我参考别人的基础上移植.再加上自己的想法做出 ...
- 单片机c语言 常用英语,数码管单片机c语言程序设计(国外英语资料).doc
数码管单片机c语言程序设计(国外英语资料) 数码管单片机c语言程序设计(国外英语资料) 1,一个管亮<静态> # include < reg52.h > #定义使用uint u ...
- 51单片机C语言波特率十六进制,理解51单片机串口通信的波特率与USB转串口通信...
RS232 在我们电脑上,一般都会有一个9针的串行接口,这个串行接口叫做RS232接口,它和UART通信有关联,但是由于现在笔记本电脑不带9针串口,所以和单片机通信越来越趋于使用USB虚拟串口. 九针 ...
最新文章
- [深度学习] Pytorch nn.CrossEntropyLoss()和nn.NLLLoss() 区别
- matlab在电力行业中的仿真技术-MATLAB小电流接地系统单向故障仿真分析
- 搜索推荐系统实战:终极奥秘
- android 字符串转bitmap,android – 如何将Base64字符串转换为BitMap图像显示在ImageView?...
- cesium 设置时间_Cesium应用篇:3控件(1)Clock
- VTK:可视化之VisualizeImageData
- javaone_旅行报告:JavaOne 2013 –重归荣耀
- JS_01JavaScript基础笔记
- 下载早期版本的JDK
- Python 学习笔记 - Redis
- mysql php 类 缓存_记录一个实用的PHP缓存类
- 设置只允许在微信里打开,做一个服务赞赏评价系统,提升服务质量,让员工更积极参与工作
- MySQL字符串拼接函数介绍
- 微信公众号原主体已注销 如何办理账号迁移?
- vue邮箱验证正则表达式错误:Unterminated regular expression
- B. Neko Performs Cat Furrier Transform(思维题)
- 《阿里云服务器教程3》:手机移动端如何远程登录阿里云服务器ECS
- 中鸣机器人走黑线_BOEBOT机器人走黑线任务处理过程以及反思
- CobaltStrike 生成office宏病毒进行钓鱼攻击
- 深度学习:深度信念网络(DBN)结构和训练过程