PIC系列单片机程序设计基础分析与应用 上

发布者:莫愁前路最新更新时间:2017-12-03 来源: eefocus关键字:PIC系列  单片机  程序设计 手机看文章 扫描二维码
随时随地手机看文章

  PIC单片机的查表程序可以利用子程序带值返回的特点来实现。具体是在主程序中先取表数据地址放入W,接着调用子程序,子程序的第一条指令将W置入PC,则程序跳到数据地址的地方,再由“RETLW”指令将数据放入W返回到主程序。下面程序以F10放表头地址。
      MOVLW  TABLE     ;表头地址→F10  
      MOVWF  10
          ┋
      MOVLW  1        ;1→W,准备取“1”的线段值
      ADDWF  10,1      ;F10+W =“1”的数据地址
      CALL  CONVERT
      MOVWF  6        ;线段值置到B口,点亮LED
          ┋
  CONVERT MOVWF  2        ;W→PC TABLE
      RETLW  0C0H      ;“0”线段值
      RETLW  0F9H      ;“1”线段值
          ┋
      RETLW  90H       ;“9”线段值

关键字:PIC系列  单片机  程序设计 引用地址:PIC系列单片机程序设计基础分析与应用 上

上一篇:PIC单片机程序设计方法和的基本格式
下一篇:PIC系列单片机程序设计基础应用与原理 (下)

推荐阅读最新更新时间:2024-03-16 15:48

