http course sdu edu cnG 2 Sstcmcu cc
- Slides: 115
任课教师: 刘忠国 山东大学课程中心网站: http: //course. sdu. edu. cn/G 2 S/stcmcu. cc 网站:http: //www. mcu 001. com keil μvision软件下载及指导手册(Help→μvision Help) http: //www. keil. com/ 何宾STC单片机原理及应用 > http: //www. gpnewtech. com/study/stc/ 2
2、数据定义伪指令 例如: ORG 1000 H SEG: DB 23 H DW 1000 H DB ‘MCS-51’ END 则: (1000 H)=23 H (1001 H)=00 H 10 H (1002 H)=10 H 00 H (1003 H)=4 DH (1004 H)=43 H (1005 H)=53 H (1006 H)=2 DH (1007 H)=35 H (1008 H)=31 H 14 ; 定义一个字节 ; 定义一个字符串 SEG的地址为 1000 H ‘M‘的ASCII码 ‘C’ 的ASCII码 ‘S’ 的ASCII码 ‘-’的ASCII码 数字 5的ASCII码 数字 1的ASCII码
【例4 -9】程序 SIGN EQU 50 H ; 求得的y 值存入SIGN单元 ORG 0000 H LJMP MAIN 设变量x值存放在R 0 ORG 0100 H MAIN: CJNE R 0, #37, NOTEQ ; R 0与37比较, 不相等则转NOTEQ MOV SIGN, #00 H ; 若比较相等, 则SIGN← 0 LJMP ENDM ; 转到程序结束 NOTEQ:JC NEG ; 两数不相等, 若R 0< 37则C=1, 转NEG处理 MOV SIGN, #01 H ; R 0> 37时, SIGN←+1 LJMP ENDM ; 转到程序结束 NEG:MOV SIGN, #0 FFH ; R 0< 37时, SIGN←-1 ENDM:NOP END 44
(2)多字节乘法运算子程序 DMUL: MOV A, R 3 MOV B, R 7 MUL AB ; R 3×R 7 MOV 30 H, A ; (30 H) ← (R 3×R 7)L MOV 31 H, B ; (31 H) ← (R 3×R 7)H MOV A, R 2 MOV B, R 7 MUL AB ; R 2×R 7 ADD A, 31 H ; (R 3×R 7)H+(R 2×R 7)L MOV 31 H, A CLR A ADDC A, B ; 进位位C与(R 2 R 7)H加 MOV 32 H, A ; (32 H) ← (R 2 R 7)H 57
(2)多字节乘法运算子程序 MOV A, R 3 MOV B, R 6 MUL AB ; R 3×R 6 ADD A, 31 H MOV 31 H, A MOV A, B ADDC A, 32 H ; (R 2×R 7)H+(R 3×R 6)H MOV 32 H, A 程序状态标志寄存器PSW MOV F 0, C ; 暂存Cy ; 因下面乘法使C清0 ; 也可CLR A, ADDC A, #0, 58 MOV 33 H, A; 下面程序相应修改 位号 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 符号 CY AC F 0 RS 1 RS 0 OV F 1 P F 0: 用户标志位
(2)多字节乘法运算子程序 MOV F 0, C ; 暂存Cy MOV A, R 2 MOV B, R 6 MUL AB ; R 2×R 6 ADD A, 32 H MOV 32 H, A CLR A MOV ACC. 0, C ; 或 ADDC A, #0 MOV C, F 0 ; 前次加法进位送C, 为ADDC加(R 2 R 6)H准备 ADDC A, B 程序状态标志寄存器PSW 位号 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 MOV 33 H, A 符号 CY AC F 0 RS 1 RS 0 OV F 1 P RET F 0: 用户标志位 59
BRAN 3: MOV A, R 1 ANL A, #0 FH ; 取个位数 MOV R 3, A ; 个位数(权值是自身)送R 3, R 4=00 H LCALL ADDT ; 加个位数二进制码 RET ADDT: PUSH PSW PUSH ACC CLR C MOV A, 20 H ; 20 H(低), 21 H单元存累加的转换结果 ADD A, R 3 ; 累加转换结果 MOV 20 H, A ; R 3, R 4存 1千(百, 十)的二进制 MOV A, 21 H 数权值 03 E 8 H(0064 H, 000 AH) ADDC A, R 4 MOV 21 H, A POP ACC POP PSW RET 70
7、STC 15 F 2 K 60 S 2单片机双数据指针的使用 编程如下:或$INCLUDE (STC 15. INC); 包含STC 15寄存器定义头文件 AUXR 1 DATA 0 A 2 H ; 定义辅助寄存器AUXR 1直接地址 ORG 0000 H LJMP MAIN ORG 0100 H MAIN: MOV SP, #30 H ; 设置堆栈指针 MOV R 2, #10 H ; 设置计数值(传送的字节数 16) ANL AUXR 1, #0 FEH ; 令DPS. 0=0, 选择DPTR 0 MOV DPTR, #0000 H ; 置源数据地址指针DPTR 0=0 H ORL AUXR 1, #01 H ; 令DPS. 0=1, 选择DPTR 1 ; 该句可用INC AUXR 1代替(思考: 为何?) MOV DPTR, #0040 H ; 置目的数据地址指针DPTR 1=40 H 73
7、STC 15 F 2 K 60 S 2单片机双数据指针的使用 LOOP: ANL AUXR 1, #0 FEH ; 该句可用INC DEC AUXR 1代替 选DPTR 0 MOVX A, @DPTR ; A← (DPTR 0) INC DPTR ; 修正源数据地址指针DPTR 0+1 ORL AUXR 1, #01 H ; 该句可用INC AUXR 1代替, 选DPTR 1 MOVX @DPTR, A INC DPTR ; 修正目的数据地址指针DPTR 1+1 DJNZ R 2, LOOP SJMP ; (DPTR 1) ← A ; 传送字节数 16没完, 继续循环传送 $ ; $表示本条语句地址, 本指令是死循环等待 ; SJMP $ 相当于HERE: SJMP HERE END 74
8、STC 15 F 2 K 60 S 2单片机数据Flash(EEPROM)的使用 STC 15 F 2 K 60 S 2单片机片内集成 1 KB的数据Flash存储器 , 可作为EEPROM使用, 用来保存程序的设置参数。 GO 【例4 -11】一个完整的数据Flash操作实例。 $INCLUDE (STC 15. INC) ; 包含STC 15 F 2 K 60 S 2寄存器定义文件 ; 定义ISP/IAP命令 ISP_IAP_BYTE_READ EQU 1 H ; 字节读 ISP_IAP_BYTE_PROGRAM EQU 2 H ; 字节编程 ISP_IAP_SECTOR_ERASE EQU 3 H ; 扇区擦除 ; 定义Flash操作等待时间及允许IAP/ISP操作的常数(设置IAP_CONTR) ENABLE_IAP EQU 82 H ; 系统 作时钟<20 MHz时 DEBUG_DATA EQU 5 AH ; EEPROM单元的测试值,如正确应等于该值 START_ADDRESS EQU 0000 H ; EEPROM测试起始地址 78
[例4 -11] 一个完整的数据Flash操作实例 (续) ; ------------ 延时子程序------------Delay: CLR A 延时时间: MOV R 0, A 256*32(20 H) *时钟周期 MOV R 1, A MOV R 2, #20 H Delay_Loop: DJNZ R 0, Delay_Loop DJNZ R 1, Delay_Loop DJNZ R 2, Delay_Loop RET END 84
例4 -12程序代码 [例4 -12] 将片内RAM 40 H~ 4 FH单 ORG 0000 H 元清零, 循环从P 1. 0输出 10 ms方波。 LJMPMAIN ORG 0100 H MAIN: MOV SP, #70 H ; 设置堆栈指针 MOV R 0, #40 H ; 40 H~4 FH单元的起始地址40 H送R 0 MOV R 2, #10 H ; 循环(LOOP 1)次数计数器R 2 CLR A LOOP 1: MOV @R 0, A INC R 0 DJNZ R 2, LOOP 1 ; 将40 H~4 FH单元的内容清零 SETB P 1. 0 LOOP 2: CPL P 1. 0 ; P 1. 0输出方波高低电平变换 LCALL DELAY LJMP LOOP 2 ; 循环输出方波 DELAY: MOV R 2, #50 ; 10 ms延时子程序; 该指令 12 T DLY_LOOP: MOV A, #240 ; 该指令 12 T, 2/6 us LOOP: DEC A ; 该指令 1 T LOOP循环延时: JNZ LOOP ; 该指令 24 T 240*5* 1/6=200 us NOP ; 1 T DJNZ R 2, DLY_LOOP ; 24 T DLY_LOOP循环延时: RET 50*(240*5+7)* 1/6≈10 ms END 105
- Spersallerg sdu
- Personligt skema sdu
- Libguides sdu
- Sso sdu
- Sdu yos
- Boghandlen sdu
- Sdü harf notu
- Kmyo nedir
- Sdu formalia
- Sccs library
- Cng vn
- Cng vs lng
- Cng b
- Cng forklift
- Logo cng
- Cng decanting station
- Cng h
- Cng t
- Lng vs cng
- Lng cng
- Cng fyllestasjoner norge
- Cng cesp
- Edu.sharif.edu
- Course interne course externe
- How to install a lintel in a single brick wall
- Course number and title
- Http://numericalmethods.eng.usf.edu
- Dendro.cnre.vt.edu photosynthesis
- Administration.assessform.edu.au
- Dogma of biology
- Http://weather.uwyo.edu/upperair/sounding.html
- Sir isaac newton
- Http.//scratch.mit.edu
- Http://numericalmethods.eng.usf.edu
- Regulationssynonym
- Wave optics topics
- Gestalt leveling
- Space shuttle discovery
- Https.//scratch.mit.edu
- Naplan online training
- Http://dlib.nyu.edu/aco/
- Egif umich
- Http://learn.genetics.utah.edu/content/addiction/
- Http://school-collection.edu.ru/
- Http.//scratch.mit.edu
- Http://evolution.berkeley.edu
- Http:scratch.mit.edu
- Teachertech.rice.edu
- Htts://scratch.mit.edu
- Http://numericalmethods.eng.usf.edu
- Sinhvien.hufi.edu.vm
- Single slit envelope
- Epinephrine in the brain
- Faculty marshall usc advertising csv
- Http://weather.uwyo.edu/upperair/sounding.html
- Http://learn.genetics.utah.edu/
- Https//scratch.mit.edu
- Https/scratch.mit.edu
- 2learner
- Http://www.colorado.edu/physics/phet
- Http //mbs.meb.gov.tr/ http //www.alantercihleri.com
- Siat.ung.ac.id krs
- Mgh.harvard.edu
- Mybill.oregonstate.edu
- Pau edu tr
- Edu go
- Ohm's law states that
- Ksu orientation
- Itu ems
- Csie.nctu.edu.tw login
- Www.soran.edu.iq
- Staffwww.fullcoll.edu
- Kfs.umd.edu
- Breakout edu answer key alien
- Uconn payroll office
- Meted meteorology
- Nacada.ksu.edu
- Uwyo edu
- Milica vukotic udg
- Arizona edu
- Docentes.sea.edu.uy
- Www.kean
- What are newton's three laws of motion
- Library.med.utah.edu/kw/pharm/hyper heart.html
- Internet id umn
- Qo'qon davlat universiteti
- Serc.carleton.edu
- Up.edu.br
- Www.utel.edu.mx
- [email protected]
- Bahagian pinjaman pelajaran mara
- Spero edu
- Helpdesk pace edu
- My uhportal
- Fpu sunbird central
- Sinfo senati edu pe
- Cow eye sclera
- Bb.cuhk.edu cn
- Purdue university actuarial science
- Reg.uga.edu
- Tntu atutor
- Cgu csie
- Sac edu
- Tahvel.edu.eee
- Sdbor snap
- Public.wsu.edu
- Elearning.cdsptw.edu.vn
- Www.bf.tku.edu.tw/files/news chapter 17
- Elearning.icsi.in/lx/login#lx
- Edu script
- Docente.ifrn.edu.br
- Lutherrice.edu blackboard
- Columbia.edu
- Edu biz
- Go.cps.edu activate account
- Edu-221