STM32的单片机的编程编程求助

关于STM32和单片机之间的关系,区别。 求有从事相关工作的大神不吝赐教。_百度知道
关于STM32和单片机之间的关系,区别。 求有从事相关工作的大神不吝赐教。
我有更好的答案
只不过要比8位单片机处理速度要快,功能要强单片机,通常指的就是8位单片机,比如51等,stm32是属于32位机,应该算是arm系列了吧,其次就是编程的模式有改变,单片机通常直接对硬件资源进行操作,集成的资源也更丰富,其实还是单片机,和库就差远了,除非对它的寄存器了如指掌,再去学习stm32,而stm32是在厂家提供的库上进行程序开发了,当然。从事单片机开发的人,它也可以直接对寄存器进行操作,可是在效率上
来自:求助得到的回答
采纳率:50%
TM32就是单片机,一个芯片集成了ARM-Cortex-M系列的内核,FLASH,RAM,以及ADC,DAC等等异常丰富的外设,速度非常快,你可以查查这个芯片的参数,非常霸气。我现在再用STM32F103VET6做界面开发,而且非常便宜,一个STM32C8T6才十元
STM32是单片机里的一种。如果你将“单片机”理解为学校里说的51单片机的话那么你可以去网上中一份STM32的资料,再找一份51单片机的资料(51单片机是一个系列随便找一份通常用的资料)对比一下你就会发现他们的区别。STM的可以到他们的官网去看。
STM32也是一种单片机,只不过是功能比较强大的32位的单片机,而我们常说的单片机是指8位的单片机,STM32应该叫MCU了,至于STM32的强大可以在网上搜到,包含各种功能,非常实用和作为入门学习之用,建议楼主要是学习32位ARM结构的处理器就选STM32吧。。。希望对你有用
如苹果和水果关系、区别
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
不吝赐教的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。查看: 2320|回复: 7
SOS 求助电子纸屏与单片机结合实例譬如stm32
主题帖子精华
新手入门, 积分 36, 距离下一级还需 -16 积分
在线时间0 小时
电子纸屏与单片机结合实例譬如stm32,小弟想把stm32的TFT屏换成电子纸屏,无缘网络资源太少,求助大家!
主题帖子精华
在线时间21 小时
这种东西贵,而且也还没普及,资料可能厂家也不愿意公开。
https://github.com/roxma
主题帖子精华
新手入门, 积分 36, 距离下一级还需 -16 积分
在线时间0 小时
回复【2楼】Pony279:
---------------------------------
谢谢啊&呵呵&&看来只能偃旗息鼓了
主题帖子精华
金钱121494
在线时间981 小时
可以淘宝找一下.不过就算有,估计也没资料给你.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
初级会员, 积分 90, 距离下一级还需 110 积分
在线时间9 小时
网上下载的一个 &电子纸驱动程序,供你参考
.CHIP R65C02
.syntax 6502
;============================================================
;= Project name: TT20&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& =
;= Code function: TT20 simple Demo code for EPD&&&&&&&&&&&& =
;= Finished date: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& =
;= Last modify date: &&&&&&&&&&&&&&&&&&&&&&&&&&&& =
;= Assemble encoder: Eric Lin&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& =
;============================================================
;==================================================
;&&&&&&&& REGISTER ADDRESS DEFINATION&&&&& =SFR地址
;==================================================
INTEN&&&& EQU&00H&&&&&&&&& ;中断使能寄存器
SMCR&&&& EQU&01H&&&&&&&&& ;系统模式控制寄存器
T0CTRL&&& EQU&02H&&&&&&&&& ;计数器0控制寄存器
T1CTRL&& EQU&03H&&&&&&&&& ;计数器1控制寄存器
TMR0L&& EQU&04H&&&&&&&&& ;计数器0低位寄存器
TMR0H&&&& EQU&& 05H&&&&&&&&& ;计数器0高位寄存器
TMR1L&& EQU&06H&&&&&&&&& ;计数器1低位寄存器
TMR1H&& EQU&07H&&&&&&&&& ;计数器1高位寄存器
SECOND&&& EQU&08H&&&&&&&&& ;秒寄存器
ALMSEC&&& EQU&09H&&&&&&&&& ;秒闹铃寄存器
MINUTE&& EQU&0AH&&&&&&&&& ;分寄存器
ALMMIN&& EQU&0BH&&&&&&&&& ;分闹铃寄存器寄存器
HOUR& && EQU&0CH&&&&&&&&& ;时寄存器
ALMHR&&&& EQU&& 0DH&&&&&&&&& ;时闹铃寄存器
ADCCTRL&& EQU&& 0EH&&&&&&&&& ;AD控制寄存器
ADCDATA&& EQU&& 0FH&&&&&&&&& ;AD数据寄存器
SMCR2 && EQU&11H&&&&&&&&& ;系统模式控制寄存器2
UARTCKL&& EQU&12H&&&&&&&&& ;异步时钟低位寄存器
UARTCKH&& EQU&13H&&&&&&&&& ;异步时钟高位寄存器
UARTCTRL& EQU&14H&&&&&&&&& ;异步时钟控制寄存器
UARTDATA& EQU&15H&&&&&&&&& ;异步时钟数据寄存器
SPICTRL&& EQU&& 16H&&&&&&&&& ;SPI控制端口
SPIDATA&& EQU&17H&&&&&&&&& ;SPI数据端口
PAF&& EQU&18H&&&&&&&&& A口其位寄存器
PACN&& EQU&19H&&&&&&&&& A口NMOS/CMOS输出驱动控制寄存器
PADIR && EQU&1AH&&&&&&&&& A口方向寄存器
PADATA&& EQU&1BH&&&&&&&&& A口数据寄存器
PBF&&&&&& EQU&& 1CH&&&&&&&&&& ;同上
PBCN&&&&& EQU&& 1DH
PBDIR&&&& EQU&& 1EH
PBDATA&&& EQU&& 1FH
;==================================================
;&&&&&&&& REGISTER ADDRESS DEFINATION END&&&&&&&& =
;==================================================
;---------------------------------------------------------------------------------------------------------------------------
;==================================================
;&&&&&&&& PROGRAM FLAG & PARAMETER DEFINATION&&&& =
;&& &&&&&& =
;==================================================
adL_flag&&&&&&&&& equ&&&& FEH
adH_flag&&&&&&&&& equ&&&& FFH
DELAY_FG1&&&&&&&& equ&&&& 401H
DELAY_FG2&&&&&&&& equ&&&& 402H
UARTDATA_temp&&&& equ&&&& 403H
SPIDATA_R_temp&&& equ&&&& 404H
SPIDATA_T_temp&&& equ&&&& 405H
count_flag&&&&&&& equ&&&& 406H&&
ROM_check_flag&&& equ&&&& 407H
RAM_check_flag&&& equ&&&& 408H&&
Check_sum_buffer0 equ&&&& 409H
Check_sum_buffer1 equ&&&& 40AH
Check_sum_buffer2 equ&&&& 40BH
Hchannel_temp_reg equ&&&& 40CH
;==================================================
;&&&&&&&& PROGRAM FLAG & PARAMETER DEFINATION END =
;==================================================
;---------------------------------------------------------------------------------------------------------------------------
;==================================================
;=&&&&&&& PROGRAM INITIAL SETTING&&&&&&&&&&&&&&&& =
;==================================================
&&&&&&&&& ORG&&&&&& 4000H&&&&&&&&&&& rogram initial from ROM address $4000H&&&
RESET:&&&&&&& &&&&&&& ;Setting Stack RAM
&&&&&&&&& sei&&&&&&&&&&&&&&&&&&&&&&& ;置位中断禁止标志I&&& 1→I
&&&&&&&&& ldx&&&& #FFH&&&&&&&&&&&&&& ;将FF送入寄存器X
&&&&&&&& ;设置堆叠&&&&&&&&&
&&&&&&&&& txs&&&&&&& &&&&&& ;将变址寄存器X的内容送入堆栈指针&&&&&&&&&&&&&&&
&&&&&&&&& stz&&&& INTEN&&&&&& ;中断使能寄存器 清零
&&&&&&&&& lda&&&& #b&&&&&&&& ;bit5=0 disable LVR, bit0~1=11 enable charge pump
&&&&&&&&& sta&&&& SMCR2&&&&&& ;将累加器A中的内容 ()送入SMCR2 (系统模式控制寄存器2)
&&&&&&&&& lda&&&& #b&&&&&&&& ;将()送入累加器A中,bit2=0 enable charge pump, bit0~1=11 FM/1 , bit6=1 enable 32.768Khz
&&&&&&&&& sta&&&& SMCR&&&&&&&&&&&&&& ;将累加器A中的内容 ()送入SMCR2 (系统模式控制寄存器2)&&&&&&
&&&&&&&&& stz&&&& T0CTRL&&&&&&&&&&&& ;T0CTRL寄存器清零
&&&&&&&&& stz&&&& T1CTRL&&&&&&&&&&&& ;T1CTRL寄存器清零&&&&&&&&&&&
;----------------------------------------------------
&&&&&&&&& ldx&&&& #0CH&&&&&&&&&&&&&& ;将FF送入寄存器X
Clear_ALL_Flag:
&&&&&&&&& stz&&&& $401H,x &&&&& ;
&&&&&&&&& dex&&&&&&&&&&&&&&&&&&&&&&& ;Clear RAM address& (X暫存器內容減1)
&&&&&&&&& bpl&&&& Clear_ALL_Flag&&&& ;若S = 0,则调到Clear_ALL_Flag处执行
;----------------------------------------------------&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;---------Timer1_setting-------------
&&&&&&&& lda&&&&&& #FFH&&&&&& ;将FF送入寄存器X
&&&&&&&& sta&&&&&& TMR1H&&&&& ;将累加器A中的内容 (FF) 送入TMR1H (计数器1高位寄存器)
&&&&&&&& lda&&&&&& #FFH&&&&&& ;将FF送入寄存器X
&&&&&&&& ;lda&&&&&& #00H&&&&&&&&&&&& ;Timer1 for 0.5ms buffer
&&&&&&&& sta&&&&&& TMR1L&&&&&&&&&&&& ;将累加器A中的内容 (FF) 送入TMR1L (计数器1低位寄存器)
;---------PA_OUT_setting-------------
&&&&&&&& lda&&&&&& #b&&&&& ;将()送入累加器A中
&&&&&&&& sta&&&&&& PADIR &&&&& ;将累加器A中内容 送入PADIR寄存器
&&&&&&&& lda&&&&&& #b&&&&& ;将()送入累加器A中
&&&&&&&& sta&&&&&& PACN &&&&& ;将累加器A中内容 送入PACN寄存器
&;----------------------------------------------------&
&&&&&&&& cli &&&&&&& ;置位中断禁止标志I&&& 1→I
&&&&&&&&&&&&&&&&&&&&&&&&&&
;==================================================
;&&&&&&&& PROGRAM INITIAL SETTING END&&&&&&&&&&&& =
;==================================================&&&&&&&&&&&&&&
;-------------------------------------------------------------------------------------------
;==================================================
;&&&&&&&& MAIN PROGRAM&&&&&&&&&&&&&&&&&&&&&&&&&&& =
;==================================================&
& jsr&&& Led_display
&&&&&&&& jsr&&&&&& Clr_EPD_Display&&&&&&&&&&& ;Displ初步显示清零。定格为全黑
&&&&&&&& jsr&&&&&& EPD_pattern1&&&&&&&&&&&&&& ;pattern black backgroun黑底白字模式&&&&&&&&
&&&&&&&& jsr&&&&&& Delay_1s&&&&&&&&&&&&&&&&&& rogram Delay 1延时1S
&&&&&&&& jsr&&&&&& Delay_1s
&&&&&&&& jsr&&&&&& Delay_1s
&&&&&&&& jsr&&&&&& Clr_EPD_Display&&&&&&&&&&& ;clear display pattern全屏有全白到全黑&&&&&&&
&&&&&&&& jsr&&&&&& EPD_pattern2&&&&&&&&&&&&&& ;pattern2 inverse the color of background and segement
&&&&&&&& jsr&&&&&& Delay_1s&&&&&&&&&&&&&&&&&& rogram Delay 1sec
&&&&&&&& jsr&&&&&& Delay_1s
&&&&&&&& jsr&&&&&& Delay_1s
& jsr&&& Led_display&
&&&&&&&& jmp&&&&&& main
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;==================================================
;&&&&&&&& MAIN PROGRAM END&&&&&&&&&&&&&&&&&&&&&&& =
;==================================================
;-------------------------------------------------------------------------------------------
;==================================================
;&&&&&&&&&&&&&&&&&& Macro&&&&&&&&&&&&&&&&&&&&&&&& =
;==================================================
;==================================================
;&&&&&&&&&&&&&&&& Macro End&&&&&&&&&&&&&&&&&&&&&& =
;==================================================
;==================================================
;&&&&&&&& SUBROUTINE&&&&&&&&&&&&&&&&&&&&&&&&&&&&& =
;==================================================
;===============Dispaly pattern2================
EPD_pattern2:
&&&&&&&&& pha &&&&& HA指令,功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
&&&&&&&&& php&&&&& HP指令,功能是把标志寄存器P的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
;--------White BG and Black Segement-------白底黑字模式
&&&&&&&&& lda&&&&& #b&&& &;将 b 送入寄存器X
&&&&&&&&& sta&&&&& Hchannel_temp_reg&&;将 b 送入 Hchannel_temp_reg
&&&&&&&&& jsr&&&&& EPD_fill_in&&&;转到 EPD_fill_in 执行
&&&&&&&&& lda&&&&& #b&&&;
&&&&&&&&& sta&&&&& $203CH&&&&&&&&&&&&& &&;SEG为低,BG为低,SEG为高
;--------White BG and Black Segement-------&&&&&&&&&
&&&&&&&&& lda&&&&& #b&&&&&&&&& &&;Enable All Hi-V channel read state from register&&
&&&&&&&&& sta&&&&& SMCR
&&&&&&&&& lda&&&&& #b&&&&&&&&& &&;Then all Hi-V channel latch out for synchronize
&&&&&&&&& sta&&&&& SMCR
&&&&&&&&& jsr&&&&& Delay_1s
&&&&&&&&& jsr&&&&& Delay_1s
&&&&&&&&& jsr&&&&& Delay_1s
&&&&&&&&& plp &&&& ;plp指令,功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送标志寄存器P
&&&&&&&&& pla &&&& ;pla指令,功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
&&&&&&&&& rts&&&& ;从子函数返回
;===============Dispaly pattern2================
;===============Dispaly pattern1================
EPD_pattern1:
&&&&&&&&& pha
&&&&&&&&& php
;--------Black BG and White Segement-------黑底白字
&&&&&&&&& lda&&&&& #b
&&&&&&&&& sta&&&&& Hchannel_temp_reg
&&&&&&&&& jsr&&&&& EPD_fill_in &&&
&&&&&&&&& lda&&&&& #b
&&&&&&&&& sta&&&&& $203CH&&&&&&& &;SEG为高,COM和BG为低(没有电压差时候维持原来的状态)
;--------Black BG and White Segement-------
pattern_modual:
&&&&&&&&& lda&&&&& #b&&&&&&&&& ;Enable All Hi-V channel read输出更新
&&&&&&&&& sta&&&&& SMCR
&&&&&&&&& lda&&&&& #b&&&&&&&&& ;Then all Hi-V channel latch 禁止输出更新
&&&&&&&&& sta&&&&& SMCR &
&&&&&&&&& jsr&&&&& Delay_1s
&&&&&&&&& jsr&&&&& Delay_1s
&&&&&&&&& jsr&&&&& Delay_1s
&&&&&&&&& plp
&&&&&&&&& pla
&&&&&&&&& rts
;===============Dispaly pattern1================
;===========Using Timer1 to Delay 1s============
&&&&&&&&& pha
&&&&&&&&& php
&&&&&&&&& lda&&&&& #b&&;将 b 送入 T1CTRL
&&&&&&&&& sta&&&&& T1CTRL
wait_timer1:&&&&&&&&&&
&&&&&&&&& lda&&&&& T1CTRL&&&&&&&&&&&&&& ;Delay subroutine for 1sec
&&&&&&&&& and&&&&& #80H
&&&&&&&&& beq&&&&& wait_timer1
&&&&&&&&& stz&&&&& T1CTRL
&&&&&&&&&&
&&&&&&&&& plp
&&&&&&&&& pla
&&&&&&&&& rts
;===========Using Timer1 to Delay 1s============&
;=============Clear_EPD_Display=================
Clr_EPD_Display:
&&&&&&&& pha
&&&&&&&& php
;------------Reflash to white-----------
&&&&&&&& lda&&&&&& #b
&&&&&&&& sta&&&&&& Hchannel_temp_reg&&
&&&&&&&& jsr&&&&&& EPD_fill_in
&&&&&&&& lda&&&&&& #b&&&&&&&&&&&& ;BG为低,COM,SEG为高
&&&&&&&& sta&&&&&& $203CH&&& ;&
;------------Reflash to white-----------& ;刷白
&&&&&&&& lda&&&&&& #b&&&&&&&&& ;Enable All Hi-V channel read所有的输出状态更新&&
&&&&&&&& sta&&&&&& SMCR
&&&&&&&& lda&&&&&& #b&&&&&&&&& ;Then all Hi-V channel latch禁止所有的状态更新
&&&&&&&& sta&&&&&& SMCR&&&&
&&&&&&&& jsr&&&&&& Delay_1s&&&&&&&&&& ;延时1S&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;-----------Reflash to black------------ ;刷黑
&&&&&&&& lda&&&&&& #b
&&&&&&&& sta&&&&&& Hchannel_temp_reg
&&&&&&&& jsr&&&&&& EPD_fill_in&&&&&&&&&&&&&
&&&&&&&& lda&&&&&& #b
&&&&&&&& sta&&&&&& $203CH&&&&&&&&&&&&& ;BG为高,COM和SEG为低
;-----------Reflash to black------------ ;刷黑
&&&&&&&& lda&&&&&& #b&&&&&&&&& ;Enable All Hi-V channel read state from register&&
&&&&&&&& sta&&&&&& SMCR
&&&&&&&& lda&&&&&& #b&&&&&&&&& ;Then all Hi-V channel latch out for synchronize&
&&&&&&&& sta&&&&&& SMCR
&&&&&&&& jsr&&&&&& Delay_1s
&&&&&&&& plp
&&&&&&&& pla
&&&&&&&& rts
;=============Clear_EPD_Display=================
;=============Fill in the same value============
EPD_fill_in:
&&&&&&&& pha
&&&&&&&& php
&&&&&&&& lda&&&&&& Hchannel_temp_reg&& ;
&&&&&&&& ldy&&&&&& #3CH&&&&&&&&&&&&&&& ;One register control two Hi-V channel (refer to spec.)and then all output High=36V&&&
store_loop:
&&&&&&&& sta&&&&&& $2000H,y
&&&&&&&& dey&&&&&&&&&&&&&&&&&&&&&&&&&& ;Storing the state into Hi-V channel control register from CH
&&&&&&&& bpl&&&&&& store_loop
&&&&&&&& plp
&&&&&&&& pla
&&&&&&&& rts
;=============Fill in the same value============
Led_display:
&&&&&&&& pha
&&&&&&&& php
&&&&&&&& lda&&&&& #b
&&&&&&&& sta&&&&& PADATA
&&&&&&&& jsr&&&&& Delay_1s
&&&&&&&& jsr&&&&& Delay_1s
&&&&&&&& jsr&&&&& Delay_1s
&&&&&&&& lda&&&&& #b
&&&&&&&& sta&&&&& PADATA
&&&&&&&& plp
&&&&&&&& pla
&&&&&&&& rts
;==================================================
;&&&&&&&& SUBROUTINE END&&&&&&&&&&&&&&&&&&&&&&&&& =
;==================================================
;-----------------------------------------------------------------------------------------------------------------------------------------------------
;==================================================
;&&&&&&&& INDEX TABLE&&&&&&&&&&&&&&&&&&&&&&&&&&&& =
;==================================================&&&&&&
;==================================================
;&&&&&&&& INDEX TABLE END&&&&&&&&&&&&&&&&&&&&&&&& =
;==================================================
;-----------------------------------------------------------------------------------------------------------------------------------------------------
;==================================================
;&&&&&&&& INTERRUPT SUBROUTINE&&&&&&&&&&&&&&&&&&& =
;==================================================
TIMER1_INT:
TIMER0_INT:
;===================================================
;&&&&&&&&& INTERRUPT SUBROUTINE END&&&&&&&&&&&&&&& =
;===================================================
;===================================================
;&&&&&&&&& VECTOR OF SYSTEM INTERRUPT&&&&&&&&&&&&& =
;===================================================&&
&&&&&&&&&&&& ORG&&&& $7FE0H
&& DW&&&& UART_INT
&&&&&&&&& DW&&&& URST_INT
&& DW&&&& ADC_INT
&& DW&&&& TIMER1_INT
&& DW&&&& TIMER0_INT
&& DW&&&& PB_INT
&& DW&&&&&&& PA_INT
&& DW&&&&&&& RTC_INT
&&&&&&&&&&&& ORG&&&& $7FFCH
&&&&&&&&& DW&&&&&&& RESET&&&&&
;===================================================
;&&&&&&&&& VECTOR OF SYSTEM INTERRUPT&&&&&&&&&&&&& =
;===================================================&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
主题帖子精华
新手入门, 积分 36, 距离下一级还需 -16 积分
在线时间0 小时
回复【5楼】斯就:
---------------------------------
真无私&但是能不能介绍几款好的电子纸屏啊&电子纸的详细资料啊
主题帖子精华
新手入门, 积分 36, 距离下一级还需 -16 积分
在线时间0 小时
回复【4楼】正点原子:
---------------------------------
O(∩_∩)O谢谢原子兄&找你好久啊
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间23 小时
回复【楼主位】xupujiang120:
---------------------------------
我的stm32电子纸套件很快就会出炉,到时候完全开源。
Powered by}

我要回帖

更多关于 单片机c语言编程300例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信