1、第五章 单片机课程设计第五章 单片机课程设计设计一 多功能数字时钟一、设计目的1、 通过一个单片机应用实例建立系统的整体概念;2、 学习掌握单片机系统的硬、软件的工作原理以及二者间的配合关系和方法;3、 掌握8255等可编程接口芯片及实验箱中数码管、LED等电路的应用;4、掌握单片机汇编语言应用程序的设计和调试方法。二、设计要求利用STAR ES598PCI实验仪的硬件资源设计一个“电子钟”。使用单片机内部计数器或外部计数器芯片8253、8255可编程并行接口芯片和七段数码管设计一个电子钟电路,并编制一程序使得该电子钟正常运行。三、设计内容1、选用单片机内部计数器产生内部定时器中断,当定时到1
2、00ms时产生一个中断信号,在中断服务程序中进行中时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号,时、分、秒的数值通过对8255的编程可送到七段数码管上显示。2、选用8253的计数器2进行100ms的定时,其输出OUT2作为单片机外部中断信号,当定时到100ms时产生一个中断信号,在中断服务程序中进行中时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号,时、分、秒的数值通过对8255的编程可送到七段数码管上显示。四、设计分析1. 在主程序中要对8255、8253进行初始化编程。2. 8255
3、的A口、B口都设为方式0,为基本的输入输出方式。3. 在中断服务程序中对中断次数进行统计,当满10次时就进行一次时、分、秒的处理。时、分、秒分别对应6个存储单元,分别存放时、分、秒的十位和个位。当中断次数满10次时,将秒的个位加1,判断是否到10,如到了则十位加1,个位清零;再判十位是否到6,如到了则十位清零,分的个位加1,同理对分、时作相应处理。4. 七段数码管显示作为子程序,将时、分、秒对应存储单元的内容分别取出并转换成相应的段码,从8255的B口输出,A口输出对应位的位选信号,延时后进行下一位的显示。 参考流程图如下:设计二 简易电子琴一、 设计目的1、 通过一个单片机应用实例建立系统的
4、整体概念;2、 学习掌握单片机系统的硬、软件的工作原理以及二者间的配合关系和方法;3、 掌握8255等可编程接口芯片及实验箱中数码管、LED等电路的应用;4、掌握单片机汇编语言应用程序的设计和调试方法。二、设计要求利用STAR ES598PCI实验仪的硬件资源设计一个“简易电子琴”。使用单片机内部计数器或外部计数器芯片8253、8255可编程并行接口芯片和七段数码管设计一个电路,并编制一程序正常运行。三、设计内容利用实验仪的硬件资源设计出的简易电子琴通过一开关控制具有两种模式:模式1:音乐播放模式。开关闭合时为此功能,在此功能下,单片机通过扬声器能够自动播放几首不同的歌曲,通过按键进行选择要播
5、放的某首歌曲。并通过数码管显示当前状态为模式1、第几首歌曲。模式2:弹奏模式。开关断开时为此功能,在此功能下,单片机将16只按键分作两个八度的音符,按下不同的键后单片机通过扬声器能够发出不同频率的音符,从而实现弹奏功能。通过数码管显示当前状态为模式2。1、利用单片机内部定时器进行定时使其输出不同频率的波形至扬声器。2、利用8253进行定时输出不同频率的波形至扬声器。四、设计分析1. 实验原理要产生音频脉冲,只要计算出某一音频的周期,然后将此周期除以2即为半周期的时间。2. 在主程序中要对8255、8253进行初始化编程。3. 8255的A口、B口都设为方式0,为基本的输入输出方式。4. 在中断
6、服务程序中对连接扬声器的引脚的电平进行反转,从而产生相应的频率到扬声器。5. 对于模式1应采用两个定时器中断,一个用来产生发声的频率波形,另外一个用来控制每个音符所持续的时间。当音符持续的时间结束时,两个定时器的计数初值应重新修改使其可以继续产生下一个音符对应的频率波形和它所持续的时间。6. 七段数码管显示作为子程序,将目前电子琴所处的工作模式显示出来,应使用动态显示方式,从8255的B口输出,A口输出对应位的位选信号,延时后进行下一位的显示。设计三 温度闭环控制一、设计目的1、2、3、二、设计要求利用STAR ES598PCI实验仪的硬件资源设计一个“电子钟”。使用单片机内部计数器或外部计数
7、器芯片8253、8255可编程并行接口芯片和七段数码管设计一个电子钟电路,并编制一程序使得该电子钟正常运行。三、设计内容四、设计分析设计四 语音录放一、设计目的1、2、3、二、设计要求利用STAR ES598PCI实验仪的硬件资源设计一个“电子钟”。使用单片机内部计数器或外部计数器芯片8253、8255可编程并行接口芯片和七段数码管设计一个电子钟电路,并编制一程序使得该电子钟正常运行。三、设计内容四、设计分析附录附录A 美国标准信息交换码(ASCII)字符表 低 位高 位00000100012001030011401005010160110701118100091001A1010B1011C1
8、100D1101E1110F11110000010001200103001140100501016011070111NULDLESP0P、PSONDCI!1AQaqSTXDC2”2BRbrETXDC3#3CScsEOTDC44DTdtENQSYN%5EUeuACKETB6FVfvBELSYN,7GWgwBSCAN(8HXhxHTEM)9IYIyLFSUB*:JZjzVTESC+:KkFFFS,LllCRGS-=MmSORS。NnSIUS/?OoDEL附录B MCS-51指令表十六进制代码助 记 符功 能对标志影响 P OV AC Cy字节数周期数算 术 运 算 指 令282F2526,2724
9、383F3536,3734989F9596,979404080F0506,07A314181F1518,17A484D4 ADD A,Rn ADD A,direct ADD A,Ri ADD A,#data ADDC A,Rn ADDC A,direct ADDC A,Ri ADDC A,#data SUBB A,Rn SUBB A,direct SUBB A,Ri SUBB A,#data INC A INC Rn INC direct INC Ri INC DPTR DEC A DEC Rn DEC direct DEC Ri MUL AB DIV AB DA A A(A)+(Rn) A(
10、A)+(direct) A(A)+(Ri) A(A)+data A(A)+(Rn)+(Cy) A(A)+(direct)+(Cy) A(A)+(Ri)-(CY) A(A)+data+(CY) A(A)-(Rn)-(CY) A(A)-(direct)-(CY) A(A)-(Ri)-(CY) A(A)-data-(CY) A(A)+1 Rn(Rn)+1 direct(direct)+1(Ri)(Ri)+1 DPTR(DPTR)+1 A(A)-1 Rn(Rn)-1 direct(direct)-1(Ri)(Ri)-1 AB(A)(B) AB(A)/(B) 对A进行十进制调整1212121212121
11、12111121111111111111111111111111441*28-2F分别表示Rn选择R0R7时的机器码。如ADD A,R0,则机器码为28H。续表十六进制代码助 记 符功 能对标志影响 P OV AC Cy字节数周期数逻 辑 运 算 指 令585F5556,57545253484F4546,47444243686F6566,67646263E4F423330313 ANL A,Rn ANL A,direct ANL A,Ri ANL A,#data ANL direct,A ANL direct,#data ORL A,Rn ORL A,direct ORL A,Ri ORL A
12、,#data ORL direct,A ORL direct,#data XRL A,Rn XRL A,direct XRL A,Ri XRL A,#data XRL direct,A XRL direct,#data CLR A CPL A RL A RLC A RR A RRC A A(A)(Rn) A(A)(direct) A(A)(Ri) A(A)data direct(direct)(A) direct(direct)data A(A)(Rn) A(A)(direct) A(A)(Ri) A(A)data direct(direct)(A) direct(direct)data A(
13、A)(Rn) A(A)(direct) A(A)(Ri) A(A)data direct(direct)(A) direct(direct)data A0A(A) A循环左移一位 A带进位循环左移一位 A循环右移一位 A带进位循环右移一位121223121223121223111111111112111112111112111111续表十六进制代码助 记 符功 能对标志影响 P OV AC Cy字节数周期数数 据 传 送 指 令E8EFE5E6,E774F8FFA8AF787FF5888F8586,8775F6,F7A6,A776,77909383E2,E3E0F2,F3F0C0D0C8CFC
14、5C6,C7D6,D7C4 MOV A,Rn MOV A,direct MOV A,Ri MOV A,#data MOV Rn,A MOV Rn,direct MOV Rn,#data MOV direct,A MOV direct,Rn MOV direct1,direct2 MOV direct,Ri MOV direct,#data MOV Ri,A MOV Ri,direct MOV Ri,#data MOV DPTR,#dada16 MOVC A,A+DPTR MOVC A,A+PC MOVX A,Ri MOVX A,DPTR MOVX Ri,A MOVX DPTR,A PUSH d
15、irect POP direct XCH A,Rn XCH A,direct XCH A,Ri XCHD A,Ri SWAP A A(Rn) A(direct) A(Ri) Adata Rn(A) Rn(direct) Rndata direct(A) direct(Rn) direct1(direct2) direct(Ri) directdata(Ri)(A)(Ri)(direct)(Ri)data DPTRdata16 A(A)+(DPTR) A(A)+(PC) A(Ri) A(DPTR)(Ri)(A)(DPTR)(A) SP(SP)+1,(SP)(direct) direct(SP),
16、SP(SP)-1(A)(Rn)(A)(direct)(A)(Ri)(A)0-3(Ri)-3 A半字节交换1212122223231223111111221211111111211222212122222222211111位 操 作 指 令C3C2D3D2B3B282B072A0A292 CLR C CLR bit SETB C SETB bit CPL C CPL bit ANL C,bit ANL C,/bit ORL C,bit ORL C,/bit MOV C,bit MOV bit,C CY0 bit0 CY1 bit1CY(CY)bit(bit) CY(CY)(bit) CY(CY)
17、(bit) CY(CY)(bit) CY(CY)(bit) CY(bit) bit(CY)121212222222111111222212续表十六进制代码助 记 符功 能对标志影响 P OV AC Cy字节数周期数控 制 转 移 指 令1122232102807360704050203010B5B4B8BFB6,B7D8DFD500 ACALL addr11 LCALL addr16 RET RETIAJMP addr11LJMP addr16 SJMP rel JMP A+DPTR JZ rel JNZ rel JC rel JNC rel JB bit,rel JBC bit,rel JB
18、C bit,rel CJNE A,direct,rel CJNE A,#data,rel CJNE Rn,#data,rel CJNE Ri,#data,rel DJNZ Rn,rel DJNZ direct,rel NOPPC(PC)+2,SP(SP)+1(SP)(PC)L,SP(SP+1)(SP)(PC)H,PC100addrllPC(PC)+3,SP(SP)+1(SP)(PC)L,SP(SP)+1,(SP)(PC)H,PCaddr16PCH(SP),SP(SP)-1PCL(SP),SP(SP)-1PCH(SP),SP(SP)-1 PCL(SP),SP(SP)-1从中断返回PC(PC)+2
19、,PC10-0addr11PC(PC)+3,PCaddr16PC(PC)+2,PC(PC)+relPC(A)+(DPTR)PC(PC)+2,若(A)=0,PC(PC)+rel PC(PC)+2,若(A)不等于0,则PC(PC)+rel PC(PC)+2,若Cy=1, 则PC(PC)+rel PC(PC)+2,若Cy=0, 则PC(PC)+rel PC(PC)+3,若(bit)=1, 则PC(PC)+rel PC(PC)+3,若(bit)=1, 则bit0,PC(PC)+rel PC(PC)+3,若(bit)=1, 则bit0,PC(PC)+rel PC(PC)+3 若(A)不等于(direct
20、), 则PC(PC)+rel; 若(A)(direct),则Cy1 PC(PC)+3, 若(A)不等于data, 则PC(PC)+rel; 若(A)data,则Cy1 PC(PC)+3, 若(Rn)不等于DATA, 则PC(PC)+rel; 若(Rn)data,则Cy1 PC(PC)+3, 若(Rn)不等于DATA, 则PC(PC)+rel; 若(Rn)data,则Cy1 PC(PC)+2,Rn(Rn)-1 若(Rn)不等于0, 则PC(PC)+rel PC(PC)+3 direct(direct)-1 若(direct)不等于0, 则PC(PC)+rel 空操作,PCPC+1xxxxxx23112321222233333332312222222222222222222221
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1