*** error 65: access violation at C:0x001B : no 'execute/read' permission
转自:http://blog.csdn.net/chenqiai0/article/details/7827071
很多人在进行串口调试的时候会遇到这个问题,请大家略看我的代码,解决方法在其中
//实验目的:串口调试助手上输入数据0-9,然后再数码管显示
org 00H
ljmp start
org 23H //中断入口地址
ljmp uart_interrupt
org 30H
start:
mov P0,#0xff//设置初始值
mov dptr,#numb
lcall en
lcall UART_init
here: sjmp here //好比是一个while(1)循环
;首先3/8译码器使能 并且选中第一个数码管用于显示
en:
clr P1.4
setb P1.3
clr P1.0
clr P1.1
clr P1.2
ret
//uart初始化
UART_init:
mov TMOD,#0x20 //0010 0000 说明在定时器1的工作方式2下工作
mov TH1,#0xFD
mov TL1,#0xFD
setb TR1 //定时器1运行控制位=1,说明开始计时
mov SCON,#0x50 //0101 0000 前两位说明在串口工作方式1 第三位SM2在方式1设置为0 第四位REN=1允许串口接收
setb EA
setb ES
//setb ET1 //错误:*** error 65: access violation at C:0x001B : no 'execute/read' permission
//解决办法:timer1是做为串行通信的波特率发生器,设置为方式2(自动填充)为ET1被置位,而timer1没有跳转函数(因为是自动填充)
//所以timer1 会执行中断,跳转到中断入口0x1B,使程序跑飞了。不置位ET1就可以了
ret
//中断服务程序
uart_interrupt:
send:
mov A,#0x02
anl A,SCON
cjne A,#2, receive
clr TI
setb REN
receive:
mov A,#0x01
anl A,SCON
cjne A,#1,quit
clr RI
mov R4,SBUF
mov R3,SBUF
mov A,R4
subb A,#0x30
movc A,@A+dptr
mov P0,A
addc A,#0x30
mov SBUF,R3
clr REN
quit:
reti
//0-9
numb:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
end
大家注意看ET1=1这一段,注释就是解决方法
*** error 65: access violation at C:0x001B : no 'execute/read' permission的更多相关文章
- STM32 KEIL不能输入仿真引脚端口error 65: access violation at 0x40021000 : no 'read' permission
使用MDK自己创建一个STM32F103ZE核的项目 加入源码后编译,正常,在线仿真单步执行出现如下问题 error 65: access violation at 0x40021000 : no ' ...
- error 65: access violation at 0x40021000 : no 'read' permission
http://blog.csdn.net/stephen_yu/article/details/7725247 使用MDK自己创建一个STM32F103VE核的项目 加入源码后编译,正常,在线仿真单步 ...
- MDK5.00中*** error 65: access violation at 0xFFFFFFFC : no 'write' permission的一种解决方法
http://blog.csdn.net/coderfun/article/details/9417289 这是在调试过程中的修改方法,所以在每次运行的时候,都要设置. 先进入调试模式(crtl+F5 ...
- laravel migrate时报错:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
今天在学习laravel的路由模型绑定时,在按照文档执行php artisan migrate时报错. In Connection.php line 664: SQLSTATE[42000]: Syn ...
- 【laravel5.6】 Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
在进行数据迁移时候报错: 特殊字段太长报错, php artisan migrate 现在utf8mb4包括存储emojis支持.如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情. ...
- 解决laravel出现Syntax error or access violation: 1055 '***' isn't in GROUP BY
laravel 5.3 以后默认开启 mysql严格模式(strict)在mysql在严格模式下, 并且开启了ONLY_FULL_GROUP_BY的情况下,group by 的字段没有出现在 sele ...
- SQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION 'utf8mb4_unicode_ci' is not valid for CHARACTER SET 'binary'
SQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION 'utf8mb4_unicode_ci' is not valid ...
- laravel5.5 Syntax error or access violation: 1071 Specified key was too long
在laravel5.5执行数据迁移时 php artisan migrate 先说下系统环境: ubutun Ubuntu 16.04.3 LTS mysql:5.6.35-log 经查自Larave ...
- 解决 “access violation at address xxxxxxxxx”错误
在进行磁盘整理的时候,打开Foxmail的时候出现了“access violation at address32383137”错误 和“access violation at address00000 ...
随机推荐
- c语言指针篇
不保证绝对正确,学习中所记录的一些笔记罢了,可能随着经历的增多,逐渐的完善, 不要完全相信我所记录的内容,可能因为编译协议版本的不同出现不同的结果. 也可能我写的根本就是错的,请相信自己动手得出来的结 ...
- myeclipse(eclipse)IDE配置
1.更换JDK8 2.更换低版本的eclipse试试 其他方法暂时没想到 一.设置编码与字体 工作空间编码设置:window->perferences->General->words ...
- c++ 二叉树的遍历
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> ...
- switch...case 语句
var a = 6;switch(a){ case 1: alert("1111"); break; case 2: alert("2222"); ...
- Spring3升级到Spring4时, 运行时出现找不到MappingJacksonHttpMessageConverter的情况
[org.springframework.web.context.ContextLoader]Context initialization failed org.springframework.bea ...
- 从零搭建HBase集群
本文从零开始搭建大数据集群,涉及Linux集群安装搭建,Hadoop集群搭建,HBase集群搭建,Java接口封装,对接Java的C#类库封装 Linux集群搭建与配置 Hadoop集群搭建与配置 H ...
- C++实现从一个文件夹中读出所有txt文件
前段时间做项目需要读取一个文件夹里面所有的txt文件,查询资料后得到以下实现方法:首先了解一下这个结构体struct _finddata_t { unsigned attrib; t ...
- SourceTree跳过注册安装使用
%LocalAppData%\Atlassian\SourceTree\目录 创建一个accounts.json [ { "$id": "1", ...
- zabbix4.0LTS安装配置
一.环境准备 1.最小化安装centos7.5系统 2.安装常用软件包 yum install -y net-tools vim bash-completion 3.关闭selinux和修改主机名 v ...
- numpy技巧
矩阵旋转: mat_array = np.array([[1,2],[4,3]]) rotate_90 = np.zeros((2,2), np.uint8) rotate_180 = np.zero ...