关于单片机的using使用
C51的中断函数的格式为:void FuncIr(void) interrupt x 以下是梦游的一些分析: 一、中断函数是一个特殊的函数,没有参数,也没有返回值;但是程序中允不允许使用return呢?答案是允许的,不过只能用 return; ,不能用 return(z); ;用在一些需要快速返回的地方,对应的汇编会有多个ret语句,相对效率会高一些。 二、using的用法,using可以修饰任何函数,不过个人建议只用来修饰中断函数;简单的说, using 会指定工作寄存器组,由于中断函数一般都是比较紧急的事情,有时一条语句都会斤斤计较,所以使用using切换寄存器组可以省去一些压栈的动作,由于51只有两级中断,同级中
[单片机]
基于AVR单片机多任务嵌入式Internet系统设计
1 引言 目前,嵌入式系统已经广泛渗透到人们的工作、生活中。从家用电器、信息终端、手持通信设备到仪器仪表、制造工业、过程控制等领域,嵌入式设备已随处可见。另一方面,近几年来Internet技术的飞速发展给嵌入式应用带来了新的契机,在未来嵌入式系统中应用Internet技术具有很大的优势。 目前嵌入式Internet技术的实现主要有下面三种方式 : 第一种方式是EMIT技术,采用支持TCP/IP协议的高性能服务器作为网关(emGateway), 嵌入式设备通过RS-232、RS-485或者CAN总线等与网关服务器连接,间接通过服务器网关连接Internet。经过多年的发展EMIT技术已经在工业设备的网络化中得到了广
[单片机]
基于AVR<font color='red'>单片机</font>多任务嵌入式Internet系统设计
基于AVR单片机的高精度频率调节器
摘要: 精确的频率控制是现代化工业生产与高精度测试的必备手段。基于AD9850可以发生优于1Hz频率精确度的信号,这对于频率测试来说至关重要。本文介绍的这种频率调节器由Atmel公司的AVR单片机Atmega16L作为控制核心,采用4%26;#215;4键盘作为频率值输入设备。AVR单片机扫描键盘并且读入用户设定的频率值。随后,AVR单片机计算出AD9850的控制字,并且对AD9850发出指令。本文介绍的频率控制器可以通过“+1Hz”键和“–1Hz”键微调频率值。本文对频率控制器扩展了液晶显示模块,因此当前频率值可以被实时显示。它可以生成方波和正弦波。设计中使用了看门狗定时器防止程序进入死循环而不能正常工作。 关键词: AVR
[应用]
51单片机的仿真栈(模拟栈/可重入栈)
首先来看,51的系统栈(又叫系统栈,或者硬件栈),就是SP所指向的栈,他是一个满增栈(注释1),位于片内RAM的128 bytes之中,上电之后系统堆栈指针SP的初值等于多少呢?这个要从51的启动文件来分析,启动文件中有这样的汇编代码: ?STACK SEGMENT IDATA ;定义一个片内数据段,段名:?STACK RSEG ?STACK ;选择之前定义过的一个可重定位的段?STACK,下面的汇编语句将会被放置到该段,直到遇到下一个段定位指令,例如CSEG/RSEG。 DS 1 ;预留存储区命令。声明先占用一个字节的空间,在编译时,这个预留的空间不会被其他变量所使用。在这里的意义是,给硬件栈分配1个byte(实际这
[单片机]
用IAR编译STM8单片机报警告
警告图片: 由警告提示可知,有一个编译选项执行失败了,但是我们仍然可以继续去执行代码 【 就像是你点了一份盖浇饭,和服务员说你要微辣,结果上来后你发现你的盖浇饭是不辣的,而这并不影响你继续享受盖浇饭,你同样可以吃的饱! 但是对于我这样的强迫症来说,这样吃起来就不香了,所以我还是得手动去加点辣椒才行。】 怎样才能吃的香呢? 第一步: 第二步: 第三步:重新编译- 下载,你会发现没有了警告! 到此,就是我的解决办法! 希望你也能早点解决
[单片机]
用IAR编译STM8<font color='red'>单片机</font>报警告
基于51单片机的单个LED灯的设计
本设计旨在完成精确控制1个LED的亮灭状态而设计的,代码仅供参考。 代码: #include reg52.h #include intrins.h sbit LED=P1^0; void Delay1000ms() //@11.0592MHz { unsigned char i, j, k; _nop_(); i = 8; j = 1; k = 243; do { do { while (--k); } while (--j); } while (--i); } void main() { while(1) { LED
[单片机]
基于51<font color='red'>单片机</font>的单个LED灯的设计
套路,快速掌握单片机的4个步骤
初学者在学习某一款单片机时,往往手足无措,没有头绪不知从哪里开始。其实单片机就是一款工具,是工具总有操作方法,因此学习单片机也是有套路的, 我把这个套路总结为4步,下面听我娓娓道来。 1. 认清单片机的具体型号 单片机就跟我们身边的朋友一样,都有一个具体的名字,当听到朋友的名字后你就能马上回想起这个朋友的长相特征、性格特征等,人记对了做事就明确了不会张冠李戴。 学习单片机也一样,在学习或者使用单片机之前一定要明确厂商,是STC的、还是Atmel的、还是Microchip的、还是TI的等,此外具体的型号一定要记清楚,是STC89系列,还是ST15系列一定要记清楚,比如说STC89C51、STC15W404AS、STM32F10
[单片机]
套路,快速掌握<font color='red'>单片机</font>的4个步骤
意法半导体推出业界首创的云端MCU边缘人工智能开发者平台
意法半导体推出业界首创的云端MCU边缘人工智能开发者平台 可在STM32板上在线评估边缘 AI模型性能 2023年2月23日,中国 – 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;)继续扩大嵌入人工智能(AI)解决方案组合,为嵌入式人工智能开发人员和数据专家提供一套业界首创的在线开发工具和服务。 STM32Cube.AI云端开发者平台让开发者有机会使用一整套围绕行业领先的 STM32微控制器 (MCU)构建的在线开发工具,促进软硬件选购决策,降低边缘人工智能技术开发复杂度,加快新产品上市速度。 意法半导体通用微控制器子产品部执行副总裁Ricardo De
[网络通信]
意法半导体推出业界首创的云端<font color='red'>MCU</font>边缘人工智能开发者平台
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved