SS8051高级单片机实验手册 机械学院_第1页
SS8051高级单片机实验手册 机械学院_第2页
SS8051高级单片机实验手册 机械学院_第3页
SS8051高级单片机实验手册 机械学院_第4页
SS8051高级单片机实验手册 机械学院_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ss-8051高级单片机实验手册北京海天创新电子有限公司http:/email:2005年10月目 录一 概要3二 ss-8051高级单片机实验仪可直接使用的电路单元3三 ss-8051高级单片机实验仪系统配备3附录一:ss-8051高级单片机实验指导书 4附录二:51单片机硬件开发支持 66附录三:微型打印机及其与单片机接口 73附录四:isd4004系列单片语音录放ic资料 78附录五:hd61202液晶显示控制驱动器的应用资料82附录六:ss-8051高级单片机实验仪原理图 86一概要:一般的单片机实验仪通常为固定线路,再有配合该实验线路的

2、教材,学习者只能依照该实验仪做实验,无法自行创作线路,甚至无法改变外围器件的地址,实验者知其然而不知其所以然。另一种没有实验仪,初学者就按电路图自行在面包板上或在万用板上焊接电路,花费很多时间在接线及硬件排错上,软件练习往往不够。有鉴如此,北京海天创新电子有限公司特开发一种开放式组合电路的单片机ss-8051高级单片机实验仪,其特性如下:1 可做mcs51系列单片机的实验或其它mcu的的实验;2 可配任何厂家的仿真器,也可以自仿真;3 系统采用cpu独立和组合均可的方式;4 提供20多种单元电路;5 全部电路可由使用者以线连接,弹性组合;6 无需焊接,节省时间,如同面包板或万用板实验;7 配备

3、开关电源;8 可配合各种单片机书籍。二ss-8051高级单片机实验仪可直接使用的电路单元1 微型打印机接口电路;2 8031/51/2051高级接口电路;3 8255电路;4 sram电路;5 74ls138译码器电路;6 接点延伸区;7 拨码开关电路;8 8x8点阵显示电路;9 动态七段数码管电路;10 8个led输出(二组电路);11 键盘电路;12 rs232串行通信电路;13 d/a电路;14 a/d电路;15 步进电机实验电路;16 直流电机实验电路;17 点阵图形液晶实验电路;18 isd4004语音芯片实验电路;19 7279键盘与数码管显示芯片电路;20 模拟量输入单元电路。三

4、、ss-8051高级单片机实验仪系统配备1实验机箱一台2使用说明书一份3连接线 若干4程序光盘 一张 5仿真器一台附录一:ss-8051高级单片机实验指导书目 录第一部分软件练习实验一:从外部数据存储器传送到内部存储器 5实验二:从外部数据存储器传送到内部ram中 6实验三:求16个学生的年龄之和 6实验四:求两省人口之和 7实验五:求八个无符号数的最大值 7实验六:求y=sign x的 8实验七:求两个16位无符号数之积 8实验八:将一个字节bcd码转换成二进制数 9实验九:将一个字节二进制数转换成十进制数 9实验十:自编实验 9第二部分硬件与接口实验一:p1口实验一(输入输出实验、最小系统

5、)10实验二:p1口实验二13实验三:外中断实验 15实验四:定时/计数器实验17实验五:点阵显示屏实验 21实验六:8255键盘、数码显示实验23实验七:数/模转换实验27实验八:模/数转换实验29实验九:微型打印机实验 32实验十:hd7279a键盘显示控制实验 34实验十一:直流电动机的控制实验40实验十二:步进电动机的控制实验42实验十三:点阵图形液晶显示器的控制实验 45实验十四:isd系列语音芯片的单片机控制实验53实验十五:单片机与pc机串行通信实验63第一部分 软件练习实验一 实验系统简介:1 ss-8051高级仿真实验系统的主要特点:ss-8051高级仿真实验系统的主要特点在

