转自: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. c语言指针篇

    不保证绝对正确,学习中所记录的一些笔记罢了,可能随着经历的增多,逐渐的完善, 不要完全相信我所记录的内容,可能因为编译协议版本的不同出现不同的结果. 也可能我写的根本就是错的,请相信自己动手得出来的结 ...

  2. myeclipse(eclipse)IDE配置

    1.更换JDK8 2.更换低版本的eclipse试试 其他方法暂时没想到 一.设置编码与字体 工作空间编码设置:window->perferences->General->words ...

  3. c++ 二叉树的遍历

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> ...

  4. switch...case 语句

    var a = 6;switch(a){ case 1:   alert("1111");   break; case 2:   alert("2222");  ...

  5. Spring3升级到Spring4时, 运行时出现找不到MappingJacksonHttpMessageConverter的情况

    [org.springframework.web.context.ContextLoader]Context initialization failed org.springframework.bea ...

  6. 从零搭建HBase集群

    本文从零开始搭建大数据集群,涉及Linux集群安装搭建,Hadoop集群搭建,HBase集群搭建,Java接口封装,对接Java的C#类库封装 Linux集群搭建与配置 Hadoop集群搭建与配置 H ...

  7. C++实现从一个文件夹中读出所有txt文件

    前段时间做项目需要读取一个文件夹里面所有的txt文件,查询资料后得到以下实现方法:首先了解一下这个结构体struct _finddata_t {    unsigned    attrib;    t ...

  8. SourceTree跳过注册安装使用

    %LocalAppData%\Atlassian\SourceTree\目录 创建一个accounts.json [  {    "$id": "1",    ...

  9. zabbix4.0LTS安装配置

    一.环境准备 1.最小化安装centos7.5系统 2.安装常用软件包 yum install -y net-tools vim bash-completion 3.关闭selinux和修改主机名 v ...

  10. numpy技巧

    矩阵旋转: mat_array = np.array([[1,2],[4,3]]) rotate_90 = np.zeros((2,2), np.uint8) rotate_180 = np.zero ...