资源描述:
《杭电单片机实验报告一》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、KeiI软件使用及汇编语言编程2017.4.15HANGZHOUDIANZIUNIVERSITY单片机原理与应用技术实验报告实验题目:姓名:学号:实验日期:1・Ke订软件的简介和使用1.1KeiluVision4的简介最新的KeiluVision4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。uVision4在PVision3IDE的基础上,增加了更多大众化的功能:・多显示器和灵活的窗口管理系统・系统浏览器窗口的显示设备外设寄
2、存器信息・调试还原视图创建并保存多个调试窗口布局・多项目工作区简化与众多的项目1.2KeiluVision4的使用①,打开Keil4应用软件,其初始界而如下:也pVi$ion4FiKEditViewProjectFlashDebugPeripheralsToolsSVCSWindowHelpd丄I」V
3、•
4、'〔臥;
5、:上厦広n\3ProjectQProject!^BookI>Fund.J0^Tern(ButlJOutput好文档.让好胡友也■到X②、点击菜单项“Project”下的"NewuVisionProject”,如下图所示
6、。
7、FrfeEditVievJ(ProjectllflashDebugPeripheralsToolsSVCSWindowHelp:DJA
8、HewyVisionProject"NewMulti-ProjectWorkspace...血pVision4OpenProject...Project■二CloseProject③、选择文件夹,并输入工程名。巴CreateNewProject«Data(D:)>DPJJEST>TESTPictures名称v0没斯与接肚件匹配的项.3B片如■乐豪色OS(G)Data(0:)文件名(N):TEST
9、ProjectFiles(•.uvproj)銅⑸④、输入工程名并保存后会弹出选择芯片界面auVendorAcerLabsDeviceTooteetOK⑤、这里我们选择Atmel公司的AT89S51单片机,选择后,点击“0K”,即创建完工程。⑥、单击点击下图所示圆圈圈起的部分建立一个文件。也可以点击菜单“File”下面的“NEW”来新建一个文件。FileEditViewProjectFlashDebugPeripheralsToolsSVCSWindowHelpQpzJA11
10、伽H谁於〃i
11、iS
12、Target1Sxsl的旦]Proje
13、対建文件a@r£④、Z后输入程序的代码后,单击File-Saveas,根据代码语言的格类型,可保存为后缀为.asm(汇编语言)和.c(C语言)的文件。⑤、单击“Target]”前面的“+”号,并用鼠标右键点击“SourceGroupl”,界面如图10所示。在用鼠标左键点击“AddFilestoGroupSourceGroupl..."即可把刚刚的代码文件添加到工程。最后点击左上角的编译按钮即可完成编译。之后即可进行程序的调试了。2.实验内容使用汇编语言完成课本P95的(2)、(5)、(8)三道题以及一个跑马灯程序。2.1P95-(2
14、)设内部RAM5AH单元中有一个变量X,请编写计算下述函数式的程序,结果存入5BH。'X2+8,lowXw15Y=F-l,XVio・X>15••设计思路:显然本题要使用分支语句,不妨使用J乙JNB等,并通过XJO,X・15综合判断X处于哪个区间。代码如下:ORG0000HORG1000HSTART:MOVA,5AHMOVB,5AHSUBBA,#OFHJNBACC.7,D03MOVA,5AHCLRCSUBBA,#0AHJNBACC.7,DOIJMPDO2JMPSTART;直接寻址,将5AH地址上的数据X存入寄存器A;直接寻址,将5AH
15、地址上的数据X再一次存入寄存器B;将A中数据X先减去15,初步判断X所属区间;若人的第7位不为1(X>=15)则程序跳到DO3,否则顺序执行;若乂比15小,再次将X存入累加器A中;清零进位C;将X减去10;若人的第7位不为1,(X>=10),跳到D01;剩下的情况就是:X<10,跳到D02D01:M0VA,5AHMULABADDA,#08HMOV5BH,AJMPDONE;10<=X<=15;相当于X*X,结果的低八位存入A;即X*X+8—A;即X*X+8-BDO2:MOVA,5AHMULABCLRCSUBBA,#01HMOV5BH,
16、AJMPDONE;X<10;X*X-*A;进位c清零;X*X-1^A;X*X-1->B;跳到程序结朿段DO3:MOVA,#29HMOV5BH,AJMPDONEDONE:SJMP$END;41fA;4—B;跳到程序结束段;跳到程序结束段