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

Prj10--8088单板机C语言8259测试(1)

1.原理图

2.Deepseek示例代码

#include <dos.h>
#include <conio.h>
#include <stdio.h>#define PIC1_CMD  0x400   // 命令端口 (A0=0)
#define PIC1_DATA 0x401   // 数据端口 (A0=1)volatile int int_count = 0;  // 中断计数器
void interrupt (*old_isr)(void);  // 原中断向量// 中断服务程序
void interrupt new_isr(void) {int_count++;  // 增加中断计数// 显示中断信息printf("\nIRQ0 Triggered! Count: %d", int_count);// 发送EOI命令outportb(PIC1_CMD, 0x20);
}// 初始化8259
void init_8259(void) {// ICW1: 边沿触发 | 单片 | 需要ICW4outportb(PIC1_CMD, 0x13);// ICW2: 中断向量基址=20houtportb(PIC1_DATA, 0x20);// ICW4: 8086模式 | 正常EOIoutportb(PIC1_DATA, 0x01);// OCW1: 只允许IR0中断 (11111110b)outportb(PIC1_DATA, 0xFE);
}int main(void) {clrscr();printf("8259 Test Running. Press ESC to exit...\n");// 保存原中断向量 (INT 20h)old_isr = getvect(0x20);// 设置新中断向量setvect(0x20, new_isr);// 初始化8259init_8259();// 启用中断enable();// 主循环while(!kbhit() && int_count < 10) {// 等待中断或按键}// 检查是否按ESC退出if(kbhit() && getch() == 0x1B) {printf("\nESC pressed. ");}// 恢复设置disable();setvect(0x20, old_isr);// 屏蔽所有中断outportb(PIC1_DATA, 0xFF);printf("\nProgram terminated. Total interrupts: %d", int_count);return 0;
}

 

 

http://www.lryc.cn/news/2399194.html

相关文章:

  • 3步在小米13手机跑DeepSeek R1
  • 数智管理学(十六)
  • 注销微软账户
  • Ubuntu 服务器软件更新,以及常用软件安装 —— 一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录 3
  • Mysql常用知识3:Kafka和数据库优化
  • Milvus单机模式安装和试用
  • 飞牛NAS+Docker技术搭建个人博客站:公网远程部署实战指南
  • 刷leetcode hot100返航必胜版--链表6/3
  • C# 序列化技术全面解析:原理、实现与应用场景
  • isp调试 blend模式指什么
  • electron定时任务,打印内存占用情况
  • Gitee Wiki:以知识管理赋能 DevSecOps,推动关键领域软件自主演进
  • 学习STC51单片机24(芯片为STC89C52RCRC)
  • LabVIEW基于 DataSocket从 OPC 服务器读取数据
  • 阿里云无影云桌面深度测评
  • 【208】VS2022 C++ 32位整数和unsigned char数组之间互相转换
  • 数据库技术
  • 深入浅出:Oracle 数据库 SQL 执行计划查看详解(1)——基础概念与查看方式
  • 前端​​HTML contenteditable 属性使用指南
  • 自动化采集脚本与隧道IP防封设计
  • 【设计模式-4.7】行为型——备忘录模式
  • docker离线镜像下载
  • Vert.x学习笔记-Verticle原理解析
  • Cobra CLI 工具使用指南:构建 Go 语言命令行应用的完整教程
  • jQuery和CSS3卡片列表布局特效
  • 不连网也能跑大模型?
  • 强化学习鱼书(10)——更多深度强化学习的算法
  • K8S上使用helm部署 Prometheus + Grafana
  • 十四、【测试执行篇】让测试跑起来:API 接口测试执行器设计与实现 (后端执行逻辑)
  • Java面试八股--07-项目篇