欢迎来到天天文库
浏览记录
ID:21928408
大小:62.00 KB
页数:10页
时间:2018-10-25
《山大单片机new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2011年一、试将下面的STC12C5A60S2单片机的C语言程序转换为实现同样功能的汇编语言程序。(15分)#include"stc12.h"unsignedchari;voidmain(void){ TMOD=0x01; TL0=0x58; TH0=0x9E; i=20; ET0=1; EA=1; TR0=1; while(1);}voidT0_ISR(void)interrupt1{ TL0=0x58; TH0=0x9E; i--; switch(i) {
2、 case15: P2=0x15; break; case10: P2=0x10; break; case5: P2=0x5; break; default: P2=0xff; break;
3、 }二、设计一个故障检测系统。当系统的各部分工作正常时,4个故障源输入端全为低电平,对应故障源的故障指示灯全熄灭。当某部分出现故障时,则对应的输入信号线由低电平变为高电平,对应故障源的故障指示灯闪烁(闪烁周期定为1秒钟,亮0.5秒,灭0.5秒)。试设计单片机故障源判定系统,画出电路示意图并编制实现程序(假设单片机外接12MHz的晶体)。(15分)三、使用定时器T0,在P2.1引脚上输出脉冲宽度1ms,信号周期4ms的脉冲序列,输出500个脉冲后停止。(假设晶振频率为12MHz,P2.1平常输出为高电平)(10分) 四、利用STC12C5A60S2单片机设计应答方式的多机通信程
4、序。通讯参数:晶振为11.0592MHz,9600,n,8,1。通讯过程如下:主机先向从机发送一帧地址信息,然后将内存单元中的10个数据发送给从机,并将数据块校验值(将各个数据进行异或,取最后的异或值作为校验值)发给从机。从机接收数据并进行数据块的校验,若校验正确,则从机发送00H给主机,否则发送0FFH给主机,主机重新发送数据。(在适当的地方加程序注释)。(25分)五、ADS78752与STC12C5A60S2单片机的接口电路如图所示。利用中断方式进行模拟量的检测,每检测100个数据求取它们的平均值。模拟量信号由ADS7852的通道0输入。编写实现程序。(25分)
5、 六、简述STC12C5A60S2单片机的特点,并阐述“单片机原理及应用”课程的心得体会。(10分)一、15分设置堆栈指针2分,初始化5分,中断服务程序8分 $INCLUDE (STC12C5A.INC) ;包含STC12C5A60S2寄存器定义文件 ORG 0000H LJMP MAIN ;转主程序 ORG 000BH ;T0中断服务程序入口地址 LJMP T0_ISR ORG 0100HMAIN:MOV S
6、P,#60H ;设置堆栈指针 MOV TMOD,#01H ;T0初始化 MOV TL0,#58H MOV TH0,#9EH MOV A,#20 ;累加器A置20 SETB TR0 ;启动T0计数 SETB ET0 ;允外T0中断 SETB EA ;CPU开中断 SJM
7、P $ ;等待T0_ISR:MOV TL0,#58H MOV TH0,#9EH ;重新装入时间常数 DEC A ;累加器A内容减1CJNE A,#15H,NEXT1MOV P2,#15HLJMP EXITNEXT1:CJNE A,#10H,NEXT2MOV
此文档下载收益归作者所有