6、于它是一个几乎完全真实的项目开发环境。它的所有电路单元均是独立的(除了电源和地线之外),复杂的电路可以用排线搭建起来,整个系统给学习者一个真实的开发环境,对于小型的实验和大型的课程设计均可应用,此外还可以作为开发新产品的实验系统。2 调试软件的启动、操作与退出:万利调试软件的启动很简单,在windows操作系统下,只要用鼠标单击“开始|程序|medwin|medwin.exe”程序即可启动。退出调试环境象所有的windows程序一样,用鼠标单击“文件|退出”菜单或单击右上角的“x”均可退出程序。万利调试软件的操作与编程器的操作以及硬件开发的整个过程概述可以参考“附录二:51单片机的硬件开发支持

7、”。二 操作练习与程序执行:实验一:练习从外部数据存储器传送到内部寄存器中第一部分“软件练习”实验均可以在脱机模拟状态下调试运行,也可以连上仿真器与实验仪在线仿真调试运行。1 模拟调试状态下:(以万利仿真器为例)启动“medwin.exe”万利仿真器调试软件,进入“模拟调试”状态。建立一个项目,在项目中添加一个新的文件(以.asm作为后缀名),将后面的程序清单输入,按ctrl+f8编译并装载,排除所有的错误直到编译通过。打开外部数据区窗口(xdata)、寄存器窗口和特殊功能寄存器窗口,将外部数据区的00h,01h单元的内容改为54h,55h,单步或全速运行调试程序,观察寄存器a,b,dptr,

8、r1,r2,r3的值是不是如程序所希望的那样变化,最后看r3的值是不是54h+55h=a9h。2 连机状态下:本实验要连机运行调试,需在实验仪上进行相应的连线。先用数据线将仿真器和仿真头连起来,把仿真头缺口朝上插入2单元的51单片机插座(千万注意不要插反)。然后连接4单元存储电路与2单元单片机电路。它们之间具体的连线如下表所示(将对应的网络标号用排线连接起来):2单元4单元p00-p07db0-db6p20 -p20a8-a15p36webp37oebalealeceb连gnd3 线连好以后,打开仿真器和实验仪的电源,其余操作和模拟调试状态下相同。实验的源程序如下所示:org 00h;程序从0

9、0h处开始运行ajmp start;跳转到start的位置org 30h;start从30h开始start:mova,#56h;在a寄存器中放置56h,这句程序执行完毕后可以看看a寄存;器中的值是否为78hmov b,#78h;在b寄存器中放置78h,这句程序执行完毕后可以看看b寄存;器中的值是否为78hmov dptr,#00h;给dptr赋值00h,表示是数据寄存在00h的地址movx a,dptr;将外部数据区00h的数据放进寄存器amovr1,a;将a中的数据放入r1寄存器incdptr;将dptr增1,变为01hmovxa,dptr;将外部数据区01h的数据放进寄存器amovr2,a

10、;将a中的数据放入r2寄存器adda,r1;将a中的数据与r2中的数据相加,和在a中movr3,a;将结果保存在r3中here:ajmphere;死循环end;程序结束标志实验二:练习从外部数据存储器传送到内部ram中本实验也可以在模拟调试和连机状态下两种方式下进行实验。在连机实验时的连线与“实验一”完全相同。程序运行之前,将外部数据存储器(xdata)和内部数据存储器(data)窗口打开,并在xdata窗口从00h单元开始连续键入30h,31h,32h,33h,34h,35h,36h,37h,38h,39h,40h,41h,42h,43h,44h,45h,然后程序单步或全速运行,停下来后观察

11、内部数据区窗口(data)从30h开始的数据是否跟上述数据相同。实验的源程序如下:org00h;程序从00h处开始运行start:movdptr,#00h;给dptr赋值00h,表示是数据存放在00h的地址movsp,#80h;给sp赋值80h,程序运行过程中我们可以看看sp的变化movr0,#30hmovr7,#10hloop:movxa,dptrmovr0,aincr0incdptrdjnzr7,loophere:sjmp$;死循环end;程序结束标志实验三:求16个学生的年龄之和,数据放在20h单元程序运行之前,先将16个学生的年龄放在内部数据区20h单元开始的地方,码制为bcd码,程序

12、运行结束时,16个学生的年龄和放在寄存器a和b中(b为高位,a为低位)。程序清单如下所示:org00h;程序从00h处开始运行sjmpstart;跳转到start的位置org30h;start从30h开始start:movr0,#20hmovr7,#16mova,#00hmovb,aloop:adda,r0daajncnextincbnext::incr0djnzr7,loophere:sjmphere;死循环end;程序结束标志实验四:求两省人口之和以四个字节长度存放两省人口数,该程序涉及到多字节的加减法。程序运行前将两省的人口数放入外部数据区(xdata)从00h和10h开始的单元。如从0

