当前位置:首页 > 嵌入式 > 嵌入式硬件

朋友们送上的使用Proteus仿真学习PIC汇编程序的最后一例,但遗憾的是,本例目前仍未完成,没有实现预期效果。

本例的构思如下:在PIC单片机的RB端口上接一个4×4的矩阵键盘,在RC端口上接一个数码管;在键盘上没有按键按下时,RC口上的数码管循环显示从0到9的数字;一旦有按键按下,则利用RB口的电平变化中断功能,进入中断子程序,在中断子程序中实现使用数码管显示按下的按键的键号的功能。本例和前面的例子Proteus仿真PIC汇编程序——键盘扫描和数码管显示类似,只是增加了RB口中断功能而已。

首先,和前面所有例子相同,在PIC文件夹下建立一个名为RBInterrupt的子文件夹;然后在MPLAB中新建一个工程项目,并将其以RBInterrupt之名保存在如上的子文件夹中。接着在MPLAB中新建一个源程序文件,将如下的源程序代码复制到文件中:

#include <p16f877.inc>
keycode equ 70h ;键码变量
io equ 71h ;输出变量
w_temp equ 72h ;W暂存寄存器
status_temp equ 73h ;status暂存寄存器
portc_temp equ 74h ;portc暂存寄存器
value equ 76h ;键值寄存器
org 00h
goto main ;主程序
org 04h
goto int ;中断子程序
main ;主程序
table ;在RAM30h-3fh中建立键值表
movlw 0eeh ;0的键值
movwf 30h
movlw 0deh ;1的键值
movwf 31h
movlw 0beh ;2的键值
movwf 32h
movlw 07eh ;3的键值
movwf 33h
movlw 0edh ;4的键值
movwf 34h
movlw 0ddh ;5的键值
movwf 35h
movlw 0bdh ;6的键值
movwf 36h
movlw 07dh ;7的键值
movwf 37h
movlw 0ebh ;8的键值
movwf 38h
movlw 0dbh ;9的键值
movwf 39h
movlw 0bbh ;a的键值
movwf 3ah
movlw 07bh ;b的键值
movwf 3bh
movlw 0e7h ;c的键值
movwf 3ch
movlw 0d7h ;d的键值
movwf 3dh
movlw 0b7h ;e的键值
movwf 3eh
movlw 077h ;f的键值
movwf 3fh
banksel trisb ;选择相应的体
movlw 00h ;设置RB端口全部输出
movwf trisb
movlw 00h ;设置RC端口全部输出
movwf trisc
movlw 07h ;设置TMR0分频比
movwf option_reg ;启用RB口上拉
banksel portc
movlw 0ffh
movwf portc ;RC端口输出全1
clrf portb ;RB端口输出全0
movlw 0f0h
movwf portb ;RB口低四位输出0
banksel trisb
movlw 0f0h ;设置RB口高四位入,低四位出
movwf trisb
banksel portb


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python
关闭
关闭