lhj 发表于 2023-11-9 14:49:45

前面的汇编听的还是比较吃力的,因为一开始就是接触C语言的,对C还是比较熟悉,整体来说,对运算算法不太了解,确切说是不熟悉,有些运算程序看不太懂,还有一个就是逻辑也不是太明了,这两个方面还是要加强学习,

lhj 发表于 2023-11-9 15:37:40

第十一讲,单片机C语程序设计导入,终于回到C语言了,相对汇编要轻松一点, 之前我开发的一款USB串口键盘用的是STC15W4第列的芯片,最大的亮点就是防解密,我还专门问了下之前帮我们解密芯片的人,他说解不了,哈哈,STC做的确实可以,有时候我们很奇怪,希望自己设计的产品上市后别人破解不了,又希望能解密别人设计的好的产品来缩短新开发周期,STC15系列完美解决。言归正转,学习十一讲的知识点。

C51 对ANSI C的扩展
            加了19个关键字 常用的有_at_          (这个常用吗?)
                                                sbit            常用于定义引脚
                                                sfr             特殊功能寄存器
                                                bit             位变量
                                                xdata         拓展RAM
                                                code          code FLASH 区域
                                                interrupt   中断

            变量类型
                        新增bit      位型         1bit         0/1
                                  sbit                         1               0/1
                                  sfr                        8               0x80~0xff
                                  sfr16                     8               0x80~0xff


                        bit 不能声明指针 不能做数组
                        sbit 在可独立访问位寻址的位
                        sfr 用来控制定时/计数器 串口 io
                               sfr P0=0x80;
                               sbit cy=psw^7
            内存区域的制定
                      code常数,可用于保存数码管码表
                      RAM
                           data   直接寻址低 128 BYTE
                           idata间接寻址RAM 256 BYTE
                           bdata位寻址   20H~FH
            外部数据存储器
                           xdata外部RAM 大数组可用,
                           pdata    别用!!! 8032时代选页的,pdata与xdata有冲突
            指针
                     一般和ANSI C一样
                     很重要,很灵活      
                     硬件相关寄存器指针需要使用volatile 保证不被优化





lhj 发表于 2023-11-9 15:41:19

运算这块要好好学一下,夯实基础!

lhj 发表于 2023-11-9 15:55:24

第十二讲,C语言设计程序导入二,本章节主要学习了闪灯程序和Flsh操作,闪灯的这个理解没问题,之前也学过,Flash操作这个之前没有接触过,到时候收到实验箱要对着视频实际操作一下,加深一下印象。学习例程官网都有,就不上传了。




lhj 发表于 2023-11-10 11:48:47

C语言中的运算符(超全超详细)   今天学习开天斧开发板例程,学到运算,专门找了下资料,发出来供新手学习,一起进步。 目录一、算数运算符二、关系运算符三、逻辑运算符四、位运算符五、赋值运算符六、三目运算符(特殊运算符)七、逗号运算符八、sizeof运算符九、运算符优先级基本的五种1.   + 可以是: 常量+常量 , 变量+常量2.   -3.   *4.   /      5/ 2 = 25.   %    取余      5 % 2 = 1其中   :    自增运算符(++) 自减运算符( --)只能变量使用   如: NUM++;   i++ 先用再加++i先加再用注意事项1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除 法。3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。>>=<<=!=   用于测试“不相等”==   用于测试“相等”=      用于赋值注意:在编程的过程中一定要注意   == 和   =   的区别&&逻辑与       理解为: 即 怎么又 怎么               一假全假,全真为真||      逻辑或   理解为:   要么 怎么 要么 怎么      一真为真, 全假为假逻辑非   真取假假取真截断特性:逻辑与左边为假,右边不在读取计算               逻辑或左边为真,右边不在读取计算& //按位与    与0得0|         //按位或    或1得1^//按位异或   相同为0,相异为1注:他们的操作数必须是整数。>>       右移      //缩小<<      左移       //放大,左移N位,乘以2^N+=-=*=/=%=>>=<<=&=|=^=这些运算符都可以写成复合的效果。int x = 10;x = x+10;x += 10;//复合赋值//其他运算符一样的道理。这样写更加简洁。exp1 ? exp2 : exp3exp1若为真,则执行exp2,否则执行exp3exp1, exp2, exp3, …expN逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最 后一个表达式的结果。sizeof(数据类型/变量)                  //获取数据类型/变量再内存中的所占字节数括号>   单目运算符>   算术运算符>   移位运算符>   关系运算符   >位运算符>   逻辑运算符   >三目运算符 >赋值运算符>    逗号运算符当运算符优先级一致时,参考结合方向

