交通信号灯控制系统(汇编语言课程设计).docx
《交通信号灯控制系统(汇编语言课程设计).docx》由会员分享,可在线阅读,更多相关《交通信号灯控制系统(汇编语言课程设计).docx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、交通信号灯控制系统(汇编语言课程设计) 汇编语言课程设计 交通信号灯控制系统 初始界面: 实现功能齐全。思路清晰 一、设计要求 利用PC机键盘和屏幕实现交通灯信号灯,控制系统。 二、设计内容与要求 基本要求: 1、完成一个十字路口的红绿灯正常状态的控制:实现日常生活中正常的交通路口的控制功能,实现南北、东西方向的切换。 2、显示时间,精确到秒;灯亮时间长短可变。 3、具有自动和手动控制功能。 提高要求: 1、完成夜间状态的控制:由于夜间车辆和行人很少,实现南北、东西方向的黄灯闪烁,进入夜间控制状态。 2、完成紧急状态的控制:南北双方向都设置为红灯,利于执行紧急公务。 3、完成交通堵塞状态的控制
2、:由于交通事故等原因出现南北或东西某一方向堵塞,可人为地调整每个方向的红灯时间,进入手动控制状态。 附加要求: 必要的辅助功能(设置、修改等)。 三、编程提示 要求用汇编语言进行编程,下面是编写过程中主要涉及的知识点(其中举例只是实现方法之一,同学可根据自己对知识的掌握情况进行设计并调试): 1、视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H即可建立某种显示方式。 用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数
3、,送至指定的寄存器,然后由中断指令INT 21H来实现调用,例:要输出多于一个字符时,利用DOS功能调用9。 2、键盘扫描程序设计:检测键盘状态,有无输入,并检测输入各值。例:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器。 3、定时器中断处理程序:在此中断处理程序中,计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。例:在系统定时中断处理程序中,有一条中断指令INT 1CH指令,在ROM BIOS中,1CH的处理仅一条IRET指令,实际上它并没有做任何工作而
4、只是为用户提供了一个软中断类型号,所以INT 1CH指令每秒也将执行18.2次,设计中可用这个定时周期性工作的处理程序来代替原有的1CH程序,实现定时。 4、显示时间子程序:将计时单元的二进制转换为十进制数加以显示。 参考资料: 1微型计算机接口技术及应用 2汇编语言程序设计 3微型计算机汇编语言程序设计 一、教科书中关于IBM-PC/XT机系统硬件的内容,包括8250(串行口控制器),8253,8255,8259等。 二、DOS系统功能调用。INT 21H 1、显示 显示单个字符 入参:AH=02H DL=字符ASCII值 出参:无 显示字符串 入参:AH=09H DS:DX 此寄存器对指向
5、内存中字符串的首地址,字符串以 $结束 出参:无 2、键盘 检查键盘状态 入参:AH=0BH 出参:AL=00H无输入0FFH有一字符 读键盘字符 入参:AH=08H 出参:AL=字符ASCII值 3、其它 退出程序,返回系统 入参:AH=4CH 出参:无 取中断矢量 入参:AH=35H AL=中断类型号 出参:ES:BX 中断矢量,ES为段地址,BX为偏移地址 置中断矢量 入参:AH=25H AL=中断类型号 DS:DX 中断矢量,DS为段地址,DX为偏移地址出参:AL=字符ASCII值 三、BIOS屏幕功能调用。INT 10H 1、清屏操作 MOV AX,0600H MOV CX,0000
6、H MOV DX,184FH MOV BH,07H INT 10H 2、移动光标 MOV AH,02H MOV DH,* ;*为目的地行数(0-24) MOV DL,* ;*为目的地列数(0-79) MOV BH,00H INT 10H 3、禁止光标显示 MOV AH,01H MOV CX,2000H INT 10H 4、恢复光标显示 MOV AH,01H MOV CX,0C0DH INT 10H ;/*/ ; 微机原理课程设计 ; 交通信号灯控制系统设计 ; 电子0803班 ; ; ; 2022-4-17 18:55 ;/*/ STACK SEGMENT STACK DW 64 DUP(?)
7、 STACK ENDS ;/* */ ; 功能:显示宏定义 ;/*/ SHOWLINE MACRO STR,STA,LEN,POS,COL ;显示字符串宏 PUSH BX PUSH AX ;/10 MOV BP,OFFSET STR ;显示起始位置 ADD BP,STA ;第几个开始 MOV DX,POS ;位置 MOV CX,LEN ;长度 MOV BX,COL ;颜色 MOV AX,1301H ;字符串显示中断 INT 10H POP AX POP BX POP DX ;/20 ENDM ;/* */ ; 宏功能:读取时间子程序 ;/*/ TIMEBUF0 MACRO TIME,BUF ;
8、显示字符串宏 PUSH BX PUSH AX ;/10 MOV DI,OFFSET BUF MOV AL,TIME MOV BL,0AH MOV AH,00H DIV BL ADD AL,30H ADD AH,30H MOV DI,AL INC DI MOV DI,AH POP AX POP BX ENDM ;/*/ ;功能:延时一秒宏定义,8253每秒中断18.2次 ;/*/ DELAY MACRO ;延时一秒 LOCAL DLOOP ;利用INT 1AH/00H取得中断次数(DX), PUSH AX PUSH BX PUSH DX MOV AH,00H ;BIOS调用/30 INT 1AH
9、 ;55ms引起一次中断,作为定时信号。 ADD DL,18 ;定时1S,需要18个定时单位 MOV BL,DL INC BL DLOOP: MOV AH, 00H INT 1AH CMP DL,BL ;是否累计到1S JNZ DLOOP ;没到,继续读 POP DX POP AX ;/40 ENDM ;/*/ ;功能:;数据定义 ;/*/ DA TA SEGMENT TIME_Y DB 2 TIME DB 10 TIME0 DB 7 TIME_G DB 7 TIME_R DB 10 BUF0 DB 0FH BUF_X DB 00 ;定义交通路口 BUF_Y DB 00 BUF DB 00 T
10、ABLE01 DB Traffic Lights Control System TABLE02 DB TABLE03 DB - TABLE04 DB ,0B3H, | ,0B3H, | TABLE05 DB ,0B3H, ,0B3H, | SETTING TABLE06 DB ,0B3H, | ,0B3H, | TABLE07 DB ,0B3H, N ,0B3H, | 1. CHANGETIME : C TABLE08 DB ,0B3H, | ,0B3H, | 2. DOBY : D TABLE09 DB ,0B3H, ,0B3H, | 3. NIGHT : N TABLE10 DB 13 D
11、UP(0C4h) ,0D9h, ,0C0h, 11 DUP(0c4h) ,| 4. EMERGEN : E TABLE11 DB | 5. QUIT : Q TABLE12 DB ,0FH, | ;/60 TABLE13 DB | TABLE14 DB - - - -E- - ,0FH, ,0FH, - -W- - -|- TABLE15 DB | TABLE16 DB ,0FH, | NOW : NORMAL TABLE17 DB | TABLE18 DB 13 DUP(0C4H) ,0BFh, ,0DAH, 11 DUP(0C4H),| 1. Quit system Q TABLE19 D
12、B ,0B3H, ,0B3H, | TABLE20 DB ,0B3H, | ,0B3H, |- TABLE21 DB ,0B3H, S ,0B3H, | TABLE22 DB ,0B3H, | ,0B3H, | Write by QIULI ;/70 TABLE23 DB ,0B3H, ,0B3H, | Tle:1522xxxxxxx TABLE24 DB ,0B3H, | ,0B3H, | Mail: STR DB Please input times R: ;G: ;Y: ;Y/N STR1 DB CHANGETIME STR2 DB DOBY STR3 DB NIGHT STR4 DB
13、Quit system Q STR5 DB NORMAL STR6 DB 1. Quit system Q STR7 DB 2. Back to NORMAL B STR8 DB EMERGEN STR9 DBX-G,Y-R:X ;X-R,Y-G:Y STRCL DB STR10 DB : FLG DB 0 FLG0 DB 0 DA TA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DA TA,SS:STACK ;/*/ ;/80 ;功能:;主函数 ;/*/ MAIN PROC FAR MOV AX, DATA MOV DS, AX MOV ES, AX FUNC
14、T: MOV AH,01H ;清除光标 MOV CX,2000H INT 10H CALL INITIAL N1: CALL SHOWTIME CALL GETCHAR CMP AL,C ;调整时间 JNE LOOP1 CALL CHANGTIME JMP FUNCT LOOP1: CMP AL,D ;手动/自动控制状态 JNE LOOP2 ;100 CALL DOBY LOOP2: CMP AL,N ;夜间模式 JNE LOOP3 CALL NIGHT LOOP3: CMP AL,E ;紧急模式 JNE LOOP4 CALL EMERGEN LOOP4: CMP AL,Q ;退出 JNE N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通 信号灯 控制系统 汇编语言 课程设计
限制150内