当前位置: 首页 > news >正文

深圳人才网站建设东莞网站优化流程

深圳人才网站建设,东莞网站优化流程,上海市云企业有限公司,张掖公司网站制作一个完整的PC16550 UART接收中断处理示例代码#xff0c;包含中断触发和中断释放#xff08;EOI#xff09;的实现 ; ; PC16550 UART接收中断处理示例 ; 功能: 接收字符并回显#xff0c;显示中断触发与释放状态 ; 硬件配置: ; - UART基地址: 100H ; - 8259 PIC端口:…一个完整的PC16550 UART接收中断处理示例代码包含中断触发和中断释放EOI的实现 ; ; PC16550 UART接收中断处理示例 ; 功能: 接收字符并回显显示中断触发与释放状态 ; 硬件配置: ; - UART基地址: 100H ; - 8259 PIC端口: 400H(命令), 402H(数据) ; - 中断请求线: IRQ1 (8259 IR1) ; - 中断向量号: 21H ; - 时钟频率: 18.432MHz ; - 波特率: 9600 bps (除数78H) ; ORG 100H JMP INITIALIZATION ; 跳过数据区到初始化代码; 数据段定义 int_triggered DB 0 ; 中断触发标志 int_released DB 0 ; 中断释放标志 recv_char DB 0 ; 接收的字符; 状态消息 trigger_msg DB 0Dh, 0Ah, Interrupt TRIGGERED, 0 release_msg DB 0Dh, 0Ah, Interrupt RELEASED (EOI sent), 0 recv_msg DB 0Dh, 0Ah, Received char: , 0 start_msg DB 0Dh, 0Ah, UART Interrupt Demo Started, 0Dh, 0AhDB Send characters to test interrupt..., 0Dh, 0Ah, 0 end_msg DB 0Dh, 0Ah, Program terminated., 0Dh, 0Ah, 0; 16550寄存器偏移 UART_BASE EQU 100H RBR_THR EQU UART_BASE 0 ; 接收缓冲/发送保持寄存器 IER EQU UART_BASE 1 ; 中断使能寄存器 IIR_FCR EQU UART_BASE 2 ; 中断标识/FIFO控制寄存器 LCR EQU UART_BASE 3 ; 线路控制寄存器 MCR EQU UART_BASE 4 ; 调制解调器控制寄存器 LSR EQU UART_BASE 5 ; 线路状态寄存器 DLL EQU UART_BASE 0 ; 除数锁存低字节 (DLAB1) DLM EQU UART_BASE 1 ; 除数锁存高字节 (DLAB1); 8259 PIC端口 PIC_CMD EQU 400H PIC_DATA EQU 402H; 中断向量号 UART_IRQ EQU 21H ; IRQ1对应中断21H; ; UART初始化子程序 ; INIT_UART:; 设置波特率除数 (9600 18.432MHz)MOV DX, LCRMOV AL, 80H ; 设置DLAB1OUT DX, ALMOV DX, DLL ; 除数锁存低字节MOV AL, 78H ; 120 78H (18.432MHz / (16 * 9600))OUT DX, ALMOV DX, DLM ; 除数锁存高字节MOV AL, 00HOUT DX, AL; 设置线路参数: 8位数据, 1停止位, 无校验MOV DX, LCRMOV AL, 03H ; 8N1, DLAB0OUT DX, AL; 启用并复位FIFOMOV DX, IIR_FCRMOV AL, 0C7H ; 启用FIFO, 14字节触发点, 清除接收FIFOOUT DX, AL; 设置调制解调器控制MOV DX, MCRMOV AL, 0BH ; 启用OUT2(中断使能), RTS和DTROUT DX, AL; 启用接收数据中断MOV DX, IERMOV AL, 01H ; 仅启用接收数据中断OUT DX, ALRET; ; 8259 PIC初始化 ; INIT_PIC:; 初始化8259MOV DX, PIC_CMDMOV AL, 17H ; ICW1: 边沿触发, 级联, 需要ICW4OUT DX, ALMOV DX, PIC_DATAMOV AL, UART_IRQ-1 ; ICW2: 中断向量基值OUT DX, ALMOV AL, 01H ; ICW4: 8086模式, 非缓冲, 正常EOIOUT DX, AL; 允许IRQ1中断IN AL, DXAND AL, 0FDH ; 清除IRQ1屏蔽位(11111101)OUT DX, ALRET; ; 设置中断向量 ; SET_INTERRUPT_VECTOR:CLI ; 关中断XOR AX, AXMOV ES, AX ; ES 0 (中断向量表段地址); 计算中断向量位置 (中断号 * 4)MOV AX, UART_IRQSHL AX, 2 ; 乘以4; 设置中断向量MOV DI, AXMOV AX, OFFSET UART_ISRCLDSTOSW ; 存储偏移地址MOV AX, CSSTOSW ; 存储段地址STI ; 开中断RET; ; UART中断服务程序 (IRQ1) ; 演示中断触发和释放过程 ; UART_ISR PROC FAR; 保存寄存器PUSH AXPUSH DXPUSH DS; 设置DS为当前数据段MOV AX, CSMOV DS, AX; 设置中断触发标志MOV [int_triggered], 1; 发送中断触发消息MOV SI, OFFSET trigger_msgCALL SEND_STRINGISR_LOOP:; 检查中断源MOV DX, IIR_FCRIN AL, DXTEST AL, 01H ; 检查是否有待处理中断 (bit01表示无中断)JNZ ISR_EXIT ; 无中断则退出; 检查是否为接收数据中断TEST AL, 04H ; 检查中断类型位 (bit1-2)JNZ CHECK_OTHER ; 不是接收中断则检查其他; 处理接收数据中断MOV DX, RBR_THRIN AL, DX ; 读取接收到的字符MOV [recv_char], AL ; 保存字符; 发送接收消息MOV SI, OFFSET recv_msgCALL SEND_STRINGMOV AL, [recv_char]CALL SEND_CHAR; 继续检查其他中断JMP ISR_LOOPCHECK_OTHER:; 可以添加其他中断类型的处理; ...ISR_EXIT:; 发送中断释放消息MOV SI, OFFSET release_msgCALL SEND_STRING; 发送EOI到8259MOV AL, 20HMOV DX, PIC_CMDOUT DX, AL; 设置中断释放标志MOV [int_released], 1; 恢复寄存器POP DSPOP DXPOP AXIRET UART_ISR ENDP; ; 串口发送字符子程序 ; 输入: AL 要发送的字符 ; SEND_CHAR:PUSH AXPUSH DX; 保存字符MOV AH, ALSEND_WAIT:; 检查发送保持寄存器是否为空MOV DX, LSRIN AL, DXTEST AL, 20H ; 检查THRE位(bit5)JZ SEND_WAIT ; 不为空则等待; 发送字符MOV DX, RBR_THRMOV AL, AHOUT DX, ALPOP DXPOP AXRET; ; 串口发送字符串 ; 输入: SI 字符串偏移地址 ; SEND_STRING:PUSH AXPUSH SISEND_STR_LOOP:LODSB ; 加载字符到ALOR AL, AL ; 检查是否结束(0)JZ SEND_STR_DONE ; 是则结束CALL SEND_CHAR ; 发送字符JMP SEND_STR_LOOP ; 继续发送SEND_STR_DONE:POP SIPOP AXRET; ; 主初始化程序 ; INITIALIZATION:; 初始化标志MOV [int_triggered], 0MOV [int_released], 0; 初始化UARTCALL INIT_UART; 初始化8259 PICCALL INIT_PIC; 设置中断向量CALL SET_INTERRUPT_VECTOR; 通过串口发送启动消息MOV SI, OFFSET start_msgCALL SEND_STRING; ; 主程序循环 ; MAIN_LOOP:; 可以在这里添加其他任务; 例如: 检查中断标志状态等; 简单的延时循环MOV CX, 0FFFFH DELAY_LOOP:LOOP DELAY_LOOP; 检查退出条件(可选); ...JMP MAIN_LOOP DB 55H,55H,55H,55H,55H; ; 退出程序(可选) ; ; 此示例程序将无限运行 ; 在实际应用中可添加退出逻辑
http://www.hkea.cn/news/14440738/