13、0h开始依次放入32h,54h,76h,98h,从10h开始依次放入34h,12h,32h,54h(从低字节往高字节排列),程序运行完毕,观察程序运行结果是不是等于98765432+54321234=0153086666。程序清单如下:org00h;程序从00h处开始运行sjmpstart;跳转到start的位置org30h;start从30h开始start:movr7,#4movr0,#30hmovdptr,#0000hlp1:movxa,dptrmovr0,aincr0incdptrdjnzr7,lp1movr1,#40hmovdptr,#0010hmovr7,#4lp2:movxa,dp

14、trmovr1,aincr1incdptrdjnzr7,lp2movr6,#4movdptr,#0020hmovr0,#30hmovr1,#40hclrclp3:mova,r0addca,r1daamovxdptr,aincr0incr1incdptrdjnzr6,lp3mov20h,chere:sjmphere;死循环end;程序结束标志实验五:求8个无符号数的最大值给定8个无符号数,将其放入内部数据区(data)中,地址从20h开始,运行下列程序,看看是否将8个数的最大值存储在a寄存器和内部数据区41h单元中。程序清单如下:org00h;程序从00h处开始运行sjmpstart;跳转到st

15、art的位置org30h;start从30h开始start:movr0,#20hmovr6,#08hmova,r0decr6loop:incr0mov40h,r0cjnea,40h,chkchk:jncloop1mov41h,ahere:sjmphere;死循环end;程序结束标志实验六:给定8位有符号数x,求y=sign x之值给定8个有符号数,放至内部数据区(data)30h单元开始的地方,求其符号,并将结果送入寄存器r1,程序适合单步执行,每执行一句观察一下r1是否真实反映有符号数的符号。程序清单如下:org00h;程序从00h处开始运行sjmpstart;跳转到start的位置org3

16、0h;start从30h开始start:movr0,#30hmova,r0anla,r0jzzerojnbacc.7,nextminus:movr1,#0ffhsjmpexitzero:movr1,#0sjmpexitnextmovr1,#1exit:sjmpexit;死循环end;程序结束标志实验七:求两个16位无符号数之积程序清单如下:org00h;程序从00h处开始运行ajmpstart;跳转到start的位置org30hstart:movr5,#11h;乘数高字节movr4,#78h;乘数低字节movr3,#11h;被乘数高字节movr2,#11h;被乘数低字节movr1,#30hdu

17、mul:mova,r1movr6,amovr7,#04clear:movr1,#0hincr1djnzr7,clearmova,r6movr1,amm:mova,r2movb,r4mulabacalladdmmova,r2movb,r5acalladdmmova,r3movb,r4mulabdecr1acalladdmmova,r3movb,r5mulabacalladdmmova,r6movr1,ahere:sjmphere;死循环addm:adda,r1;子程序movr1,amova,bincr1addca,r1movr1,aincr1mova,r1addca,#0movr1,adecr1

18、ret;子程序返回end;程序结束标志实验八:将一个字节bcd码转换成二进制数org00h;程序从00h处开始运行ajmpstart;跳转到start的位置org30h;start从30h开始start:movr2,#99hacalldtobhere:sjmphere;死循环dtob:mova,r2anla,#0f0hswapamovb,#10mulabmovr3,amova,r2anla,#0fhadda,r3movr3,amov20h,aretend;程序结束标志实验九:将一个字节二进制数转换成十进制数org00h;程序从00h处开始运行sjmpstart;跳转到start的位置org30

19、h;start从30h开始start:movr2,0ffhacallbtodhere:sjmphere;死循环org100h;将二进制数转换成十进制数的子程序放在100h的位置btod:mova,r2;二进制数转换成十进制数的子程序movb,#100divabmovr6,amova,#10xcha,bdivabswapaadda,bmovr5,aret;二进制数转换成十进制数的子程序返回end;程序结束标志实验十:自编实验,上机调试通过第二部分 硬件及接口实验实验一:p1口实验一一 实验题目:p1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。二 实验目的:1 学习p1口作为输出

