微机原理实验四 LED数码管显示实验Word文件下载.docx
- 文档编号:18341723
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:3
- 大小:16.93KB
微机原理实验四 LED数码管显示实验Word文件下载.docx
《微机原理实验四 LED数码管显示实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理实验四 LED数码管显示实验Word文件下载.docx(3页珍藏版)》请在冰豆网上搜索。
,作为位选信号来一直选择末位数码管输出信号。
再利用R0作为相对寻址来储存数据并赋值给A。
通过MOVCA,@A+DPTR指令,利用顺序查表法取出显示段码数据。
寄存器R0自增1,并赋给A以取出下一个显示段码数据。
2提高要求:
微机实验余成驹光电1202班U201214134 依然对信号频率八分频,对定时器进行48分频,通过P0,6,进行位控选择数码管输出,定时器定时,当溢出时进入中断,并通过中断程序将段位控制按序加一,R3,R6,R7分别储存第一第二第三位数码管段位码,利用A为中间变量,通过P1输出储存的值,查表输出数码管值,达到119时结束。
三、资源分配 1基本要求:
:
位选信号端口:
位选信号端口P1:
输出段码数据R0:
存放显示数据 DPTR:
指向段码数据表首 2提高要求:
输出段码数据DPTR:
指向段码数据表首 R3,R6,R7:
分别储存第三第二第一位数码管数据 四、流程图 1基本要求 2提高要求:
主程序 微机实验余成驹光电1202班U201214134 延时程序微机实验余成驹光电1202班U201214134 接--2提高要求:
动态扫描程序 中断程序 微机实验余成驹光电1202班U201214134 五、源代码 1基本要求:
ORG0000HLJMPMAIN ORG0100HMAIN:
LCALLInit_DeviceMOVSP,#40H MOVDPTR,#TAB ;
将DPTR地址指向表头 MOVTMOD,#01H ;
定时器采用T0定时方式一MOVTH0,#06H ;
定时器赋予初值MOVTL0,#0C6H CLR ;
选择末位数码管CLR START:
MOVR0,#00H ;
赋初值0CLRA MOVCA,@A+DPTR;
查表输出MOVP1,A SETBTR0 ;
定时器开始工作HERE:
JNBTF0,HERE;
等待溢出CLRTR0CLRTF0 MOVTH0,#06H;
重新赋予初值MOVTL0,#0C6H CJNER0,#0FH,NEXT;
等待末位数码管到FSJMPSTARTNEXT:
INCR0 ;
R0加一MOVA,R0 MOVCA,@A+DPTR MOVP1,A ;
P1输出SETBTR0 SJMPHERE ;
踏步
微机实验余成驹光电1202班U201214134 org1000h TAB:
DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0HDB0FEH,0E6H,0EEH,3EH,1AH,7AH,9EH,8EH ;
------------------------------------;
-GeneratedInitializationFile--;
------------------------------------$include() publicInit_Device INITSEGMENTCODE rsegINIT ;
Peripheralspecificinitializationfunctions,;
CalledfromtheInit_DevicelabelPCA_Init:
anlPCA0MD, #0BFh movPCA0MD, #000h ret Timer_Init:
movCKCON, #002h ret Port_IO_Init:
;
-Unassigned,Open-Drain,Digital ;
-Unassigned,Open-Drain,Digital ;
-Unassigned,Push-Pull,Digital ;
-Unassigned,Open-Drain,Digital 微机实验余成驹光电1202班U201214134 ;
-Unassigned,Open-Drain,Digital movP1MDOUT,#0FFh movP2MDOUT,#0C0h movXBR1, #040h ret ;
Initializationfunctionfordevice,;
CallInit_DevicefromyourmainprogramInit_Device:
lcallPCA_Init lcallTimer_Init lcallPort_IO_Init ret END 2提高部分:
ORG0000H LJMPSTART ORG000BH LJMPTI00 ORG0300HSTART:
LCALLInit_Device MOVR3,#00H ;
百位数码管赋予初值MOVR6,#00HMOVR7,#01HMOV61H,#40HMOV62H,#80H SETBET0 SETBEA ;
十位数码管赋予初值;
个位数码管赋予初值 ;
开外中断T0 MOV60H,#00H ;
设置位控码 MOVTMOD,#01H;
选择定时器T0方式一 微机实验余成驹光电1202班U201214134 MOVTH0,#131 MOVTL0,#99MAIN:
LJMPDISP ;
跳入动态输出子程序MAIN1:
LCALLCOUNTERAJMPMAIN ;
重新扫描 ;
=================动态输出子程序==================DISP:
MOVSP,#30H ;
设置堆栈指针MOVR1,#60H ;
位选指针赋初值 MOVP1,#00H ;
灯全灭;
=================LD0:
MOVA,@R1 ;
取出位选码 ANLP0,#3FH ;
将P0端口高两位置零 ORLP0,A ;
输出位选信号MOVA,R7 ;
取出段选码MOVDPTR,#TAB ;
DPTR指向段选码表第一个数据 MOVCA,@A+DPTR;
查表,取出段选码MOVP1,A ;
输出段选码LCALLDL1MS ;
延时1ms,灯亮1msMOVP1,#00H ;
灯全灭 INCR1 ;
位选指针加一MOVA,@R1 ;
输出位选信号MOVA,R6 ;
延时1ms,灯亮1ms ;
定时器赋予初值 微机实验余成驹光电1202班U201214134 MOVP1,#00H ;
灯全灭 INCR1 MOVA,@R1 ;
输出位选信号MOVA,R3 ;
灯全灭LJMPMAIN1 ;
返回主程序 ;
===============延时1ms子程序============= ORG0050HDL1MS:
MOVR4,#4D1:
NOP MOVR5,#253DJNZR5,$DJNZR4,D1RET ;
延时程序通过R4,R5实现 ORG0100HCOUNTER:
SETBTR0 RET ;
中断程序TI00:
MOVTH0,#133;
中断程序重新赋予初值 MOVTL0,#99 INCR7 ;
个位加一;
重新将个位归零 CJNER7,#0BH,S1;
判断个位是否进位 MOVR7,#01H CJNER6,#00H,S2;
判断此时十位是否显示 ;
定时器开启 微机实验余成驹光电1202班U201214134 MOVR6,#01H;
若不显示则开启显示S2:
INCR6 ;
十位加一 CJNER6,#0BH,S1;
判断十位是否进位 CJNER3,#00H,S3;
判断百位是否显示 MOVR3,#01HS3:
INCR3 ;
百位加一;
十位重新归零 ;
如果到200则数码管全熄灭;
踏步停止 MOVR6,#01H MOVP1,#00H SJMP$S1:
RETI ORG0200H ;
===============段选码表==============;
TAB:
DB00H,0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H;
$include() publicInit_Device INITSEGMENTCODE rsegINIT ;
movCKCON, #002h ret ;
中断返回 CJNER3,#03H,S1;
判断百位是否到2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理实验四 LED数码管显示实验 微机 原理 实验 LED 数码管 显示