news 2026/6/15 20:59:47

Deeepseek生成8255动态显示程序(续)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Deeepseek生成8255动态显示程序(续)

1.接上篇,程序修改2处

2.完整程序

#make_bin# ; BIN is plain binary format similar to .com format, but not limited to 1 segment; ; All values between # are directives, these values are saved into a separate .binf file. ; Before loading .bin file emulator reads .binf file with the same file name. ; All directives are optional, if you don't need them, delete them. ; set loading address, .bin file will be loaded to this address: #LOAD_SEGMENT=0500h# #LOAD_OFFSET=0000h# ; set entry point: #CS=0500h# ; same as loading segment #IP=0000h# ; same as loading offset ; set segment registers #DS=0500h# ; same as loading segment #ES=0500h# ; same as loading segment ; set stack #SS=0500h# ; same as loading segment #SP=FFFEh# ; set to top of loading segment ; set general registers (optional) #AX=0000h# #BX=0000h# #CX=0000h# #DX=0000h# #SI=0000h# #DI=0000h# #BP=0000h# ; add your code here ; ============================================ ; 8255驱动8位数码管动态显示 "12345678" ; CS:0000, IP:2000 ; 硬件连接: ; PORTA (200h) -> 段码 (a,b,c,d,e,f,g,dp) ; PORTB (201h) -> 位码 (8位数码管位选) ; 控制口 (203h) -> 8255控制寄存器 ; ============================================ ; 端口地址定义 (根据您的设置) PORTA EQU 200h ; 段码输出 PORTB EQU 201h ; 位码输出 CTRL EQU 203h ; 控制端口 ; 程序起始地址 ORG 2000H ; 代码段偏移 START: ; 初始化8255:A口输出,B口输出,方式0 MOV AL, 10000000b ; 控制字:A口方式0输出,B口方式0输出 MOV DX, CTRL OUT DX, AL ; 初始化显示 CALL INIT_DISPLAY MAIN_LOOP: ; 动态显示"12345678" CALL DISPLAY_12345678 JMP MAIN_LOOP ; 无限循环显示 ; ============================================ ; 显示数字"12345678"的子程序 ; ============================================ DISPLAY_12345678 PROC PUSH AX PUSH BX PUSH CX PUSH SI ; 指向段码表起始位置 LEA SI, SEG_TABLE + 2 ; 从数字'1'开始 ; 初始化位选码:最低位有效 (00000001b) MOV BL, 00000001b MOV CX, 8 ; 显示8位数 NEXT_DIGIT: ; 1. 关闭所有数码管(消隐) CALL CLEAR_DISPLAY ; 2. 输出段码 MOV AL, [SI] ; 获取当前数字的段码 MOV DX, PORTA OUT DX, AL ; 3. 输出位码 MOV AL, BL NOT AL;取反 MOV DX, PORTB OUT DX, AL ; 4. 延时保持显示 CALL DELAY ; 5. 准备下一个数字 INC SI ; 指向下一个段码 ROL BL, 1 ; 位选码左移一位 LOOP NEXT_DIGIT POP SI POP CX POP BX POP AX RET DISPLAY_12345678 ENDP ; ============================================ ; 清除显示(消隐) ; ============================================ CLEAR_DISPLAY PROC PUSH AX PUSH DX MOV AL, 0FFh ; 段码全灭(共阳)或00h(共阴) MOV DX, PORTA OUT DX, AL MOV AL, 0 ; 关闭所有位选 MOV DX, PORTB OUT DX, AL POP DX POP AX RET CLEAR_DISPLAY ENDP ; ============================================ ; 初始化显示 ; ============================================ INIT_DISPLAY PROC CALL CLEAR_DISPLAY RET INIT_DISPLAY ENDP ; ============================================ ; 延时子程序 ; ============================================ DELAY PROC PUSH CX PUSH DX MOV CX, 02h ; 外循环次数(可调整) DELAY_OUTER: MOV DX, 0FFFFh ; 内循环次数 DELAY_INNER: DEC DX JNZ DELAY_INNER LOOP DELAY_OUTER POP DX POP CX RET DELAY ENDP ; ============================================ ; 七段数码管段码表(共阳极) ; 格式:dp g f e d c b a ; 0=亮,1=灭(共阳) ; ============================================ SEG_TABLE: ; 数字 0-9 的段码(共阳) DB 11000000b ; 0: C0H DB 11111001b ; 1: F9H DB 10100100b ; 2: A4H DB 10110000b ; 3: B0H DB 10011001b ; 4: 99H DB 10010010b ; 5: 92H DB 10000010b ; 6: 82H DB 11111000b ; 7: F8H DB 10000000b ; 8: 80H DB 10010000b ; 9: 90H ; 其他字符(如果需要) DB 11111111b ; 全灭 DB 55H,55H,55H,55H,55H,55H ; ============================================ ; 程序结束 ; ============================================ END START HLT ; halt!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 22:51:37

如何在3分钟内构建企业级人脸检测系统?

如何在3分钟内构建企业级人脸检测系统? 【免费下载链接】insightface State-of-the-art 2D and 3D Face Analysis Project 项目地址: https://gitcode.com/GitHub_Trending/in/insightface 你是否曾被人脸检测系统的复杂部署流程困扰?面对市场上琳…

作者头像 李华
网站建设 2026/6/15 15:57:59

全部超越π0、π0.5!端到端全身VLA模型Lumo-1

点击下方卡片,关注“具身智能之心”公众号编辑丨具身智能之心本文只做学术分享,如有侵权,联系删文>>点击进入→具身智能之心技术交流群更多干货,欢迎加入国内首个具身智能全栈学习社区:具身智能之心知识星球(戳我…

作者头像 李华
网站建设 2026/6/15 6:19:10

2147. 分隔长廊的方案数

2147. 分隔长廊的方案数 题目链接&#xff1a;2147. 分隔长廊的方案数 代码如下&#xff1a; class Solution { public:int numberOfWays(string corridor) {constexpr int MOD 1000000007;long long res 1;int cnt_s 0,last_s 0;for (int i 0;i < corridor.size();i…

作者头像 李华
网站建设 2026/6/15 10:19:10

移动智能体技术革新:从图形界面到认知交互的跨越

移动智能体技术革新&#xff1a;从图形界面到认知交互的跨越 【免费下载链接】androidgen-glm-4-9b 项目地址: https://ai.gitcode.com/zai-org/androidgen-glm-4-9b 在人工智能技术快速发展的当下&#xff0c;智能体技术正迎来从桌面端向移动端的重大转型。这种技术演…

作者头像 李华
网站建设 2026/6/14 23:25:46

南洋理工哈佛提出OpenREAD:端到端RL统一认知与轨迹规划

作者 | 深蓝学院 来源 | 深蓝AI原文链接&#xff1a;南洋理工、哈佛提出OpenREAD&#xff1a;用端到端RL统一驾驶认知与轨迹规划 点击下方卡片&#xff0c;关注“自动驾驶之心”公众号戳我-> 领取自动驾驶近30个方向学习路线>>自动驾驶前沿信息获取→自动驾驶之心知识…

作者头像 李华
网站建设 2026/6/15 11:26:49

扒了一下今年各家具身公司的量产情况和订单金额......

点击下方卡片&#xff0c;关注“具身智能之心”公众号25年具身机器人量产的情况究竟是怎么样的&#xff1f;今年的答卷如何&#xff1f;具身智能之心也为大家做了一次调研。近期Atlas项目负责人在社交媒体上爆料&#xff1a;现代汽车承诺部署数万台Atlas机器人。计划在未来几年…

作者头像 李华