首先你要是比较熟练的掌握了51,进一步学习stm32应该就比较容易了,不用太打怵,mdk和C51也没什么大冲突的,一般mdk是没有51的,你可以把你的51安装一下,然后再mdk的keil文件夹中找到tools.ini,在文件中添加
[C51]
PATH="C:\Keil\C51\"
VERSION=V9.00
BOOK0=HLP\Release_Notes.htm("Release Notes",GEN)
BOOK1=HLP\C51TOOLS.chm("Complete User's Guide Selection",C)
TDRV0=BIN\MON51.DLL ("Keil Monitor-51 Driver")
TDRV1=BIN\ISD51.DLL ("Keil ISD51 In-System Debugger")
TDRV2=BIN\MON390.DLL ("MON390: Dallas Contiguous Mode")
TDRV3=BIN\LPC2EMP.DLL ("LPC900 EPM Emulator/Programmer")
TDRV4=BIN\UL2UPSD.DLL ("ST-uPSD ULINK Driver")
TDRV5=BIN\UL2XC800.DLL ("Infineon XC800 ULINK Driver")
TDRV6=BIN\MONADI.DLL ("ADI Monitor Driver")
TDRV7=BIN\DAS2XC800.DLL ("Infineon DAS Client for XC800")
TDRV8=BIN\UL2LPC9.DLL ("NXP LPC95x ULINK Driver")
RTOS0=Dummy.DLL("Dummy")
RTOS1=RTXTINY.DLL ("RTX-51 Tiny")
RTOS2=RTX51.DLL ("RTX-51 Full")
LIC0=DSX01-CG791-HYQVS-LC8QV-81HV4-T7PS3
这些,标红的为你的51的keil里面C51文件夹的路径,这样就能在mdk里建51的工程了。
刚接触stm32的时候个人认为还是看视频的好,来的快,入门容易,但是要是想深入学习的话,还是选择看书,个人认为你需要看一下《cortex-m3权威指南》等,好好研究一下lib库文件,写起来就容易多了,其实51和stm32本质区别不大,只是在写程序的时候要对寄存器进行配置,这个是51欠缺的