20、口的使用方法。2 学习延时子程序的编写和使用。三 有关说明:p1口为准双向口,p1口的每一位都能独立的定义为输出线或输入线。作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。再来看一下延时程序的实现,现常用的有两种方法:一是用定时器中断来实现,二是用指令循环来实现。在系统时间允许的情况下,可以采用后一种方法。以12m晶振为例,一个机器周期为12/12=1us,现要写一个延时0.1s的程序,可大致写出如下:movr7,#200de1:movr6,#xde2:djnzr6,de2djnzr7,de1上面mov、djnz指令均需两个机器周期,所以每执行一条指令需2us,现求出x值:(x

21、*2+2+2)*200+2=100,000求出x=248,代入上式可知约延时(248*2+2+2)*200+2=100,002us,已经很精确了。四 实验电路: l1 vcc p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.78051 l8 vcc五 连线方法:电路单元第2单元第11单元连接1p1.0-p1.7l1-l8六 程序框图:开始初始化,a=0a p1a左循环一位延时1s结束七 程序清单:(汇编)org00h;程序从00h开始ajmpstart;跳转到start位置org30h;开始程序从30h开始,将00h到30h之间的start:movsp,#60h;将

22、堆栈指针设为60hmova,#0feh;将a赋值为0fehloop:movp1,a;点亮1个灯acalldelay;调用延时程序rla;将a循环移动一位ljmploop;跳转到loop,程序循环执行。delay:movr1,#10;延时子程序,10个100ms,一共1sdel1:movr2,#200del2:movr3,#248del3:djnzr3,del3djnzr2,del2djnzr1,del1ret;延时程序返回end;程序结束程序清单:(c51):#include #include void delayms(unsigned char ms)/*延时子程序*/unsigned ch

23、ar i;while(ms-)for(i = 0; i 250; i+);unsigned char led;void main(void)led = 0xfe;p1 = led;while(1)delayms(250);led = _crol_(led,1);/*循环右移1位,点亮下一个led*/p1 = led;实验二:p1口实验二一 实验题目:p1口做输入口,接八个拨码开关,以p0口做输出口,编写程序读取开关状态,在二极管上显示出来。二 实验目的:学习p1口作为输入口的使用方法。三 有关说明:p1口为准双向口,p1口的每一位都能独立的定义为输出线或输入线。作为输入的口线,必须向锁存器相应

24、位写入“1”,该位才能作为输入。四 实验电路:p1.0 p0.0p1.1 p0.0p1.2 p0.0p1.3 p0.08051p1.4 p0.0p1.5 p0.0p1.6 p0.0p1.7 p0.7 gnd l1 vcc s1 l8 vcc s8五 连线方法:电路单元第2单元第11单元第1单元连接1p0.0-p0.7l1-l8连接2p1.0-p1.7s0-s7六程序框图:开始初始化将p1口置0ffh从p1口读开关量将开关量送p0口结束七程序清单(汇编):org00h;程序从00h开始ajmpstart;跳转到startstart:movsp,#60h;将堆栈指针设置为60hmovp1,#0ff

25、h;先将p1设置为0ffhloop:mova,p1;将开关量输入到变量a中movp0,a;将变量a中的数据送到p0口输出ljmploop;跳转到loop循环执行程序end;程序结束程序清单(c51):#include #include void delayms(unsigned char ms)/*延时子程序*/unsigned char i;while(ms-)for(i = 0; i 250; i+);unsigned char led;void main(void)led = 0xfe;p1 = led;while(1)delayms(250);led = _crol_(led,1);/

26、*循环右移1位,点亮下一个led*/p1 = led;实验三:外中断实验一 实验题目使用单脉冲作中断源,每按一次按钮,点亮的发光二极管向右移动一位二 实验目的1 学习外中断的使用;2 学习中断处理程序的编程方法。三 实验电路 p1.0int1 p1.1 p1.2 p1.3 p1.4 p1.5p1.6p1.78051 l1 vcc 单脉冲源 l8 vcc四 连线方法电路单元第2单元第11单元第1单元连接1p10-p17l1-l8连接2p33/int1s0五 程序清单(汇编):org00h;程序开始地址从00h开始ajmpstart;跳转到startorg13h;外部中断1的中断入口地址ajmpi

