全球旧事资料 分类

中断模块8259
脉冲
定时模块8254
图一系统框图2、主程序模块主控模块是系的核心模块,对8254、8255A进行初始化,设置中断向量,扫
f描键盘根据按键值作相应的处理。主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,如果键值为C则将显示初始值00:00:00置入显示缓冲,并调用显示模块显示。如果键值为G则开中断,(中断程序为秒最低位加一)。如果键值为D则关中断,停止动态显示。如健值为P则连续六次调用小键盘模块,将键值依次存入显示缓冲。并调用显示模块显示。如果健值为E,则终止程序,返回DOS。3、小键盘模块小键盘模块送入主控模块的子功能模块。由软件和硬件实现,硬件上由小键盘和8255互连,将小键值由8255送入主控模块。软件上使用行扫描法获得键值并送回主控模块。本课题只考虑去抖动。执行一个约10ms的延时程序后再扫描键盘,若F01表示真正有键按下,从而消除了抖动影响。实现代码如下:
KEYKSTROCNEARPUSHCXMOVAL82HMOVDXP55CTLOUTDXALMOVAL00HMOVDXPA55OUTDXALMOVDXPB55INALDXORAL0F8HCMPAL0FFHJZDELAYMOVCX0300HLOOPDLYMOVCL08HMOVAH0FEHMOVDXPA55MOVALAHOUTDXALMOVDXPB55INALDXORAL0F8HCMPAL0FFHJNZKEYNROLAH1DECCLJNZSCAN1JMPKSTKEYNPUSHAXMOVDXPB55RELEAINALDXORAL0F8HCMPAL0FFHJNZRELEAPOPAXNOTAXMOVSIOFFSETTABLEMOVDIOFFSETCHARMOVCX24TTCMPAXSIJZNNDECCXJZKSTADDSI02INCDIJMPTTNNMOVDLDIMOVCHAR1DLMOVAH02HINT21HPOPCX
DLY
SCAN1
fJMPYANGDELAYCALLDISPLYJMPKST
YANGKEY
RETENDP
4、显示模块显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。硬件上由六个LED构成,软件上由扫描显示的方法实现。实现代码如下:
DISPLAYPROCNEARMOVCX77FFHLED52CALLDISUPLOOPLED52DISUPPUSHCXMOVDIOFFSETMIN1MOVCL01DISUP1MOVAL0MOVDXPORTBITOUTDXALMOVALDIMOVBXOFFSETLEDXLATMOVDXPORTSEGOUTDXALMOVALCLMOVDXPORTBITOUTDXALMOVBX35HDELAY1DECBXJNZDELAY1CMPCL20HJZDISUP2INCDISHLCL1JMPDISUP1DISUP2POPCXRETDISPLAYENDP
5、定时模块定时模块是为8259提供中断请求信号的。由一片8254实现,选用定时器0,工作在方式3,由4时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。6、中断处理模块中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,r
好听全球资料 返回顶部