《LED显示器记录外部脉冲个数——单片机资料文档.docx》由会员分享,可在线阅读,更多相关《LED显示器记录外部脉冲个数——单片机资料文档.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、设计题目:LED显示器记录外部脉冲个数二、实验目的11、进一步理解和体会单片机的运行原理。2、进一步掌握汇编语言并进一步运用其简单的程序编写。3、掌握单片机输出口和显示器的连接。三、总体设计1、所实现的功能描述。(1)记数,范围是。到999999的累计器。(2)显示当前累计外部中断数。(3)显示不闪烁,累计正确。2、设计方案的描述。选定8155工作方式A、B 口输出,C 口输入。开始显示000000。A 字位码,B 口 字型码,LED显示时选中所指位且一植,INTO发生则记录一个数据并显示,等待中断且 保持当前数据。四、件系统设计1、所需设备8155, 8031, LED数码显示器,外部中
2、断源,触发开关,DICE-598H+综合实验开发系 统,PC机一片等。2、接线方式只需外部中断源INTO (X15)接触发开关即可3、资源分配存储单元所起的作用20H个位数存放处21H十位数存放处22H百位数存放处23H千位数存放处24H万位数存放处25H十万位数存放处存储单元所起的作用20H个位数存放处21H十位数存放处22H百位数存放处23H千位数存放处24H万位数存放处25H十万位数存放处口地址所起的作用FF208155工作方式控制口FF218155A 口FF228155B 口FF238155C 口P3.2用于输入外部中断请求五、五、软件系统设计1、划分功能模块及模块所实现的功能:如“程
3、序清单”左方所示。2、程序流程图件系统设亡1、所需设备8155, 8031, LED数码显示器,外部中断源,触发开关,DICE-598H+综合实验开发系 统,PC机一片等。2、接线方式只需外部中断源INTO (X15)接触发开关即可3、资源分配存储单元所起的作用20H个位数存放处21H十位数存放处22H百位数存放处23H千位数存放处24H万位数存放处25H十万位数存放处存储单元所起的作用20H个位数存放处21H十位数存放处22H百位数存放处23H千位数存放处24H万位数存放处25H十万位数存放处口地址所起的作用FF208155工作方式控制口FF218155A 口FF228155B 口FF238
4、155C 口P3.2用于输入外部中断请求六、 软件系统设计1、划分功能模块及模块所实现的功能:如“程序清单”左方所示。2、程序流程图七、 程序清单a_bit equ 20h ;个位数存放处b_bit equ 21h ;十位数存放处c_bit equ 22h ;百位数存放处d_bit equ 23h汗,位数存放处e_bit equ 24h ;万位数存放处f_bit equ 25h ;十万位数存放处org OOOOhajmp starorg 0020hstar:mova,#03h;对8155初始化,A , B 输入,C 口输出。mov dptr,#Off2Oh ;8155 方式地址入 dptrmo
5、vx dptr,amov a,#00h ;各位都赋0值。mov a_bit,amov b_bit,amov c_bit,amov d_bit,amov e_bit,amov fLbit,astlop: acall display ;显示等待jb p3.2,stlop ;是否外部中断we: acall display ;等待外部中断显示acall dims ;延时一毫秒jnb p3.2,we ;是否外部中断count:;计数程序inc a_bit ;个位增一;mov a,a_bit ;显示个位cjne a,#10,stlop;欠窠 ?mov a_bit,#OOh;缓螺?inc b_bit;十位增
6、一mov a,b_bit ;显示十位cjne a,#10,stlop ;是否进位mov b_bit,#OOh ;进位后归 0 inc c_bit ;百位增一mov a,c_bit ;显示百位cjne a,#10,stlop ;是否进位mov c_bit,#OOh ;进位后归 0inc d_bit ;千位增一mov a,d_bit ;显示千位cjne a,#10,stlop ;是否进位mov d_bit,#OOh ;进位后归 0inc e_bit ;蛭辉鳏?mov a,e_bit ;显示万位 cjne a,#10,stlop ;是否进位 mov e_bit,#OOh ;进位后归 0 inc Lb
7、it;十万位增一 mov a,f_bit;显示十万位 cjne a,#10,stlop;皇欠窠? mov f_bit,#OOh ;归 0 ajmp stlop ;回到显示等待 display:;显示子程序 mov dptr,#numtab ;dptr指针指向字形码 mov a,a_bit ;送个位到寄存器A MOVC ;A指向A所指代字形 mov dptr,#0ff22h ;dptr 指针指向 LED movx dptr,a ;送 A 的值至ll LED mov a,#Olh ;打算选中个位LEDmov dptr,#0ff21 h ;dptr 指针指向 LED 位选码 movx dptr,a
8、;选 中个位 LED acall dims ;谎邮币幻? mov a,#00h;A寄存器回0 movx dptr,a mov dptr,#numtab ;重复 mov a,b_bitMOVC dptr,#0ff22h movx dptr,a mov a,#02h mov dptr,#Off21 h movx dptr,a acall dims mov a,#OOh movx dptr,a mov dptr,#numtab mov a,c_bitMOVC dptr,#0ff22h movx dptr,a mov a,#04h mov dptr,#Off21 h movx dptr,a acall
9、 dims mov a,#OOh movx dptr,a mov dptr,#numtabmov a,d_bitMOVC dptr,#0ff22hmovx dptr,amov a,#O8hmov dptr,#0ff21 hmovx dptr,aacall dimsmov a,#OOhmovx dptr,amov dptr,#numtabmov a,e_bitMOVC dptr,#0ff22hmovx dptr,amov a,#10hmov dptr,#0ff21 hmovx dptr,aacall dimsmov a,#OOhmovx dptr,amov dptr,#numtabmov a,f
10、_bitMOVC dptr,#0ff22hmovx dptr,amov a,#20hmov dptr,#0ff21 hmovx dptr,aacall dimsmov a,#OOhmovx dptr,aret ;返回DIMS:;一毫秒延时MOV R7,#2DJNZ R7,$RETnumtab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;字型码end九、调试程序的方法1、硬件调试(1)排除常见的硬件故障,无逻辑错误,元器件状态良好无失效现象,电源正常。(2)根据硬件电路图仔细检查样机线路是否正确。(3)进行联机。联机前先断电,把插头插到样机
11、上,检查一下电脑和样机之间的电源与接 地是否良好,一切正常后即可打开电源。2、软件调试(1)运行(2)查看数码显示器是否全为0。(3)确定其正常计时后,按触发器是否记数。(4)确定记数后,再次给定脉冲,看一下数码显示器是否继续记数。(5)继续看是否进位正常。(6)查看显示器是否不闪亮。(7)确定不闪亮后,计数器停止计时。(8)以上无误后,再拨动触发器反复检查。八、硬件电路图8031INTOINTO按钮开关外部中断线路十.心得体会通过这个设计自己动手找资料自己试验和通过与同学讨论终于得出正确程序记忆非常 深刻,比平时上课只听原理印象深刻的多。这个设计所人不是最难的但是也费了我老大的力 气非常不容易,改来改去好几天终于做成。对于所学知识印象加深了好多。74LS2408031PBOPB1PB2PB3PB5PBSPB7PB88155PA5PA4PA3PA2PAIPAO八路反向驱动器共阴75452六路反向驱动器0 3Pgs。如apGGGGGGN6N5N4N3N2N1