转自: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的更多相关文章

  1. STM32 KEIL不能输入仿真引脚端口error 65: access violation at 0x40021000 : no 'read' permission

    使用MDK自己创建一个STM32F103ZE核的项目 加入源码后编译,正常,在线仿真单步执行出现如下问题 error 65: access violation at 0x40021000 : no ' ...

  2. error 65: access violation at 0x40021000 : no 'read' permission

    http://blog.csdn.net/stephen_yu/article/details/7725247 使用MDK自己创建一个STM32F103VE核的项目 加入源码后编译,正常,在线仿真单步 ...

  3. MDK5.00中*** error 65: access violation at 0xFFFFFFFC : no 'write' permission的一种解决方法

    http://blog.csdn.net/coderfun/article/details/9417289 这是在调试过程中的修改方法,所以在每次运行的时候,都要设置. 先进入调试模式(crtl+F5 ...

  4. 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 ...

  5. 【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或者更高版本,则不需要做任何事情. ...

  6. 解决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 ...

  7. 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 ...

  8. 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 ...

  9. 解决 “access violation at address xxxxxxxxx”错误

    在进行磁盘整理的时候,打开Foxmail的时候出现了“access violation at address32383137”错误 和“access violation at address00000 ...

随机推荐

  1. 时间序列分析工具箱——tibbletime

    目录 时间序列分析工具箱--tibbletime tibbletime 的用途 加载包 数据 教程:tibbletime 初始化一个 tbl_time 对象 时间序列函数 翻译自<Demo We ...

  2. 用EXCEL的VBA将PHPCMS的备份文件转换成HTML的一次尝试

    背景 有个PHPCMS的网站停了,但是网站的历史文章又想要看看,网站停了以后,管理员发来了网站的所有数据. 分析 因为不会PHP,所有本地环境跑网站不优先考虑. 有MySQL数据库文件,但是不熟悉My ...

  3. 大数据入门第八天——MapReduce详解(四)本地模式运行与join实例

    一.本地模式调试MR程序 1.准备 参考之前随笔的windows开发说明处:http://www.cnblogs.com/jiangbei/p/8366238.html 2.流程 最重要的是设置Loc ...

  4. JavaWeb基础—HttpServletResponse

    HttpServletResponse对象代表服务器的响应. 这个对象中封装了向客户端发送数据.发送响应头,发送响应状态码的方法. 几个方法: 向客户端发送数据: getOutputStream() ...

  5. @slf4j注解找不到 log 变量

    @slf4j注解找不到 log 变量 作者:oschina 来源:开源中国 时间:2017-10-11 23:05:02 我要评论 一. 检查是否添加在pom文件中添加依赖 org.projectlo ...

  6. 【SQLSERVER】处理一对多标签的语法糖

    数据库表设计的时候,经常会出现一对多的情况,比如标签.明细之类的. 有时,需要在一个查询中,将每个主体的所有标签在一个字段中展示出来,这个时候就可以用 FOR XML PATH 这个语法轻易的实现. ...

  7. c++ 文件操作 重新命名 删除

    教学内容:  l 文件重命名rename l 文件删除remove   文件重命名rename int rename( const char *oldname, const char *newname ...

  8. Nessus 用好的网络(比如热点)就可以正常在线更新扫描插件了

    折腾那么多不如直接开热点 nethogs 实时查看网络流量 ( linux下 )

  9. C#时间间隔

    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); stop ...

  10. Inception——Going deeper with convolutions

    1. 摘要 作者提出了一个代号为 Inception 的卷积神经网络架构,这也是作者在 2014 年 ImageNet 大规模视觉识别挑战赛中用于分类和检测的新技术. 通过精心的设计,该架构提高了网络 ...