相关文章:

  • 网站开发项目项目运营旅游信息网站开发背景
  • 呼和浩特建设工程信息网站网站如何安装源码
  • 英国有哪些做折扣的网站南通网站关键词优化
  • 个人网站制作设计网站还没完成 能备案吗
  • 国外好看的网站设计呼市赛罕区信息网站做一顿饭工作
  • 网站 如何做 中英文切换百度关键词优化软件
  • 创建网站的价格印刷建设网站
  • 杭州萧山做网站公司seo岗位有哪些
  • 福田做网站定制网站建设费用
  • 网站商城模板近期新闻热点事件及评论
  • 医院网站制作公司二级建造师网官网
  • 旅店网站建设规划书海口网站建设做网站
  • 设计网站公司咨询亿企邦兰州做网站公司es5188
  • 闵行网站建设多久能见效果做网站站长
  • 重庆通信管理局网站福田瑞沃e3自卸车
  • 广州品牌网站开发个人网站平台
  • 外国网站分享代码阳江招聘网站
  • 阜阳建设网站公司电话新闻发布会的意义
  • 网站seo三要素优化加速
  • 原版百度wordpress 七牛云优化
  • 网站建设的风险预测技校软件开发专业
  • 公司门户网站怎么做360搜索首页网址是多少
  • 西宁做网站君博领先中国建设银行中国网站
  • 小公司网站开发广告策划书前言范文
  • 天津商务网站建设建站网络建立科技开发
  • 网站怎么做跳转链接全网关键词搜索工具
  • 无锡做网站价格市网站开发公司
  • 提供常州网站推广做百度网站每年的费用多少合适
  • 河南海华工程建设监理公司网站建设公司简介怎么写
  • 做网站怎样申请域名做网站片头的软件