您好,欢迎访问三七文档
培训复习1.3.1单片机最小系统的硬件开发1.6µVision集成开发环境简介1.6.1µVision的界面工程窗口编辑窗口运行信息显示窗口存储器信息窗口变量观察窗口片内外设窗口虚拟串口按下此钮加载.hex文件按下选择芯片P89v51RB2如图图O_2所示钩上钩上2.FlashMagicP89V51RB2芯片ISP下载•(1)运行[FlashMagic]•(2)擦除芯片。[ISP]在下拉菜单中选择[EraseFlachPages…](页擦除)项图_4页擦除选择对话框•(3)烧录程序•下载完毕后,再按一次P89V51CPU实验模块上的复位轻触,单片机进入程序运行状态。图O_4提示2.280C51的基本结构与应用模式2.2.180C51的基本结构时钟电路总线控制CPUROM/EPROM/FLASH4K字节RAM128字节SFR21个定时/计数器2个中断系统5中断源、2优先级串行口全双工1个并行口4个RSTEAALEPSENXTAL2XTAL1P0P1P2P3VCCVSS2.5.380C51单片机的特殊功能寄存器(SFR)工作寄存器区位寻址区通用RAM区00H1FH30H7FH80HFFHSFR区直接寻址访问间接寻址访问增强型附加空间基本型单片机有21个SFR离散地分布在80H~FFH空间。与运算器相关3个ACCBPSW与定时/计数器相关6个TH0,TL0TH1,TL1TMODTCON指针类3个SPDPH,DPL与口相关7个P0,P1,P2,P3SBUFSCONPCON与中断相关2个IEIP8.3键盘与显示器的扩展•9.3.1基本LED显示原理•1.LED显示器的结构与原理d1234abcdpfecdpdegfbaGNDGNDabcdefgdpabcdefgdp+5v8R8Rg共阴极共阳极abcdefgdpcomabfgcomcdpdedpgfedcba00000110共阴极字形“1”编码示例:06H7D驱动简单的输入设备简单开关及输入接口按键开关按键开关符号12345678ON拨动开关拨动开关符号P1.780C51P1.6P1.5P1.4P1.3P1.2P1.1P1.0•指令说明解(2):fosc=12MHz,一个机器周期为1μs。DY10ms:MOVR6,#20;置外循环次数DLP1:MOVR7,#250;置内循环次数DLP2:DJNER7,DLP2;2机周×250×1μs/机周=500;μs=0.5msDJNZR6,DLP1;0.5ms×20=10msRET子程序•LCALL、ACALL•RET2.2.4流水灯控制项目•1.项目要求–单片机P0口接8个指示灯,通过程序控制实现8个指示灯从上向下依此点亮,间隔时间0.5s。•ORG0000HAJMPMAINORG0100HMAIN:MOVA,#0FEHMAIN2:MOVP0,AACALLDELAYRLAAJMPMAIN2DELAY:MOVR7,#100;延时DELAY01:MOVR6,#100DELAY02:MOVR5,#50DELAY03:DJNZR5,DELAY03DJNZR6,DELAY02DJNZR7,DELAY01RETEND2.参考程序•3.思考题•(1)实现8个指示灯从下向上依此点亮的程序设计,并完成程序调试。•(2)改变延时时间改为1s。2.2.5其它灯光控制项目ORG0000HAJMPMAINORG0100HMAIN:MOVA,#11111111BMOVP0,AACALLDELAYMOVA,#00000000BMOVP0,AACALLDELAYMOVA,#11111111BMOVP0,AACALLDELAYMOVA,#00000000BMOVP0,AACALLDELAY;花样从中间开始亮起MOVA,#11100111BMOVP0,AACALLDELAYMOVA,#11011011BMOVP0,AACALLDELAYMOVA,#10111101BMOVP0,AACALLDELAYMOVA,#01111110BMOVP0,AACALLDELAYAJMPMAINDELAY:MOVR7,#100DELAY01:MOVR6,#100DELAY02:MOVR5,#50DELAY03:DJNZR5,DELAY03DJNZR6,DELAY02DJNZR7,DELAY01RETEND思考题:(1)编程实现隔灯闪烁,并调试。(2)用花样灯实现流水灯控制效果。(3)能否用查表的方法实现花样灯。数码显示项目•1.静态显示用单数码管显示模块循环显示0~9十个数字,每1s显示一次。•2.动态显示在两个数码管上做一个00~99的计数器,要求自动加1进位,每1s显示一次。单数码管显示模块ORG0000HAJMPMAINORG0100HMAIN:MOVP2,#0FDHMOVR2,#00HMOVDPTR,#TABDSU:MOVA,R2MOVCA,@A+DPTRMOVP0,ALCALLDEL1SINCR2CJNER2,#0AH,DSUAJMPMAINDEL1S:MOVR3,#0AHLOOP:MOVR4,#0C8HLOOP1:MOVR5,#0FAHXHD:DJNZR5,XHDDJNZR4,LOOP1DJNZR3,LOOPRETTAB:DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H;0;1;2;3;4;5;6;7DB080H,090H,088H,083H,0C6H,0A1H,086H,08EH;8;9;A;B;C;D;E;FENDORG0000HAJMPMAINORG0100HMAIN:MOVDPTR,#TABMOVR1,#00H;十位值MOVR0,#00H;个位值MOVR7,#00HLOOP:MOVA,R0MOVCA,@A+DPTRMOVP0,ACLRP2.0SETBP2.1LCALLDEL04MOVA,R1MOVCA,@A+DPTRMOVP0,ASETBP2.0CLRP2.1;十位显示LCALLDEL04INCR7CJNER7,#125,LOOPMOVR7,#00HINCR0CJNER0,#0AH,LOOPINCR1MOVR0,#00HCJNER1,#0AH,LOOPAJMPMAIN两个数码管显示DEL04:MOVR3,#20;4msLOOP1:MOVR4,#100DJNZR4,$DJNZR3,LOOP1RETTAB:DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H;0;1;2;3;4;5;6;7DB080H,090H,088H,083H,0C6H,0A1H,086H,08EH;8;9;A;B;C;D;E;FEND说明:R0:个位显示值;R1:十位显示值;R7:扫描次数DEL04子程序4ms延时程序;4.独立式键盘与LED显示示例例:如图,编写程序,分别实现功能:上电后数码管显示“P”,按下任何键后,显示从“0”开始每隔1秒加1,加至“F”后,数码管显示“P”,进入等待按键状态。89S51P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7abcdefgdpcom+5V100ΩP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7K0K1K2K3K4K5K6K7共阳极TEMPEQU30HORG0000HJMPSTARTORG0100HSTART:MOVSP,#5FHMOVP0,#8CH;显示PMOVP3,#0FFHNOKEY:MOVA,P3CPLAJZNOKEY;无键按下MOVTEMP,P3;有键按下CALLD10msMOVA,P3CJNEA,TEMP,NOKEY;去抖MOVR7,#16MOVR2,#0LOOP:MOVA,R2MOVDPTR,#CODE_P0MOVCA,@A+DPTRMOVP0,AINCR2SETBRS0;切换组CALLD_1SCLRRS0DJNZR7,LOOPJMPSTARTD_1S:(子程序)D10ms:(子程序)CODE_P0:DB0C0H,0F9H,0A4H,0B0HDB99H,92H,82H,0F8HDB80H,90H,88H,83H,DB0C6H,0A1H,86H,8EH
本文标题:单片机竞赛培训
链接地址:https://www.777doc.com/doc-969175 .html