您好,欢迎访问三七文档
1实验一8255A并口输入实验——读开关数并检索一、实验目的:1.掌握8255A芯片并口作输入的使用方法;2.掌握数据检索方法;3.了解数据显示方法;二、实验要求:编写程序,以8255A的A口或B口作为输入口,读取开关数,然后在给定的多个数据(十六进制数,且个数10)中检索,看其是否在其中,如果在则显示“findout!It’sindexis”,否则显示“nofind”。2三、实验原理:74LS245B0B1B2B3B4B5B6B7A0A1A2A3A4A5A6A7EDIRVccVccPI7XB24XB23XB25D7D0XB26XB27XB28XB29XB30PI6PI5PI4PI3PI2PI1PI0D6D5D4D3D2D1PA0PA1PA2PA3PA4PA5PA6PA78255API0PI1PI2PI3PI4PI5PI6PI73四、实验步骤:1.连接硬件线路PA0-PA7(或PB0-PB7)接PI0-PI72.编写程序,完成实验要求。五、编程提示:1.将读取的开关数转换成十六进制数;2.通过逐一与给定数据进行比较实现数据检索;3.调用9号功能调用可显示一串字符信息;4.调用2号功能调用可显示一个字符。六、思考题指出另一种数据检索的方法。4实验一8255A并口输入实验——读开关数并转换成十进制数一、实验目的:1.掌握8255A芯片并口作输入的使用方法;2.掌握不同进制数据转换方法;3.了解数据显示方法;二、实验要求:编写程序,以8255A的A口或B口作为输入口,读取开关数,然后将其转换成十进制数输出到显示器上。5三、实验原理:74LS245B0B1B2B3B4B5B6B7A0A1A2A3A4A5A6A7EDIRVccVccPI7XB24XB23XB25D7D0XB26XB27XB28XB29XB30PI6PI5PI4PI3PI2PI1PI0D6D5D4D3D2D1PA0PA1PA2PA3PA4PA5PA6PA78255API0PI1PI2PI3PI4PI5PI6PI76四、实验步骤:1.连接硬件线路PA0-PA7(或PB0-PB7)接PI0-PI72.编写程序,完成实验要求。五、编程提示:1.将读取的开关数除以100,得到的商即是十进制数据的最高位,得到的余数再除以10,得到的商即是十进制数据的次高位,以此类推;2.将转换的每位十进制数转换成ASCII码,调用2号功能调用显示。六、思考题如果读取的开关数是16位二进数据,说明转换方法。7实验二8255A并口输出实验——模拟交通灯一、实验目的:1.掌握8255A芯片并口作输出的使用方法;2.掌握模拟交通灯控制的方法;3.了解双色灯的使用。二、实验要求:编写程序,以8255A的C口作为输出口,控制4个双色LED灯,模拟十字路口交通灯管理。8三、实验原理:四、实验步骤:1.连接硬件线路①PC4-PC7接DG1-DG4②PC0-PC3接DR1-DR41A11A21A31A4DG1DG2DG3DG42A12A22A32A4DR2DR3DR4DR11G2G74LS2441A11A21A31A42A12A22A32A4DG1DG2DG3DG4DR4DR3DR2DR1北西东南8255APC7PC6PC5PC4PC3PC2PC1PC092.编写程序,完成实验要求。五、编程提示:1.双色灯公用负端,红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。2.8255A的A、B、C口的地址分别为40H、44H、48H、4CH3.8255A的C口工作在输出方式4.延时通过延时程序实现5.参考程序流程图(如下页所示)六、思考题如何实现黄灯闪3次?10开始初始化8255A4个LED全红东西红灯亮,南北绿灯亮延时南北绿灯闪3次南北黄灯亮延时东西绿灯亮,南北红灯亮延时东西绿灯闪3次东西黄灯亮延时①①有键按下返回DOSYN参考程序流程图11实验二8255A并口输出实验——循环亮灯一、实验目的:1.掌握8255A芯片并口作输出的使用方法;2.掌握循环亮灯控制的方法;3.了解闪烁灯的控制方法。二、实验要求:编写程序,以8255A的A口或B口作为输出口,控制8个LED循环左移点亮、循环右移点亮(每次移动只点亮一个LED)、闪烁(8个LED同时闪烁)12三、实验原理:A0A1A2A3L0L1L2L3L4L5L6L7A4A5A6A7E2G74LS245B0B1B2B3B4B5B6B7HL7HL6HL5HL4HL0HL1HL2HL3XC21Vcc8255PA7PA6PA5PA4PA3PA2PA1PA0L7L6L5L4L3L2L1L013四、实验步骤:1.连接硬件线路PA0-PA7(或PB0-PB7)接L0-L72.编写程序,实现实验要求。五、参考程序流程图(如下页所示)六、思考题如何改变两个小灯之间点亮的时间间隔?14开始初始化8255A从键盘接受一个按键循环右移点亮若干次闪烁若干次循环左移点亮若干次是1键吗返回DOSYN是2键吗N是3键吗NYY参考程序流程图15实验三8253计数器定时器实验一、实验目的:1.了解8253的各种使用方法;2.了解8253计数器定时器的硬件连接方法及时序关系;3.掌握8253各种模式的编程和原理。二、实验要求:对8253进行编程,使OUT0端输出一定的频率,并将其输出到实验箱的喇叭上,演奏出1~8的音节,按Esc退出。16三、实验原理:17四、实验步骤:1.连接硬件线路8253的clk0插孔和9.6k频率源插孔相连;8253的GATE0插孔和液晶的Vcc插孔相连;8253的OUT0插孔和电子音调模块的SPEAK插孔相连。2.编写程序,实现实验要求。五、编程提示:1.音节与频率对照表:按键12345678音节1234567i频率26129433034939244049353318六、思考题如何实现每个音节持续发声1秒?2.频率值放在数据段中的一个表中,可根据输入数字查表求得;3.Esc的ASCII码为1BH;4.8253应工作于方式3;5.计数初值=CLK0/OUT06.参考流程图如下页19参考流程图8253初始化等待键入字符输入字符ASCII码转换为数字查表求出对应频率计算时间常数并装入计数器0延时关闭喇叭开始Y返回DOS是ESC键?N延时20实验四非编码键盘实验一、实验目的:1.掌握8255A的使用方法;2.掌握非编码键盘识别按键的方法。二、实验要求:编写程序,用行列扫描法读入实验箱上的按键,并在PC机上显示读到的键值。21三、实验原理:0819SB3PB0SB4PB1SB5SB62APB2SB7SB83BPB3SB9SB104CPB4SB11SB125DPB5SB13SB146EPB6SB15SB167FPB7SB17SB188255APB0PB1PB2PB3PB4PB5PB6PB7PC0PC122四、实验步骤:1.连接硬件线路①将8255A的PC0~PC1插孔和键盘显示的KEYIN0~KEYIN1插孔相连;②将8255A的PB0~PB7插孔和键盘显示的LINE0~LINE7插孔相连;2.编写程序,实现实验要求。五、参考程序流程图(如下页所示)六、思考题1.为什么要等待键释放?2.用行反转法应如何实现?23开始8255A初始化并显示提示信息调用键盘扫描子程序KEY键入字符是‘R’?Y返回DOSN读入PB口内容(列线)调用延时子程序延时去抖)Y设置键初值和行扫描码初值开始输出行扫描码读入PB口内容PC口(行线)输出全0(PB)=FFHN键值+8,行扫描码移位读入PB口内容(PB)=FFHYPB内容右移一位CF=0?NN等待键释放返回全扫描完?键值转换成字符并显示YYN(PB)=FFHN保存字符PC口(行线)输出全0Y24实验五8251A串行口实验一、实验目的:1.掌握8251A芯片结构、一般原理和编程;2.了解实现串行通讯的硬件环境、数据格式的协议、数据交换的协议;3.了解PC机通讯的编程方法;二、实验要求:由8251A构成1个自发自收的回路,用户按PC机上的按键,8251A将其以9600波特率发送出去,同时自己收回,再将其显示在PC机屏幕上;按‘Q’键退出。25三、实验原理:26四、实验步骤:1.连接硬件线路①将8251A的TXD插孔和8251A的RXD插孔相连;②移去XC28上的4个短路套;2.编写程序,实现实验要求。五、参考程序流程图(如下页所示)8251A的数据口、控制/状态口相对地址分别是18H和1CH。六、思考题1.若发送和接收采用中断方式应如何实现?27开始8251初始化显示发送提示信息等待按键读状态口TXRDY=1发送按键字符是Q键?YN显示错误信息接收数据出错RXRDY=1读状态口接收字符并显示返回DOSYNNYYN
本文标题:微机接口技术实验
链接地址:https://www.777doc.com/doc-3613965 .html