日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

运筹帷幄

發布時間:2023/12/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 运筹帷幄 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

模塊驅動


基礎模塊:
74HC573 + Beeper(有源)
LED
SEG
KBD
Timer/Counter
UART

DS18B20
DS1302

AT24C02
PCF 8591


進階模塊:

UltraSonic
1838 Infrared
NE555
LCD1602


外傳:

MM&&IO編程
PWM


方法論


- 轉接板


- SEG

  • 板子是共陰極數碼管,碼表比賽會給出,無需背誦。
  • 消隱 —— 位選 —— 段選 簡稱:ECE
  • 0x80是MSB,以static index 做引導,記得index++和index &= 0x07

- KBD

  • 接口為:OUT:0、1、2、3;IN:4、2、4、5
  • KBD_Buff[4][4]用于判斷按鍵狀態4*4的0xFF
  • switch控制掃描,KBD_Buff移1位| KEY_IN
  • & 0x0F == 0x0F :沒有按下 & 0x0F == 0x00 :按下了
  • 按下時有效的的按鍵:在判斷的時候加Flag,和KBD_Sta[4][4]一起變化
  • KBD_Sta[4][4] 和KBD_Before[4][4]對比:先是不一樣,后是KBD_Before != 0

- Timer/Counter + UART + INTR

中斷復習:(IT IT U)
interrupt0:INTR 0
interrupt1:Timer 0
interrupt2:INTR 1
interrupt3:Timer 1
interrupt4:UART

EA:總中斷允許
ETx:定時器x中斷溢出允許
EXx:外部中斷INTx溢出允許
ES:UART中斷允許

Timer/Counter

  • 記得開ET、EA
  • T0用于全局計時,T1用于UART或PWM
  • 記得重裝初值

UART

  • 發送寄存器SBUF、接收溢出位RI、發送溢出位TI

INTR

  • 在板其實沒啥用,一般為低電平或下降沿觸發

- OneWire (先低后高) @ (OneWire_Port = P14)

  • 強時序,每次操作關EA
  • 在線判斷:480μs的低電平 + 15μs的高電平,讀18B20返回的低電平
  • 寫:2μs低 + 10μs信號 + 拉高總線
  • 讀:1μs低1μs高(上升沿)+ 10μs信號
  • 0xCC跳ROM,0x44更新,0xBE讀16位數據
  • 讀出溫度是16位補碼

- DS1302 (先低后高) @ (CE = P13、IO = P23、SCLK = P17)

  • 上升沿前寫,下降沿后讀

  • 復位是 CE = 0,SCLK = 0

  • 寫:(addr<<1) | 0x80、讀:(addr<<1) | 0x81

  • 所有讀操作,最后一定要將DS1302_IO = 0

  • 0xBE可快寫,0xBF可快讀,記得指針++后用

  • 初始化先向7號寄存器中寫0x00,消除寫保護

  • 寄存器1-7:年、周、月、日、時、分、秒


- IIC(先高后低) @ (SCL = P20、SDA = P21)

  • IIC_Start 和 IIC_Stop都是SDA - SCL - SDA
  • Transmit_Ack是SDA - SCL - SCL
  • IIC_Write 是bit,返回取反的SDA,SCL先0后1。接收Ack時,斷SCL,釋放SDA,開SCL;再讀SDA,斷SCL。&mask發1位。
  • IIC_Read先將釋放SDA,SCL先1后0。|= mask發1位。

- AT24C02 @ IIC

  • 地址:0xA0,奇讀偶寫
  • 連續讀:do-while呼叫0xA0,寫Word地址,接起始信號,接0xA1,讀1個Byte,發1個Ack,最后一個發Stop
  • 連續寫:do-while呼叫0xA0,寫Word地址。若地址&0x07后為0,便要重新進行這一過程,防止蓋頁

- PCF8591 @ IIC

  • 地址:0x90,奇讀偶寫
  • 兩次讀才是實時值
  • VCC擴大10倍為50

- 寫法

  • 抽象硬件,把相同硬件的不同操作(如不同流水燈模式)抽象成同一入口,通過程序多次調用進入,每次只做一件事,速度快了就像一個連貫的過程了。

BUG

  • 外部調用 的變量一定要在.h文件中用extern聲明

總結

以上是生活随笔為你收集整理的运筹帷幄的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。