27、nti;int1入口地址org30h;主程序从30h开始,将00h与30h中间的中断向量地址留出来start:movsp,#60h;将堆栈地址sp置成60hmova,#0feh;点亮第一个灯泡setbit1;开外部中断1movie,#10000100b;开int1中断和总中断movp1,a;在p1口显示一个一个灯here:nop;空操作指令sjmphere;死循环inti:movp1,a;外部中断服务程序rla;a循环移动一位clrie1;清中断标志位reti;外部中断1中断程序返回end;程序结束程序清单(c51):#include #include unsigned char led;vo

28、id delayms(unsigned char ms)/*延时子程序*/unsigned char i;while(ms-)for(i = 0; i 250; i+);void int1main1(void) /*non-bounce*/ ie=0; /*屏蔽所有中断*/ it1=1; /*设置中断:下降沿*/ ex1=1; /*开int1中断*/ ea=1; /*开所有中断*/*中断1*/void one_int1isr (void) interrupt 2 using 3 ex1=0;/*屏蔽int1*/ led = _crol_(led,1);/*循环右移1位,点亮下一个led*/ d

29、elayms(250); ex1=1;/*打开int1*/ ie1=0;void main(void)int1main1();led=0xfe;while(1)p1 = led; 实验四:定时器实验一 实验题目连线并编制程序,使用定时器1中断,按方式1工作,将单排led灯循环点亮。二 实验目的1 定时器中断的使用;2学习定时器中断间隔时间的计算;3进一步学习中断处理程序的编程方法。三 原理简述1定时器/计数器的输入脉冲周期与机器周期一样,为振荡器频率的1/12。本实验中时钟频率为12m,现要采用中断方法来实现1秒延时,要在定时器1中设置一个时间常数,使其每隔0.05秒产生一次中断,cpu响应中

30、断后r0中计数值减一,令(r0)=14h,即可实现1秒的延时,时间常数可按下法确定:机器周期=12/晶振频率=12/12=1us定时器需设初值为x,则(216x)*1=50000us求出x=15536化为十六进制:x=3cb0h,故初始值为:th1=3ch,tl1=b0h。2 初始化程序包括定时器初始化和中断系统初始化,主要对ip,ie,tcon,tmod的相应位进行正确的设置,并将时间常数送入定时器中。由于只有定时器中断,ip不必设置。注意一点:定时器1初始化时建议用如下的指令:anltmod,#0fhorltmod,#10h3 设计中断服务程序和主程序中断服务程序除了要完成记述减一工作外,

31、还要将时间常数重新送入定时器中,为下一次中断做准备。主程序则用来控制发光二极管按要求顺序亮灭。四 实验电路本实验电路与实验一完全相同,不同的是编程序时延时采用定时器中断而非软件延时。 l1 vcc p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.78051 l8 vcc五 连线方法:电路单元第2单元第11单元连接1p1.0-p1.7l1-l8入口置首显示代码(a),初始化地址偏移量(r1),计数器初值(r0)定时器1初始化设计数初值开放ea,et1及tr1r1为0?装计数初值于r1将显示的数据(r0)送入(a)带进位左移(a)将(a)再送入显示数据(r0)中将显示数

32、据送入p1显示六 程序框图主程序框图: n y中断入口关闭计数器控制位计数值减一装入时间常数开放计数控制位reti中断子程序框图:七 程序清单(汇编)org00h;程序从00h开始ajmpstart;跳转到start的位置org1bh;定时中断的起始地址ajmpti;中断子程序名字org30h;主程序的开始地址从30h开始start:movie,#00h;屏蔽所有的中断movsp,#60h;将堆栈指针sp设置为60hmovp1,#0feh;将p1设置为0feh,点亮一个灯movr0,#0feh;r0用来保存点亮灯的状态movr1,#14h;将变量r1设置为14h,表示14h次进定时中断后灯循环

33、一位anltmod,#0fh;设置tmod高四位为0,低四位不变orltmod,#10h;设置tmod最高位为1movth1,#3ch;设置定时中断的初始值(高位)movtl1,#0b0h;设置定时中断的初始值(低位)orlie,#88h;将定时中断和总中断打开setbtr1;启动定时loop:cjner1,#00,disp;当变量r1不为0时,不移位,直接转去dispmovr1,#14h;当进14h次定时中断之后,将记录中断次数清成14hmova,r0;将r0里面的数据循环移位一次rlamovr0,adisp:movp1,r0;将循环或没有循环的数据在p1口显示出来ajmploop;程序循环

