⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jtd.txt

📁 单片机经典学习实例!交通灯控制...可以通过此对单片机大部分语句有简单认识!
💻 TXT
字号:
既然你修改问题说要用来控制交通灯,那我就给你一段程序,是用来控制交通灯的,一般交通灯都是有数码管来倒计时,但是你说用PB低4位和PC口来控制交通灯,所以相比没有需要有数码管,如果你还需要用到七段数码管,就说明一下,我有空就重新给你另外一段程序 
程序如下 

;***********************************; 
;* 十字路口红绿灯 *; 
;* 端口各灯的设置: *; 
;* 1红 1黄 1绿 0 0 2红 2黄 2绿 *; 
;***********************************; 
data segment 
io8255a equ 28ah 
io8255b equ 28bh 
portc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能 
db 81h,82h,80h,82h,80h,82h,80h ;的状态数据 
db 0ffh ;结束标志 
data ends 
code segment 
assume cs:code,ds:data 
start: 
mov ax,data 
mov ds,ax 
mov dx,io8255b 
mov al,90h 
out dx,al ;设置8255为C口输出 
mov dx,io8255a 
re_on: mov bx,0 
on: mov al,portc1[bx] 
cmp al,0ffh 
jz re_on 
out dx,al ;点亮相应的灯 
inc bx 
mov cx,200 ;参数赋初值 
test al,21h ;是否有绿灯亮 
jz de1 ;没有,短延时 
mov cx,2000 ;有,长延时 
de1: mov di,9000 ;di赋初值9000 
de0: dec di ;减1计数 
jnz de0 ;di不为0 
loop de1 
push dx 
mov ah,06h 
mov dl,0ffh 
int 21h 
pop dx 
jz on ;没有,转到on 
exit: mov ah,4ch ;返回 
int 21h 
code ends 
end start 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -