自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (24)
  • 收藏
  • 关注

原创 讨论孩子教育问题

不知不觉,孩子已经长大,虽然感到很欣慰,但在教育方面却无从下手;如有经过有好的建议或者经验者,请不吝赐教,写在评论处,这样也方便他人阅读,万分感谢!

2017-02-14 14:54:31 514 1

原创 程序的模块化的一些见解6-读牛人代码之感

今天看来一位牛人的程序,说是牛人,一点不夸张,在行业做了10年多,平时做的项目快问题少,因为他有自己的成熟模块,自己也很熟悉,而且还是用汇编写的程序,在控制方面很多客户见了之后,经常毫不犹豫选择他的程序控制。虽然我入行也有3、4年,但就是很难看懂他的程序,个人觉得原因:1:没有注释2:缺少沟通 3:自己理解能力有限4:分格不一样。 

2014-07-09 17:28:33 1148

原创 无线模块 RXB12-315m TXB12-315M 应用

最近有个产品用到这对模块,由于没有什么技术支持,就直接上机调试,测试结果为带障碍发射距离60米。以下是应用的几个知识点:1:编程操作,其实比较简单,调制信号315M是模块自带的,不需要调制和解调,我们只需控制自己的协议即可,我用的是红外发射的协议来控制。2:发射位和接受位是相反的,即你发送一个1,接受的是03:天线 ,这个也重要,关系到发射的距离和稳定性,可

2014-06-23 11:15:59 1971

原创 中颖内带LED资源驱动代码

//上一篇写了LCD驱动,本篇写下LED驱动//DISPCON 最高位为1时, 选择LED驱动,LCD驱动无效 最高位为0时, 选择LCD驱动,LED驱动无效 void Sh79fLed_Init(void){ uint8 i ; Bank0; DISPCLK0 = 0x6e;//0X6E //帧频率 64HZ 此设置无效 DISPCLK1 = 0x01;//0X01

2014-06-13 16:11:51 1832

原创 中颖内带LCD资源驱动代码

uint8 xdata LCDBuf[19] _at_ 0x1e0; //LCD RAM 地址 480-224//LCD模式选择#define LcdMode0 0x00 //传统电阻型 偏置和225K/900K#define LcdMode1 0x01 //传统电阻型 偏置和60K#define LcdMode2 0x02 //快速充电型 偏置于60K 与 225K/900K间

2014-06-13 15:49:39 2591

原创 中颖AD操作

#define ADC_DIS 0#define ADC_ENB 1 //ADC通道号定义#define ADC_Chanel0 (unsigned char)(0x00<<1)#define ADC_Chanel1 (unsigned char)(0x01<<1)#define ADC_Chanel2 (unsigned char)(0x02<<1)#

2014-06-13 11:56:33 2362

原创 中颖系统时钟初始化

/*1:中颖79f系列有4中振荡类型,4个震荡IO,可以从4中振荡类型中产生1种或者2中时钟。2:4种振荡类型:32.768KHZ,晶振谐振器,陶瓷谐振器,内服RC(12M/128K/12.3M)振荡器.3:编程时,振荡类型由编译选项选择确定。4:系统时钟控制器 CLKCON 具体资料可看datasheet5:具体操作如下:*///====时钟分频===== #defi

2014-06-12 17:28:14 2051

原创 中颖IO口初始化

虽然简单,但对于初学者还是有一定的帮助。#define Bank0 INSCON &= 0xbf#define Bank1 INSCON |= 0x40Bank0;//Bank0内操作P0 =Bin(10000100);P0CR =Bin(10000100);//0为输入 ,1为输出P0PCR   =   Bin(01000000);//上拉P0 =

2014-06-12 17:08:21 2637 1

原创 中颖EEPROM 操作

/* 中颖EEPROM,使用比较方便,但有个注意点,就是每次无论你写入 什么数据或者在哪个地址写数据,都需要将对 对应的块擦除,擦 除后才能写入成功。*///数据区 扇形区1#define ADDR_START1 (uint16)0x100 //数据存储区起始地址#define ADDR_START2 (uint16)0x200 //数据存储区起始地址//数据区

2014-06-10 11:19:25 3829 1

原创 程序模块化的阶段性总结

好程序员不一定能写出好博文,但能写出好博文的一定是好程序员。因为我觉得我一直没有能把文字表达清楚,我在我的博文里也提到过,当然了,我并不是一个很好的程序员,但我一直努力着改变自己,只求每天会更好一点。       好了,不多说多余的了。我想了想,选择的主题是程序模块会的见解——主要是对近期发表的程序模块会的见解总结下,

2014-06-09 22:15:11 2775 1

原创 中颖TIM4定时初始化

//==timer4 define=====#define TIM4_DIV1 0X00#define TIM4_DIV8 0X01#define TIM4_DIV64 0X02#define TIM4_DIV256 0X03#define Timer4_Cnt_Enb Bank1;T4CON |= (1<<1) //允许计数#define Timer

2014-06-09 16:47:47 1821 1

原创 程序的模块化的一些见解5-移植性-实例说明

我一直以来认为技术性的文档很重要,但事实上我做得不好,主要是我想做,但我做得不够仔细,不够清晰,不够完整。不过,我一直在改善着,希望各位多多指点。  今天我想表达的是一个关于程序模块化的移植性,通过一个实例来描述。说得好,大家顶一下,说得不好,大家顶两下,嘻嘻。函数功能很简单:扫描LED  LED的显示有不亮、闪烁、常亮 3种方式,其中闪烁次数是有规定的,我的是3次(具体是 闪烁3次,周期

2014-06-09 11:23:34 1575 1

原创 华摄氏度和摄氏度的转换小数点处理 单片机

上一篇博客写到 华摄氏度和摄氏度的相互转换,有个细节要注意下,嘻嘻,细节决定成败。由于是无符号整型的运算,这里涉及到的小数点的处理,即四舍五入的处理,不然,小数部分就被直接去掉了,如果结果是65.8,当然,你要的结果是66,而不是65,对吧?具体为如果CelEquVal  * 9 / 5 + 32 运算后的小数大于等于0.5 ,预算后的结果应该再加1,才更接近运算值。我是这么处理的,现将被除数

2014-06-07 21:11:22 3816 1

原创 华摄氏度和摄氏度的转换 华摄氏度转化摄氏度 使用带运算的宏定义

定义:摄氏度:CELSIUS EQUALS         华氏度:FAHENHEIT EQUALS彼此间的转换很容易,如下:           将摄氏度转成华氏度:将摄度以氏直接乘以9,除5,再加上32         华氏度转成摄氏度:将华氏度减去32,乘以5再除以9写成公式:CelEquVal --摄氏度FahEquVal

2014-06-07 19:29:16 9913

原创 关于逻辑或的一个小小应用注意点

这两天在完成一个新的项目,由于是新的,所以,很多都是重新写的,其中发现自己犯了一个比较低级的错误,弄了大半天,原来是写的格式错误,具体如下,希望其他博友不要和我一样,导致浪费时间在修改BUG,更重要的是影响心情。主要目的:如果 A 等于 6 或者 A 等于 8 ,B等于 9 否则 B 等于 10;当然,以上是我简化后的表达。错误写法:if(A == (6 ||

2014-06-07 18:38:41 1015 1

原创 程序的模块化的一些见解4

显示调试程序中,往往会遇到这样的情况,需要增加修改一个程序,

2014-06-04 21:32:26 1040

原创 程序的模块化的一些见解3

现在的产品,往往不能一次性完成程序,客户体验后一般都会增加  或者修改程序。对于新增加的程序,我会常常增加多一个标志位或者  几个标志位来完成,因为这样比较直观容易理解,但逻辑性往往没有  那么好,致命的是,由于标志位没有及时清除,可能后果不堪设想,  当然,有经验的程序员往往会想到这个问题,就是增加时候,也考虑  了清除标志位。 因此,对于功能性比较重要的,还是建议完全理解

2014-05-31 08:33:45 1388

原创 多功能检测按键-3 按键扫描 单按 长按 多个按键 响应方式

/***************************************// 函数功能:按键扫描//这是我第三次对按键扫描的优化,为什么我要这么做呢,很简单,//我只想将简单的事情不断完善好//第一次发表:http://blog.csdn.net/chuangwu2009/article/details/9466715//第一次发表:http://blog.csdn.net/ch

2014-05-23 10:34:10 4358 2

原创 常见可控硅带驱动 光耦 三极管 电阻三种方式

常见可控硅带驱动 光耦 三极管 电阻三种方式,注意共的线哦

2014-05-21 08:09:19 9283

原创 STM8S PWM 应用 呼吸灯

//主功能接受:使用MCU STM8S105C6 的PWM通道2 PC2 来做呼吸灯 已经验证OK,呵呵,这个PWM设置刚开始用还是有点麻烦,因为是自己摸索,花点时间,还是攻克了。//所用子函数都是调用STM8S的库函数stm8s_tim.c 中的。宏定义://分频宏//计数器的时钟频率(fCK_CNT)等于fCK_PSC/( PSCR[15:0]+1)。#define TIM

2014-05-20 11:41:11 11425 2

原创 STM8S 串口应用 UART2 STM8S105

//少说话,多做事,以下是我验证过没有问题的串口发送接受数据//使用MCU stm8s105c6 UART2void UART2_DeInit(void){ u8 dummy = 0; /*< Clear the Idle Line Detected bit in the status rerister by a read to the UART2_SR re

2014-05-19 10:07:44 11792

原创 STM8S AD转换

//不说那么多了,直接上程序void ADC1_DeInit(void){ ADC1->CSR = ADC1_CSR_RESET_VALUE; ADC1->CR1 = ADC1_CR1_RESET_VALUE; ADC1->CR2 = ADC1_CR2_RESET_VALUE; ADC1->CR3 = ADC1_CR3_RESET_VALUE;

2014-05-19 09:00:28 5042

原创 程序员的德智体美劳

当与人争执时:我们能做到德 当任务艰巨时:我们体现智 当经常加班时:我们要注意体 当在写代码时:我们要注重美 当生活混乱时:我们要劳逸结合

2014-05-18 18:14:26 1313 4

原创 STM32学习笔记3-IO配置输入输出

STM32的IO配置时没什么特殊的,有个注意点就是实用IO前需要先打开其时钟线,以下是验证过oK的程序:  RCC->APB2ENR|=GpioBApb2enrEn; //使能PORTB时钟 GPIOB->CRL&=GpioBitClrM5_13; // IO的模式清零 GPIOB->CRL|=GpioBit5PP;//PB.5 推挽输出 GPI

2014-05-18 17:06:58 2739

原创 STM32学习笔记2-系统时钟知识及程序配置

一:基本知识  1、  STM32F103ZE有5个时钟源:HSI、HSE、LSI、LSE、PLL。   ①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。    ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时              钟源,频率范围为4MHz~16MHz。    ③、LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功耗时

2014-05-18 10:40:25 2642

原创 keil 中的一些设置

option for target 'target 1' 中:第3选项output: select folder for objects :此选项是选择编译时产生的以希望文件,点击选择路径,不然这些文件就会生成并保存在和项目文件.prov 同个文件下,导致项目文件不好找。第4选项listing:也是同第3选项同样原理。 第6选项c/c++:在include paths 设置h文件路

2014-05-18 10:31:10 2809

原创 STM32学习笔记1-软件安装

今天收到自己买的STM32F103ZE为主芯片的开发板,标志着我正式进入实践阶段,之前看了不少ARM的资料,都是零零散散的,也没有什么系统的总结,总觉得美誉找到真正的感觉。好了,废话少说,以下是我今天收到开发板后的学习总结。       由于还不清楚什么如何运作,就按照提供的资料的视频一步一步做: 第1步:上电检测开发板是否正常。第2步:安装驱动和软件。     驱动:JLINK驱

2014-05-18 10:07:03 1161

原创 STM8S 独立看门狗配置及使用

//独立看门口的时钟来源 内部低速时钟 128khz 除以2 即64khz//选择 IWDG_Prescaler_128//64/256 =0.5 khz 2ms周期#define IWDG_500MS_REST (uint8)250#define IWDG_400MS_REST (uint8)200#define IWDG_300MS_REST (uint8)15

2014-05-17 11:25:02 10771

原创 编译器 STVD 与 IAR 的区别 个人体验

编译器 STVD 于IAR1:全局查找功能:STVD:全局查找功能全局查找功能比较麻烦,有3个动作。IAR:有全局查找功能比较方便,只要一个动作,和KEIL一样。2:编译时间STVD:相对比较慢。IAR:相对快点。因为IAR可以分两个工程文件放置,编译时候我们可以只要编译更改的工程文件就可以了。因此就不用将所有文件都编译一次,以此省一点时间。

2014-05-17 10:20:07 10551

原创 STM8S EEPROM 操作

STM8S 内置EEPROM,对于很大需要带记忆的产品来说,是个很好的资源,以下是我个人摸索出来的,并且验证OK,大家如需要可放心使用。 #define EEPROMADDR0X000 ((u32)(FLASH_DATA_START_PHYSICAL_ADDRESS)) #define EEPROMADDR0X001 ((u32)(FLASH_DATA_START_PHYSICA

2014-05-17 10:06:23 3682

原创 IAR 编译时无法找不到头文件的设置

刚开始使用IAR的朋友,可能会遇到这样的文件,

2014-05-17 09:01:09 14341 2

原创 stm8s 时钟库函数选择内部RC初始化

//本文选择16M内部RC震荡,分频为1 即系统时钟为16Mvoid CLK_HSICmd(FunctionalState NewState){ /* Check the parameters */ assert_param(IS_FUNCTIONALSTATE_OK(NewState)); if (NewState != DISABLE) {

2014-05-17 08:08:16 4798

原创 使用IAR编译STM8S 如何生产烧录文件

IAR编译后可以生成的烧录文件格式有4中,如下第一种是Motorola,其生成文件和STVD生成烧录文件.s19格式一样的,即可以通用第二种是16进制,keil等等常都用到的;第三种是二进制的,个人比较少用第四种是??我也没有用过。IAR中格式选择:按图指示:I至此,重新编译,即可生成想要的

2014-05-16 16:22:35 10922 3

原创 STM8S TIM4库函数应用

void TIM4_TimerInit(u8 Timer4Time){ assert_param(IS_TIM4TIMERTIME_OK(Timer4Time)); TIM4_DeInit();//复位TIM4所有参数 TIM4_TimeBaseInit(TIM4_PRESCALER_16,Timer4Time);//16M/16= 1M CYCLE=1/1=1U 100us

2014-05-16 14:48:15 3349 2

原创 STM8S TIM1库函数应用

个人觉得ST的库函数用起来还是挺不错的,之前都是使用自己写的函数,容易改出错,以下是验证过的,TIM1定时100微妙中断一次。void TIM1_TimeBaseInit(u16 TIM1_Prescaler, TIM1_CounterMode_TypeDef TIM1_CounterMode,

2014-05-16 14:44:28 7556

原创 使用 stvd 编译STM8S 时能看到使用RAM ROM大小的方法

刚刚安装的STVD编译器,编译时候不显示用了多少RAM和ROM?对于此问题,有两个方法:一是看.map文件 另一种是 怎加一个补丁,具体操作如下,可以在我的资源里下载相应的文件。网上找到的:1. 将附件压缩包中的mapinfo.exe解压到stvd的\安装路径\STMicroelectronics\st_toolset\stvd中;2. 用stvd打开你的工程文件,在工程上点右

2014-05-15 11:26:21 7485 1

原创 NTC 家电中的应用2 加热比 温度补偿

其中一种方法:温度补偿,如果应用好的话,控制的温度也是比较准的。另外一种方法:利用加热比来控制,其效果也不错,就是需要一定的调试时间。

2014-05-13 09:01:30 2500

原创 NTC 家电中的应用1

NTC应用很广,特别是家电产品中,基本上凡是涉及到温度控制的都会选择它。本人应用的的产品有打奶器,电烤箱,油炸锅,咖啡机,直发器,暖风机和电壁炉,虽然应用广,但都是千篇一律。其中最主要的要点是应用中NTC有滞后性,即外部环境温度变化比NTC自身变化快,比如外部环境在3秒内降下5°,NTC可能下降4°甚至没有变化。       对此,为了让我们要控制的温度比较接近要求,我们就得进行一些处理,当然

2014-05-12 11:41:54 1501

原创 NTC的一些知识

NTC负温度系数热敏电阻工作原理NTC是Negative Temperature Coefficient 的缩写,意思是负的温度系数,泛指负温度系数很大的半导体材料或元器件,所谓NTC热敏电阻器就是负温度系数热敏电阻器。它是以锰、钴、镍和铜等金属氧化物为主要材料, 采用陶瓷工艺制造而成的。这些金属氧化物材料都具有半导体性质,因为在导电方式上完全类似锗、硅等半导体材料。温度低时,这些氧化物材

2014-05-12 11:28:43 3583

原创 常见按键LED复用电路图

比较常用的电路图,当是保存一下吧

2014-05-12 11:23:30 6451 1

LV8728步进电机控制芯片.pdf

步进电机驱动芯片,应用多,感觉还不错,是个好东西,可设置行进步伐大小 ,脉冲接口 ,可正反向,工作电压范围宽,一般上手快

2020-09-19

FM1906.pdf

FM1906 是52 点、内存映象和多功能的LCD 驱动器,FM1906 的软件配置特性使它适用于多种LCD 应用场合, 包括LCD 模块和显示子系统。用于连接主控制器和FM1906 的管脚只有4 条,FM1906 还有一个节电命令用于降 低系统功耗。

2020-09-16

STM8S903K3

STM903K3资源介绍

2017-04-28

STM8S编程手册

便于STM8S开发

2017-04-28

波长频率计算器

波长频率计算器,无线的产品应该会用到,不错,制作天线可以参考。

2014-06-23

数码管生成工具

数码管生成工具,可以生成代码,用起来挺好的,在此推荐下。

2014-06-23

串口调试助手

串口调试助手,不是自己写的,用得还行,和各位一起分享下。

2014-06-23

stm8代码生成器(IAR)

stm8代码生成器,主要配合IAR使用,IO,时钟,定时器,中断初始化

2014-05-29

stm8的功耗管理笔记

stm8的功耗管理笔记,介绍比较详细,不错

2014-05-29

新建一个IAR工程演示

新建一个IAR工程演示,从零开始建立一个IAR工程,以STM8为例子

2014-05-29

NTC数据表工具

NTC数据表工具,用于生成表格数据,可以设置上拉或者下拉电阻大小,可以设置温度生成范围。

2014-05-29

CH340驱动(USB串口驱动)

用于CH340驱动 USB串口驱动 ,可用于开发ARM STM32 ,操作系统 兼容WIN7/WIN XP

2014-05-18

IAR编译STM8S 输出烧录文件格式选择 图片指示

IAR编译STM8S 输出烧录文件格式选择 .s19 .hex

2014-05-16

STVD编译器 看RAM字节补丁

刚刚安装的STVD编译器,编译时候不显示用了多少RAM和ROM?对于此问题,有两个方法:一是看.map文件 另一种是 怎加一个补丁,此补丁可以满足此要求,具体操作如 http://blog.csdn.net/chuangwu2009/article/details/25879643

2014-05-15

TM1620 LED驱动

TM1620是一款数码管驱动集成IC,8段6位,

2014-03-11

CT1642 集成IC,驱动数码管

集成IC---CT1642 驱动数码管,4位8段,最多可以接8个按键

2013-12-26

linux内核u-boot

刚刚接触,保存在这里,同时如有同志需要,可以共享。

2013-08-24

程序员面试宝典(全

好东西,和大家分享下,觉得还可以,看看也无大碍。

2013-08-17

彻底搞定C指针

比较详细的介绍C指针,和朋友们一起分享下,希望对大家有点用。

2013-08-17

c和h的联系

这是一位牛人的经验,供大家一起参考下,声明一下:牛人非本人。 这是HR面试我的一道题,没技术上含量,不过细想起来,还是C语言的最基本的知识!俗话说,目标决定动力,细节决定成败! C文件就是C语言系列的源文件,而H文件则是C语言的头文件,即C系列中存放函数和全局变量的文件,因为C中的函数是被封装起来的,即无法看到其代码。 子程序不要定义在*.h中。函数定义要放在*.c中,而*.h只做声明.否则多引用几次,就会发生函数重复定义的错误。*.h只做声明,编译后不产生代码。这样做目的是为了实现软件的模块化,使软件结构清晰,而且也便于别人使用你写的程序。

2013-07-27

你必须知道的495个C语言问题

主要介绍常见问题和程序员容易误导的地方,对编程者有很大的帮助,有时可能就因为一点点的问题而导致致命的问题,也许你就这里能找到.

2013-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除