34、ti: clrtr1;定时中断子程序decr1;在定时子程序中将变量r1减小1,当减为0时循环一位显示movth1,#3ch;设置定时中断的初始值(高位)movtl1,#0b0h;设置定时中断的初始值(低位)setbtr1;启动定时器reti;中断程序返回 end;程序结束程序清单(c51):#include #include unsigned char led,value1;void timer1main1(void) /*non-bounce*/ ie=0x0; /*屏蔽所有中断*/ value1=0x0; /*设置r1初始值*/ tmod=tmod & 0xf; tmod=tmod |

35、0x80; th1=0x3c; /*定时器1高8位初始值*/ tl1=0xb0; /*定时器1低8位初始值*/ ie=0x88; /*设置ie初始值*/ tr1=1; /*启动记数*/void time1(void) interrupt 3 using 2tr1=0;ea=0;th1=0x3c; /*定时器1高8位初始值*/ tl1=0xb0; /*定时器1低8位初始值*/ value1-; /*value1变量减1*/ tr1=1; ea=1;void main(void) timer1main1();value1=0x14;led=0xfe;while(1)if(value1=0)valu

36、e1=0x14;led = _crol_(led,1);/*循环右移1位,点亮下一个led*/p1 = led;实验五:显示屏实验一 实验题目连线并编制程序,在显示屏上显示汉字二 实验目的1 了解动态显示的基本原理;2 了解汉字显示的基本原理;3 了解查表程序的使用。三 原理简述实验仪上的汉字显示屏为8x8的点阵显示屏,单片机的i/o口最多只有8x4=32个,在实际的系统中,不可能每个i/o口均用到点阵显示中,所以点阵显示屏不可能静态显示,必须动态显示。动态显示的基本原理是利用人的视觉暂留效用,间歇的显示每个该点亮的led灯,因为间歇的时间小于人眼的分辨能力,所以看起来就象是静态显示的一样。汉

37、字的显示首先必须开发汉字的点阵字库,本程序为简单起见,在点阵显示屏中显示一个汉字“工”,若想显示其它的汉字,比如每个人的学号,则需自己开发字库或查询国标字库。本程序的汉字字库放在程序中,调用时使用查表的方法。查表程序是一个子程序,首先将表中的偏移量放入累加器acc中,然后调用查表子程序,将偏移量与当前pc的和作为地址处的数据送入acc中,然后子程序返回,以acc为偏移量的数据就放入了acc中,可以利用。四 连线方法电路单元第2单元第10单元连接1(网络标号)p1.0-p1.7a0-a7连接2(网络标号)p2.0-p2.7pa10-pa17五 程序清单(汇编): org 00h;程序从00h开始

38、ajmp start;跳转到start org 30h;主程序从30h开始start:mov sp,#60h;设置堆栈指针为60h地址mov p1,#00h;将p1和p2都设置为0 mov p2,#00h mov ie,#00h;ie初始化,屏蔽所有的中断movr0,#01h;将r0和r1设置为01hmovr1,#01hmovr2,#08h;r2设置为08h,表示要动态显示8列again:mova,r0;查表求每列的字型数据acalltabblemovp2,#00h;将p2清0movp1,a;将p1输出查表的数据movp2,r1;输出对应的列号acalldelay;调用延时子程序incr0;r

39、0增加1mova,r1;将r1循环1位rlamovr1,adjnzr2,again;循环8次ajmpstart;跳转到起始位置delay: nop;延时子程序del1:movr3,#100del2:movr4,#10del3:djnzr4,del3djnzr3,del2ret;延时子程序返回tabble:movc a,a+pc;字型数据表 retdb 40h,42h,42h,7eh,42h,4ah,5eh,40h;“卫”字的字型数据表 end;程序结束程序清单(c51):#include #include unsigned char table_data8=0x40,0x42,0x42,0x7e,0x42,0x4a,0x5e,0x40;/*字型数据*/unsigned char i,value;void delayxms(int count) small /*延时程序*/ int i,j; for(i=0; icount; i+)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论