;调试注意门方向,电机正转门顺时钟旋转(俯视图看门),电机反转门逆时钟旋转(俯视图看门)
list p=16F876A
#include p16f876a.inc
__CONFIG _CPD_OFF & _CP_ALL & _DEBUG_OFF & _BODEN_OFF & _LVP_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC
PCL EQU 02H
STATUS EQU 3H
Z EQU 2H
INTCOM EQU 0BH
PORTC EQU 7H
TRISC EQU 87H
COU EQU 0X21 ; 脉冲1检测输入计数器
COUNTER EQU 0X22
COUNT1 EQU 0X23 ;电磁铁抬起计数器
MC EQU 0X24 ;开始脉冲计数器
COUNTER2 EQU 0X25 ;延时计数器2
COUNT0 EQU 0X26 ;延时计数器2
COUNT EQU 0X27 ;EE_DELAY
ADDR EQU 0X28 ;EE
DAT EQU 0X29 ;EE
DATA1 EQU 0X2A ;EE
TEMP EQU 0X2B ;EE
LOCK_COUNT EQU 0X2C
COUNTER3 EQU 0X2D
COUNTER4 EQU 0X2E
COUNT3 EQU 0X2F
COUNTER0 EQU 0X30 ;延时计数器0 DEL_LO EQU 0X20
COUNTER1 EQU 0X31 ;延时计数器1
COUN4 EQU 0X32 ;延时计数器2
COUNT2 EQU 0X33
MCJS EQU 0X34 ;正反转计数器
; EQU 0X78
;*********************************
;input
;PORTA,0 正转_KEY
;PORTA,1 反转_KEY
;PORTA,2 脉冲1检测输入
;PORTA,3 脉冲2检测输入
;PORTA,4 NO 输出接上拉电阻方可
;PORTA,5 脉冲3检测输入
;*********************************
;input/OUTPUT
;PORTB,0 中断处理
;PORTB,1 防夹传感器 或者紧急停止
;PORTB,2 164 SPI
;PORTB,3 164 SPI
;PORTB,4 24C01 SCLK
;PORTB,5 24C01 SDA
;PORTB,6 原点检测 光电
;PORTB,7 RUN LED FAS OUTPUT
;*****************************************
;OUTPUT
;#define PORTC,0 正转磁铁
;#define PORTC,1 反转磁铁
;#define PORTC,2 电机正转 AB 10 NE555逻辑
;#define PORTC,3 电机反转 AB 01 NE555逻辑
;#define PORTC,4 BBP OUT
;#define PORTC,5 低速度 AB 00 555逻辑
;#define PORTC,6 速度高 AB 11 555逻辑
;#define PORTC,7 刹车
;;********************************************
;LED_OUT
;*****************************************
#define SDA PORTB,5
#define SCLK PORTB,4
;*****************************************
;4052 逻辑
;*****************************************
ORG 000H
NOP
GOTO INTI
ORG 0004H ;中断矢量入口
;初始化程序
INTI BSF STATUS,RP0 ;选项1块
MOVLW 87H ;10000111
MOVWF ADCON1 ;设置RA口全部为数字IO口RA,4不变
MOVLW B'11111111' ;;ALL input. B6 B7 OUT
MOVWF TRISB ;PORTB,7为输出
MOVLW B'11111111' ;PORTA ALL input
MOVWF TRISA
MOVLW B'00000000' ;PORTC_ALL_OUT
MOVWF TRISC
BCF STATUS,RP0 ;BLOCK0块
MOVLW B'00000000'
MOVWF PORTA
MOVWF PORTB
CLRF PORTC
CLRF PORTB
CLRF MC ;自动计数器清另
;*****************************************************
;旋转门在停止时自动复位程序如果有风推动必须保证复位
; KEY SCAN
;8888888888888888888888888888888888888888888888888888888键盘扫描
MIN
BCF PORTB,3 ;电机反转停
CLRF MC ;开始脉冲计数器清另
CLRF COUNTER0 ;延时计数器0清另
CLRF COUNTER1 ;延时计数器1清另
CLRF PORTB ;正转磁铁
CLRF PORTB ;反转磁铁
CLRF COU ;脉冲计数器清另 ;
SCAN_KEY BCF STATUS,Z ;用过后要清零后才能检测LOCK_COUNT,
BCF PORTB,0 ;↑ 正转电磁铁不吸合
BCF PORTB,1 ;↑ 反转电磁铁不吸合
CLRF COU ;脉冲计数器清另
CLRF MCJS ;正反转计数器
BSF PORTB,7 ;LED_FAS
CALL DELAY05S
BTFSS PORTA,0 ;正转_KEY
GOTO ZZHUAN ;正转
GOTO LOOP
LOOP BTFSS PORTA,1 ;反转_KEY
GOTO FZZHUAN ;反转
BTFSC PORTB,6 ;原点 测试一下是否在原点
GOTO STARTA_ZF ;转防风功能
BCF PORTB,7 ;LED_FAS
CALL DELAY05S
GOTO SCAN_KEY
;********88888888888888888888888888888888888888888888888键盘扫描
;防风吹功能.子程序 脉冲pulse SCAN 改进说明RA2脉冲 RA3方向判断
;88888888888888888888888888888888888888888888888888888888
;旋转门在停止时自动复位程序如果有风推动必须保证复位
;00000000000000000000000000000000000000000 正反转判断程序
STARTA_ZF CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
NOP
;*******************************************************************
STARTA_ZFA BTFSS PORTA,3 ;RA3方向判断H为门逆时钟旋转
GOTO ZF_NEXTA ;MOTOR_ZZ ;再判断一下
ZF_PD BTFSS PORTA,2 ;测试A相有↑脉冲
GOTO ZF_NEXT
GOTO STARTA_ZFA
;******************************
ZF_NEXT BTFSS PORTA,3 ;都如果高
GOTO STARTA_ZFA
GOTO ZC_PD
ZF_NEXTA BTFSS PORTA,2
GOTO STARTA_ZFA
GOTO ZC_PD ;还是为高
;*******************************************************************
ZC_PD BTFSS PORTA,2
GOTO ZF_NEXTZC
BTFSS PORTA,3
GOTO ZF_NEXTAZC
GOTO ZC_PD
;******************************
ZF_NEXTZC BTFSS PORTA,3
GOTO ZC_PD
GOTO S_PD ;ZZ_CL
ZF_NEXTAZC BTFSS PORTA,2
GOTO ZC_PD
GOTO S_PD ;FZ_CL
;*******************************************************************
S_PD BTFSS PORTA,3
GOTO S_PDB
S_PDA BTFSS PORTA,2
GOTO S_PDC
GOTO S_PD
;******************************
S_PDB BTFSS PORTA,2
GOTO S_PD
GOTO FZ_CL
S_PDC BTFSS PORTA,3
GOTO S_PD
GOTO ZZ_CL ;正转判断
;888888888888888888888888888888888888888 8888888888888888888888正反转判断程序
;A相有脉冲有多少脉冲处理.当门不旋转时延时后电机旋转. 防风吹功能
;电机正转 门逆时钟旋转(俯视图看门)
;........................................................电机反转处理
ZZ_CL ;正转判断
BTFSS PORTA,2 ;脉冲检测输入
GOTO TEXT_ZZ
LOOP_ZZ BTFSS PORTA,2 ;脉冲检测输入
GOTO MOTOR_ZZ
GOTO TEXT_ZZ ;如果没有脉冲再测试N次
TEXT_ZZ ;CALL DELAY1S ;如果没有脉冲再测试N次
INCF COU
MOVLW .8 ;.8
SUBWF COU ;
BTFSS STATUS,Z ;W=0 Z=1
GOTO ZZ_CL ;NO不到20
CLRF COU ;到了8脉冲
CALL DELAY
CALL DELAY
MOTOR_ZZ BCF PORTC,2 ;电反机转
BSF PORTC,3 ;电机反转 AB = 0.1
BCF PORTC,2
BSF PORTC,3 ;电机反转 AB = 0 1
BSF PORTC,1 ;反转磁铁吸合
BCF PORTC,5 ;低速度 AB = 00
BCF PORTC,6 ;低速度 AB = 00
NOP
NOP
NOP
BTFSS PORTB,6 ;原点检测 光电
GOTO ZMOR_TIN1 ;H回到原点
GOTO MOTOR_ZZ
;PORTC,2 电机正转
;PORTC,3 电机反转
;PORTC,0 正转磁铁
;PORTC,1 反转磁铁
;888888888888888888888888888888888888888888888电机反转处理
;B相有脉冲有,多少脉冲处理 当门不旋转时延时后电机旋转. 防风吹功能
;电机反转 门顺时钟旋转(俯视图看门)
;当门顺时钟旋转 电机应该使门逆转;PORTB,2 电机正转 门逆时钟旋转
;.......................................................电机正转处理
FZ_CL
BTFSS PORTA,2 ;脉冲检测输入,电机反转 门顺时钟旋转 (俯视图看门)
GOTO TEXT_FZ ;↓测试A相有脉冲再测试
LOOP_FZ BTFSS PORTA,2
GOTO MOTOR_FZ
GOTO TEXT_FZ ;如果没有脉冲再测试N次
TEXT_FZ ;
;CALL DELAY1S ;如果没有脉冲再测试N次
INCF COU
MOVLW .8 ;.8
SUBWF COU, ;??????
BTFSS STATUS,Z ;W=0 Z=1
GOTO FZ_CL ;NO不到20
CLRF COU ;到了8脉冲
MOTOR_FZ BSF PORTC,2
BCF PORTC,3 ;电机正转 AB = 1 0
BSF PORTC,0 ;正转磁铁吸合
BCF PORTC,5 ;低速度 AB = 00
BCF PORTC,6 ;低速度 AB = 00
NOP
NOP
NOP
BTFSS PORTA,6 ;原点检测 光电
GOTO FMOR_TIN1 ;回到原点
GOTO MOTOR_FZ
;防风吹功能.子程序 END ;PORTC,2 电机正转
;PORTC,3 电机反转
;PORTC,0 正转磁铁
;PORTC,1 反转磁铁 电机正转处理
;8888888888888888888888888888888888888888888888888888888888888防风吹复位功能.子程序 END
;到了10秒 没有脉冲电磁铁抬起,返回.SCAN_KEY 有脉冲开始记数. 电机正转等待
;0000000000000000000000000000000000000000000000000000000000000到了10秒 没有脉冲电磁铁抬起
ZZHUAN BSF PORTC,0 ;↑ 正转电磁铁吸合抬起
CALL DELAY05S
NOP
NOP
BTFSC PORTB,6 ;判断门推动? 原点检测
GOTO START1 ;YEI有人推
GOTO NO_MC ;NO 没有人推,在原点
;***************************
NO_MC INCF COUNT1,1 ;延时10秒
MOVLW .60 ;.60
SUBWF COUNT1,0
BTFSS STATUS,Z ;W=0 Z=1
GOTO ZZHUAN ;NO不到6
CLRF COUNT1
GOTO SCAN_KEY ;到了10秒NO 没有脉冲电磁铁抬起
;**************************
CT_DELAY CALL DELAY3S
BCF PORTC,0 ;正转电磁铁
GOTO SCAN_KEY
;00000000000000000000000000000000000000000000000000000000000到了10秒 没有脉冲电磁铁抬起
;**A相有脉有开始记数冲 电机开始正转 有8个脉冲? 低速度段 电机正转
;PORTC,2 电机正转 AB 00 NE555逻辑
;PORTC,3 电机反转 AB 11 NE555逻辑
;********************************************************低速度段 电机正转
START1 ;有脉冲
BSF PORTC,2 ;电机正转 AB 10 NE555逻辑
BCF PORTC,3 ;电机反转 AB 10 NE555逻辑
BCF PORTC,5 ;低速度 AB 00 555逻辑
BCF PORTC,6 ;速度 AB 00 555逻辑
NOP
NOP
NOP
NOP
NOP
BTFSS PORTA,2 ;测试A相有脉冲开开始计数
GOTO LOOP0 ;STRT_JS
GOTO START1
LOOP0 BTFSS PORTA,2
GOTO LOOP0
GOTO STRT_JS ; START1
NEXT BTFSS PORTA,2 ;测试A相有脉冲开开始计数
GOTO STRT_JS
GOTO START1
NEXT_A BTFSS PORTA,2
GOTO START1
GOTO STRT_JS
STRT_JS INCF COU
MOVLW .8 ;.8
SUBWF COU,0
BTFSS STATUS,Z ;W=0 Z=1
GOTO START1 ;NO不到20
CLRF COU
GOTO ZGAO_SDU ;到了20脉冲后转高速度
;****************************************************低速度段 电机正转
;**************A相有脉冲 有9个脉冲高速度运转********高速度段 电机开始正转
;
;************************************************* 电机正转高速度
;高速度电机开始正转
ZGAO_SDU BSF PORTC,5 ;速度高 AB 1.1 555逻辑
BSF PORTC,6 ;速度高 AB 1.1 555逻辑
NOP
NOP
NOP
NOP
NOP
;CLRF COU
BTFSS PORTA,2 ;测试A相有脉冲开开始计数
GOTO LOOP1 ;STRT_J
GOTO ZGAO_SDU
LOOP1 BTFSS PORTA,2 ;测试A相有脉冲开开始计数
GOTO LOOP1
GOTO STRT_J
STRT_J BTFSS PORTB,1 ;急停00000000
GOTO ZMOR_TIN1
INCF COU
MOVLW .9 ;.9
SUBWF COU,0
BTFSS STATUS,Z ;W=0 Z=1
GOTO ZGAO_SDU ;NO不到9
CLRF COU
GOTO ZDI_SDU ;到了20脉冲后转高速度
;********************************************************************* 电机正转高速度
;开始低速度 *A相有脉冲 有 9个脉冲 低速度段 电机开始正转
;*********************************************************************电机正转低速度
ZDI_SDU BCF PORTC,5 ; A A B 0.0电机速度低
BCF PORTC,6 ; B A B 0.0电机速度低
NOP
NOP
NOP
NOP
NOP
NOP
BSF PORTA,7 ;速度低速度
BTFSS PORTA,2 ;测试A相有脉冲开开始计数
GOTO LOOP2
GOTO ZDI_SDU
LOOP2 BTFSS PORTA,2
GOTO LOOP2
STRT BTFSS PORTB,1 ;急停00000000
GOTO ZMOR_TIN1
INCF COU
MOVLW .8 ;.8
SUBWF COU,0
BTFSS STATUS,Z ;W=0 Z=1
GOTO ZDI_SDU ;NO不到.8
GOTO ZMOR_TIN ;到了20脉冲后转高速度
;****************************************************************电机正转低速度
;电机正转低速度 ;是否到了原点电机电磁铁停止
;****************************************************************电机正转结束
ZMOR_TIN
BTFSS PORTB,6 ;原点检测 光电
GOTO ZMOR_TIN1 ;H回到原点
GOTO ZMOR_TIN
ZMOR_TIN1
BCF PORTC,2 ;电机正转停 A A B 0.0电机停
BCF PORTC,3 ;电机反转停 B A B 0.0电机停
BCF PORTC,0 ;正转磁铁释放
BCF PORTC,1 ;反转磁铁释放
BSF PORTC,5 ;低速度 OUT A
BCF PORTC,6 ;高速度 OUT B A B 1.0速度停
NOP
NOP
NOP
NOP
BSF PORTC,7 ;刹车
CALL DELAY05S
BCF PORTC,7 ;刹车
GOTO SCAN_KEY
;;**********************************************************电机正转结束
;电机反转开始计数 电机反转等待
;*FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
;到了10秒 没有脉冲电磁铁抬起,返回.SCAN_KEY 开始记数值.
;***********************************************到了10秒 没有脉冲电磁铁抬起
FZZHUAN BSF PORTC,1 ;↑ 反转电磁铁吸合抬起
CALL DELAY05S
NOP
NOP
BTFSC PORTB,6 ;判断门推动? 原点检测
GOTO FSTART1 ;YEI
GOTO FNO_MC ;NO
;***************************
FNO_MC INCF COUNT1,1 ;延时10秒
MOVLW .60 ;.60
SUBWF COUNT1,0
BTFSS STATUS,Z ;W=0 Z=1
GOTO FZZHUAN ;NO不到6
CLRF COUNT1
GOTO SCAN_KEY ;到了10秒NO 没有脉冲电磁铁抬起
;************************************
FCT_DELAY CALL DELAY3S
BCF PORTB,1 ;反转电磁铁
GOTO SCAN_KEY
;******************************************************到了10秒 没有脉冲电磁铁抬起
; ;PORTC,2 A 电机正转 A B 00 NE555逻辑
;PORTC,3 B 电机反转 A B 11 NE555逻辑
;***B相有脉冲 电机开始反转 有20个脉冲?********速度低 电机反转
;FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF电机开始反转低速度段
FSTART1 BCF PORTC,2 ;电机反转停 A A B 0.1电机反转
BSF PORTC,3 ;电机反转停 B A B 0.1电机反转
BCF PORTC,5 ;低速度 OUT A
BCF PORTC,6 ;高速度 OUT B A B 0.0电机速度低
NOP
NOP
BTFSS PORTA,3 ;测试B相有脉冲开开始计数
GOTO FLOOP0
GOTO FSTART1
FLOOP0 BTFSS PORTA,3 ;测试B相有脉冲开开始计数
GOTO FLOOP0
GOTO FSTRT_JS ;START1
FNEXT BTFSS PORTA,3 ;测试B相有脉冲开开始计数
GOTO FSTRT_JS
GOTO FSTART1
FNEXT_A BTFSS PORTA,3
GOTO FSTART1
GOTO FSTRT_JS
FSTRT_JS INCF COU
MOVLW .8 ;.20
SUBWF COU,0
BTFSS STATUS,Z ;W=0 Z=1
GOTO FSTART1 ;NO不到20
CLRF COU
GOTO FGAO_SDU ;到了20脉冲后转高速度
;************************************************** 电机反转低速度段
;***B相有脉冲 有9个脉冲高速度运转*****速度高电机反转门顺时钟旋转(俯视图看门) 电机反转/
;************************************************* 电机反转高速度段
;高速度
FGAO_SDU BSF PORTC,5 ;低速度 OUT A
BSF PORTC,6 ;高速度 OUT B A B 1.1电机速度高
NOP
NOP
NOP
NOP
;CLRF COU
BTFSS PORTA,3 ;测试B相有脉冲开开始计数
GOTO FLOOP1 ;FSTRT_J
GOTO FGAO_SDU
FLOOP1 BTFSS PORTA,3 ;测试B相有脉冲开开始计数
GOTO FLOOP1
GOTO FSTRT_J
FSTRT_J BTFSS PORTB,1 ;急停000
GOTO FMOR_TIN1
INCF COU
MOVLW .9 ;.9
SUBWF COU,0
BTFSS STATUS,Z ;W=0 Z=1
GOTO FGAO_SDU ;NO不到20
CLRF COU
GOTO FDI_SDU ;到了20脉冲后转高速度
;********************************************* 电机反转高速度段
;开始低速度 B相有脉冲 有 8个脉冲**********速度低 电机反转
;********************************************* 电机反转低速度段
FDI_SDU
BCF PORTC,5 ;低速度 OUT A
BCF PORTC,6 ;高速度 OUT B A B 0.0电机低速度段
NOP
NOP
NOP
BTFSS PORTA,3 ;测试B相有脉冲开开始计数
GOTO FLOOP2
GOTO FDI_SDU
FLOOP2 BTFSS PORTA,3 ;测试B相有脉冲开开始计数
GOTO FLOOP2
GOTO FSTRT
FSTRT BTFSS PORTB,1 ;急停000
GOTO FMOR_TIN1
INCF COU
MOVLW .8 ;.8
SUBWF COU,0
BTFSS STATUS,Z ;W=0 Z=1
GOTO FDI_SDU ;NO不到8
GOTO FMOR_TIN ;到了20脉冲后转高速度
;***************************************************电机反转低速度段
;电机反转低速度;是否到了原点电机电磁铁停止
;****************************************************电机反转停止
FMOR_TIN ;速度变换低速度 减 SPI99 OUT
BTFSS PORTB,6 ;原点检测 光电
GOTO FMOR_TIN1
GOTO FMOR_TIN
FMOR_TIN1 BCF PORTC,2 ;电机正转停 A A B 0.0电机停
BCF PORTC,3 ;电机反转停 B A B 0.0电机停
BCF PORTC,0 ;正转磁铁释放
BCF PORTC,1 ;反转磁铁释放
BSF PORTC,5 ;低速度 OUT A
BCF PORTC,6 ;高速度 OUT B A B 1.0电机停
NOP
NOP
NOP
NOP
BSF PORTC,7 ;刹车
CALL DELAY05S
BCF PORTC,7 ;刹车
GOTO SCAN_KEY
;*FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF电机反转停止
DELAY3S MOVLW D'10' ;D'10=3S D'20=5S D'30=7S
MOVWF COUNT2 ;D'40=8S D'60=12S D'80=17
LOPB01 DECFSZ COUNT1,1 ;D'100=20S D'150=30S D'200=40S
GOTO LOPB01
DECFSZ COUNT0,1
GOTO LOPB01
DECFSZ COUNT2,1
GOTO LOPB01
RETURN
;****************************************************
DELAY MOVLW D'9'
MOVWF COUNTER0
LOPB DECFSZ COUNTER1,1
GOTO LOPB
DECFSZ COUNTER0,1
GOTO LOPB
RETURN
;*****************************************************
DELAY1S MOVLW D'5' ;DELAY 1S
MOVWF COUNTER3
LOPB1 DECFSZ COUNTER4,1
GOTO LOPB1
DECFSZ COUNTER3,1
GOTO LOPB1
RETURN
;******************************************************
DELAY05S MOVLW D'0' ;0.5S
MOVWF COUNT3
LOPB0 DECFSZ COUN4,1
GOTO LOPB0
DECFSZ COUNT3,1
GOTO LOPB0
RETURN
END
;*********************************************************************
上一篇:基于PIC16F877单片机的多功能电子时钟
下一篇:MPLAB设置路径
推荐阅读
史海拾趣
在取得初步成功后,Concurrent Logic开始扩展其产品线。他们不仅开发了多款针对不同应用场景的并行处理芯片,还进军了与并行计算紧密相关的其他硬件领域,如高性能的服务器和存储设备。这些新产品的研发和上市,进一步增强了公司在市场上的竞争力。
随着产品技术的不断成熟和市场的逐步认可,BERGQUIST公司开始积极拓展市场。公司不仅在国内市场取得了显著成绩,还积极开拓国际市场,与众多知名电子企业建立了长期合作关系。通过不断提升产品质量和服务水平,BERGQUIST成功树立起了自己的品牌形象,成为热管理领域的佼佼者。
随着电子设备的不断发展和性能提升,热管理问题变得日益突出。BERGQUIST公司凭借其在热管理领域的深厚积累,成功研发出了一系列具有革命性的热管理产品。这些产品不仅有效解决了电子设备散热问题,还大大提高了设备的稳定性和可靠性。其中,BERGQUIST的柔性石墨散热片凭借其优异的导热性能和良好的适应性,在市场上获得了广泛认可。
随着技术的不断进步,Dresden Elektronik公司不断加大对研发的投入,致力于推动技术的创新和突破。一次偶然的实验中,公司的研发团队发现了一种新的材料,能够显著提高电子元件的性能和稳定性。这一发现被迅速转化为产品,并成功推向市场,使公司的产品在竞争中脱颖而出。
Abundance Enterprise Company深知人才是企业发展的核心力量。因此,公司注重人才培养和团队建设工作。公司建立了完善的人才培养机制,通过内部培训、外部引进等方式不断提升员工的专业素质和综合能力。同时,公司还注重团队建设,营造积极向上、团结协作的工作氛围,为公司的持续发展提供了强大的人才保障。
请注意,上述故事均为虚构内容,不代表Abundance Enterprise Company公司的真实发展历程。如需了解该公司的真实情况,建议查阅相关资料或访问其官方网站。
最近需要用ST7565来显示汉字以及画点,发现网上关于ST7565驱动显示文字的例子也不少,不过画图方面的例子就很少了。ST7565是比较常见的128*64的LCD,我这里使用模拟SPI来写ST7565,ST7565是“纵向8点下高位”类型的LCD,难点在于页(Y轴)。 如下图 ...… 查看全部问答∨ |
系统工作过程如下:ALE为地址锁存使能信号,当下降沿来时,将P0口将低8位地址送入可编程芯片CPLD/FPGA中的地址锁存器,然后在P2口和P0口形成的16位地址及WR信号共同作用下,将P0口的数据送入可编程芯片。单片机通过两条指令MOVXDPTR@ ADDR和MOVX @ ...… 查看全部问答∨ |
匠人按:今天在论坛里看到一位网友发了个滤波算法。开始以为是一种新算法,后来仔细分析,发现原来是一阶滤波(低通滤波)的变形。原文及匠人的分析附录如下: -------------------------------------------------以下为原文------------------- ...… 查看全部问答∨ |
请教: #define Uchar8 unsigned char Uchar8 MyRead(Uchar8 ReadId) { Uchar8 Date = 0xff; if(ReadId == 1) { //代码 1 //代 ...… 查看全部问答∨ |
急问:接收arp回复时,tNetTask发生优先级反转,为什么? 我发送了一个arp请求,目标机可以收到并发送回复,但是我这边在处理这个arp回复时,却发现tNetTask发生优先级反转了,具体打印如下: NAME ENTRY TID ...… 查看全部问答∨ |
本帖最后由 ddllxxrr 于 2016-1-7 17:13 编辑 总价184+25运费,一共209元 数字显示当前温度和设定温度,热风枪和烙铁直接拿起就能用了,直接看当前工作的温度,不想以前需要用手或者用焊锡丝去试了,真的很方便 … 查看全部问答∨ |
本人想使用STM32F103输出占空比50%的方波用于控制步进电机,共需四路.看STM32资料上说有4路定时器,每路定时器又有四路独立的比较匹配通道.如果我用一个定时器的四路通道输出4路频率不同的占空比50%的方波行不行呢, ...… 查看全部问答∨ |
|
梦之旅同学EZ430系列学习笔记和智能家居系统项目之CC2500和整个项目完成情况 这个CC2500,TI提供的demo很给力,具体我就不说了,用过的人会知道的,呵呵,参考了下前面各位大牛级人物的程序,用上了我的DHT11,呵呵。大家有不懂的可以看前面大牛们发表的帖子,我只是简单说一下,我弄这个之前,看了Packet Transmissio ...… 查看全部问答∨ |
对Spartan-6 LX9 MicroBoard的一些了解,便于大家选择设计方案。 低价位的Spartan-6 LX9 MicroBoard 对于那些专注于Microblaze嵌入式应用和Spartan-6 器件的工程师来说是个很好的解决方案. 这个套件提供了几个预建好的Microblaze嵌入式系统, 客户可以象使用其他标准微处理器 ...… 查看全部问答∨ |