lhj 发表于 2023-11-10 12:03:45

第十三讲,中断原理和工作机制,本章节主要学习了单片机的中断原理,STC8HK64U共有44个中断源,还学习了解了中断源的控制以及中断标断位等等。需要在实际应用中熟悉加深印象。
中断
            单片机执行其他程序 , 出现某些异常事件或请求,cpu 中止,转去执行异常事件,执行完毕,返回继续执行。
      中断源
            cpu中断请求源
      中断响应
            cpu暂停工作转去处理中断源事件
      中断服务
               处理工程
         中断返回
               处理完返回中断的地方
         中断优先级
   低优先级会挂起LCALL
         保护现场
               PUSHPOP 指令 堆栈操作实现
         堆栈
               先进后出
               SP 指向栈顶
            中断撤除
                中断请求标志位擦除,有的会自己擦除
            中断源
               stc8h44个




lhj 发表于 2023-11-10 12:51:25

第十四讲,中断原理及工作机制二,紧接上一讲,本讲学习了中断标志位,优先级处理等

中断标志位
               PCON
                   LVDF   低电压检测 不开中断也可以读
               SPI
                   SPSTAT 传输完成置位
               ADC
                   ADC_CONTR   A/D转换结束标志位
                                        需要软件清0
               中断允许,禁止,优先级
               IE 0A8H

               EA总中断
                     0关闭
                     1开放
                ELVD 低压检测
                EADC A/D
                ES   串口1
                ET1    定时器1
                EX1    INT1
                ET0    T0
                EX0    INT0

               优先级
                  00 01 1011对应1234 级
                  先高后低 停低转高 高不睬低

lhj 发表于 2023-11-10 15:22:30

第十五讲,定时器原理及STC扩展,学习整理如下,理论已经学了,还需多加练习,在实践中运用,慢慢提高



          定时器结构
               功能 : 定时或计数
                           分频
                           可编程输出
                           串口波特率发生器
                        一般结构   
                        系统/外部来的时钟 让计数器加1 加满了就中断   


         工作模式 4种
                         常用16位自动重载/不可中断的16位自动重载定时器寄存器
            TMOD
                         GATEC/TM1M0    GATEC/T   M1M0
                  
                            M1M0   
                            0      0          模式0 16位自动重载
                            1      1          模式3 最高中断优先级的16位自动重载
      
                                 记住这两个模式就行

                            C/T      1 计数器
                                       0 定时器
                            GATE   1~INTn搞 且 TRn置位 启动
                                    0   TRn 置位 启动
            TCON

                         TF1TR1 TF0TR0IE1IT1IE0IT0

                         TF1/0       中断标志位 自动清
                        
                         TR1/0      开关 置1启动

                         后面4位是外部中断的
            
            AUXR
                         T0x12T1x12UART_M0x6T2RT2_C/TT2x12EXTRAMS1T2
                        
                         T0x12/T1x12   0 12分频
                                             1 不分频
                        TR2                定时器 2开关 置1启动
                        T2_C/T            0T2 12个时钟计数1次
                                                1   T21个时钟计数1次
                        UART_M0x6   串口速度
                           S1ST2            波特率发生器选择位
             T4T3M
                         T4RT4_C/T    T4x12T4CLKOT3RT3_C/TT3x12T3CLKO
                        
                        T4/T3CLKO时钟输出开关置1开启


lhj 发表于 2023-11-10 15:39:46

本帖最后由 lhj 于 2023-11-10 15:41 编辑

STC 8H8K64U的硬件仿真也是很好用的

lhj 发表于 2023-11-11 08:44:00

lhj 发表于 2023-11-4 09:55
第二讲学习了keil新建工程,了解STC IO 口状态代码,也可以直接用STC ISP生成IO口配置代码,直接复制粘贴到 ...

STC ISP IO配置
页: 1 [2] 3
查看完整版本: 【试验箱已收到】看视频学习STC8H8K64U心得