1、void main(void) GPIO(); while(1) P1=x;Delay1000ms();x=_crol_(x,1); (2)用Keil mVision2开发工具输入、编辑与编译上述实验程序,并生成该程序的机器代码。 (3)用Keil mVision2开发工具的软件模拟仿真功能调试本实验程序。5. 程序调试及效果分析 (1)从项目文件夹中,查看生成的机器代码,默认情况下,其默认文件名取决于哪里。 (2)用Keil mVision2开发工具的软件模拟仿真功能调试本实验程序的效果。6. 实验报告要求 (1)总结给Keil mVision2开发工具添加STC系列单片机型号、头文件以及S
2、TC在线仿真驱动数据库的方法。 (2)总结应用Keil mVision2开发工具编辑、编译用户程序,生成用户程序机器代码的操作步骤。实验二 用户程序的在线编程与在线仿真 (1) 理解STC单片机与PC机USB接口的通信线路及学会加载USB转串口的驱动程序。 (2)学会用STC-ISP在线编程工具给单片机加载用户程序与在系统调试。 (3)学会应用Keil mVision4开发工具与STC15实验板进行用户程序的在线仿真调试。 (1)预习3.2节内容,理解STC单片机与PC机USB接口的通信线路,以及加载USB转串口驱动程序的方法。 (2)预习3.2节内容,掌握用STC_ISP在线编程工具下载用户
3、程序的方法。 (3)预习3.2节内容,掌握STC单片机在线仿真的方法,包括如何设置仿真芯片以及Keil mVision4开发工具在线硬件仿真的设置。(4)分析demo.c的程序功能。3. 实验参考程序(demo.c) /*-1ms延时函数,从STC-ISP工具中获得-*/ void Delay1ms() /11.0592MHz unsigned char i, j; i = 11; j = 190; while (-j);/*-xms延时函数-*/ void delay(uint x) /11.0592MHz uint i; for(i=0;ix;i+) Delay1ms(); P17 = 0
4、; delay(1000); P17 = 1; P16 = 0; P16 = 1; P47 = 0; P47 = 1; P46 = 0; P46 = 1;4. 实验电路原理及硬件连线本实验基于STC15开发板上实施,硬件线路包括STC单片机与PC机USB接口的通信线路,以及LED7、LED8、LED9、LED10等LED灯。5. 实验内容 (1)用Keil mVision2开发工具编辑、编译demo.c程序,并生成机器代码。 (2)用STC_ISP在线编程工具给STC15单片机开发板下载用户程序,运行用户程序,验证程序功能是否符合程序要求。 (3)应用Keil mVision2开发工具与STC
5、15实验板进行用户程序的在线仿真调试,验证程序功能是否符合程序要求。6. 程序调试及效果分析 (1)在系统调试,分析程序运行效果。 (2)在线仿真调试,分析程序运行效果。7. 实验报告要求 (1)总结STC单片机在线编程的操作步骤与在系统调试方法。 (2)总结STC单片机在线仿真方法。 (3)总结STC单片机在线仿真有什么优势?实验三 IAP15W4K58S4单片机外部中断的应用编程与调试 (1)进一步掌握中断技术的原理。 (2)掌握外部中断触发方式的设置与应用编程。 预习7.17.3节内容,分析INT01.ASM与int01.c,根据程序功能制定程序调试方案。 3. 实验参考程序(1)INT
6、01.ASM$include(stc15.inc) ;STC15新增特殊功能寄存器的定义文件,详见附录六 ORG 0000H LJMP MAIN ORG 0003H LJMP INT0_ISR ORG 0013H LJMP INT1_ISRMAIN: LCALL GPIO ;调用初始化程序 SETB IT0 SETB IT1 SETB EX0 SETB EX1 SETB EA SJMP $INT0_ISR: CPL P1.7 RETIINT1_ISR: CPL P4.7$include(gpio.inc) ;STC15 I/O口的初始化文件 END(2)int01.c#include uint
7、 adc_value; /定义无符号字符型变量adc_value用于保存ADC值void main(void) /主程序 /定义整型变量i用于适当延时 ADC_CONTR|=0x80; /打开A/D转换电源1000;i+); /适当延时 P1ASF=0x02; /设置ADC1(P1.1)为模拟量输入功能 CLK_DIV|=0x20; /ADRJ=1,设置A/D转换结果的存储格式 ADC_CONTR=0x89; /选择选择输入通道ADC1(P1.1)并启动A/D转换 EADC=1; /打开ADC中断 /打开CPU总中断Dis_buf7= adc_value%10; /秒值送显示缓冲区Dis_bu
8、f6= adc_value/10%10;Dis_buf7= adc_value/100%10;Dis_buf6= adc_value/1000%10;display(); / 调显示函数void ADC_int(void) interrupt 5 /ADC中断服务子程序 ADC_CONTR=0x81; /将ADC_FLAG清0 adc_value= ADC_RES*256+ADC_RESL; /保存10位A/D转换结果,范围为01023 /重新启动A/D转换 4. 实验电路原理及硬件连线将STC15实验板W1电位器的中间抽头(P5.5)接AD转换的输入端P1.1,转换后结果送数码管显示(01023)。 (1)完成ad.c程序的编辑、编译与调试。 (2)如果AD模块采用查询方式进行转换,编写程序并验证效果。 (3)如果AD模块采用定时方式进行转换,编写程序并验证效果。 6. 程序调试及效果分析(1)通
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1